Buscar

SISTEMAS OPERACIONAIS AULAS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 240 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 240 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 240 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SISTEMAS OPERACIONAIS PARA REDES
Prof. Luiz di Marcello
Aula 1 – Fundamentos de Sistemas Operacionais 
OBJETIVOS DA AULA
❖ Descrever as funções e componentes de um sistema
operacional
❖ Explicar a evolução histórica dos sistemas operacionais
❖ Diferenciar os tipos de sistemas operacionais
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
O Hardware e o Sistema Operacional
✓ Você comprou os componentes e montou o computador
✓ Você o ligou na tomada e pressionou o botão POWER
✓ Ele começa a inicialização do sistema e… o computador
não está “operacional” para utilização
✓ Falta instalar o Sistema Operacional
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
✓ Montar o hardware: conexão 
dos componentes físicos
✓ Ligar na tomada: energização 
da placa-mãe e componentes
✓ Ocorre o boot: série de 
processos responsáveis pela 
inicialização do computador
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
https://www.tecmundo.com.br/aumentar-desempenho/11266-como-
funciona-o-boot-de-um-computador.htm
O Hardware e o Sistema Operacional
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
O que é um Sistema Operacional? 
✓ Conjunto de programas indispensáveis ao funcionamento do 
computador, que serve de interface (ligação, elo) entre o 
homem e a máquina
✓ Conjunto de rotinas executadas pelo processador, que 
controla o funcionamento do computador, como um gerente 
dos vários recursos disponíveis no sistema
✓ Conjunto de programas responsável pela gerência de 
recursos de hardware, segurança de acesso e utilização e 
interface com os usuários
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
USUÁRIOS
H
A
R
D
W
A
R
E
UCP
DISPOSITIVOS
DE E/S
MEMÓRIA
PRINCIPAL
PROGRAMADORES
SISTEMAS E APLICATIVOS
BANCOS DE DADOS
OUTROS USUÁRIOS
▪ MS-DOS
▪ WINDOWS 3.11, 95/98, XP, VISTA, 7, 8, 10
▪ LINUX (MANDRIVA, UBUNTU, FEDORA)
▪ MAC-OS X El Capitan
▪ iPhone OS10, Android 7, Windows 10 Mobile
SISTEMA
OPERACIONALSO
FT
W
A
R
E
✓ Computadores baseados em válvulas: ENIAC, 18 mil 
válvulas, 30 toneladas, consumo de140KW; EDVAC; 
UNIVAC I, censo americano
✓ Ausência de sistema operacional: 
programação feita por painéis, 
através de fios, sem uso de 
linguagens de programação
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Histórico: 1ª Geração (1945-1955)
✓ Criação do transistor (maior velocidade e confiabilidade no 
processamento, menor dissipação de energia) 
✓ Seqüenciamento da execução dos programas, sem 
intervenção do operador, conhecido como processamento 
BATCH (em lote): perfuração das instruções em cartões e 
processamento do JOB utilizando-se fita magnética
✓ Surgimento das primeiras linguagens de programação: 
Assembly e Fortran
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Histórico: 2ª Geração (1955-1965)
✓ Criação dos circuitos integrados (CIs) e, posteriormente, dos 
microprocessadores
✓ Utilização da técnica de compartilhamento da memória 
(partições) e do processador denominada multiprogramação, 
permitindo processamento time-sharing
✓ Substituição das fitas por discos magnéticos, possibilitando 
execução mais rápida e a alteração na ordem de submissão 
dos programas em lote (spooling)
✓ Surgimento em 1969 do sistema operacional UNIX
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Histórico: 3ª Geração (1965-1980)
✓ Miniaturização e barateamento dos computadores através 
da integração cada vez maior dos componentes
✓ Surgimento dos microcomputadores pessoais (PCs) e do 
sistema operacional DOS (Disk Operating System)
✓ Sistemas multiusuário e multitarefa, permitindo a execução 
de diversas tarefas de forma concorrente
✓ Equipamentos com múltiplos processadores
✓ As redes de computadores se difundiram por todo mundo: 
sistemas operacionais de rede
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Histórico: 4ª Geração (1980 até hoje)
✓ Grandes avanços de hardware (microeletrônica), software e 
telecomunicações
✓ Processadores e memórias cada vez menores e mais baratos
✓ Processamento distribuído em sistemas operacionais
✓ Computação móvel, sistemas operacionais dos celulares
✓ Novas interfaces homem/máquina, sistemas multimídia, 
bancos de dados distribuídos e inteligência artificial
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Histórico: 5ª Geração (????)
Classificação: Monotarefa (Monoprogramado)
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
✓ Todos os recursos do computador (UCP, memória principal e 
dispositivos de E/S) ficam dedicados a um único 
usuário/programa até a conclusão de sua execução
✓ O sistema operacional só é capaz de controlar/gerenciar um 
programa de cada vez
✓ São de simples implementação, se comparados a outros 
sistemas, não havendo muita preocupação com problemas 
de proteção, pois só existe um usuário/programa utilizando-o
Classificação: Multitarefa (Multiprogramado)
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
✓ Os recursos da máquina são alocados de modo dinâmico 
entre o número de programas ativos de acordo com o nível 
de prioridade ou o estágio de execução de cada um dos 
programas
✓ O sistema operacional gerencia o acesso concorrente aos 
seus diversos recursos, de forma ordenada e protegida
✓ São mais complexos e eficientes do que os sistemas 
monotarefa, já que vários programas utilizam os mesmos 
recursos
Classificação: Multitarefa (Multiprogramado)
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
✓ Existem vários tipos de processamento (gerência/interação 
com usuários) nesse tipo de sistema:
❖ BATCH (LOTE) - Os programas quando executados 
são armazenados em disco ou fita, onde esperam para 
serem “atendidos”. Normalmente, esses programas 
(jobs) não exigem interação com os usuários
Classificação: Multitarefa (Multiprogramado)
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
✓ Existem vários tipos de processamento (gerência/interação 
com usuários) nesse tipo de sistema:
❖ TIME-SHARING (TEMPO-COMPARTILHADO) - O 
sistema operacional aloca uma “fatia de tempo” (time-
slice) do processador para cada usuário. Caso o 
programa do usuário não esteja concluído nesse intervalo 
de tempo, ele é substituído por um de outro usuário, e fica 
esperando por uma nova fatia de tempo. Permitem a 
interação dos usuários com o sistema
Classificação: Multitarefa (Multiprogramado)
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
✓ Existem vários tipos de processamento (gerência/interação 
com usuários) nesse tipo de sistema:
❖ REAL-TIME (TEMPO-REAL) - Enquanto em sistemas 
de tempo compartilhado o tempo de resposta pode variar 
sem comprometer as aplicações, nos sistemas de tempo 
real os tempos de resposta devem estar dentro de limites 
rígidos. Não existe a ideia de fatia de tempo, um 
programa executa o tempo que for necessário, ou até que 
apareça outro prioritário em função de sua importância
executa espera espera
Tempo
MONOTAREFA
Tempo
MULTITAREFA
espera esperaPrograma A
espera esperaPrograma B espera executaexecuta
executaexecuta
CONCORRENTE ≠ SIMULTÂNEO
executaPrograma A
Classificação: Compartilhamento de recursos
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Classificação: Suporte aos usuários
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
MONOUSUÁRIO
USUÁRIO = GENTE e NÃO PROGRAMA!
TODO SISTEMA MULTIUSUÁRIO É 
OBRIGATORIAMENTE MULTITAREFA
MULTIUSUÁRIO
SIGNIFICA MAIS DE UMA PESSOA 
NO MESMO SISTEMA INTERAGINDO 
SIMULTANEAMENTE
Classificação: Sistemas Multiprocessados
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
✓ Possuem mais de um processador, sendo que estes podem 
compartilhar o mesmo sistema operacional, ou cada um pode 
possuir o seu próprio sistema
✓ Permitem que vários programas sejam executados ao 
mesmo tempo, simultaneamente
✓ Possibilitam aumentar a capacidade computacional 
(escalabilidade), disponibilidade (sistema continua o proces
samento, mesmo se um dos processadores falhar) e balan
ceamento de carga (distribuição da carga de processamento)
Classificação: Sistemas Multiprocessados
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
✓ Existem diferentes formas de comunicação entre esses 
processadores e também diferentes graus de compartilha
mento da memóriaprincipal e dos dispositivos de E/S:
❖ Fortemente acoplados – dois ou mais processadores 
compartilhando uma única 
memória e controlados por 
apenas um único sistema 
operacional (ex.: multicore)
Classificação: Sistemas Multiprocessados
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
✓ Existem diferentes formas (...) dos dispositivos de E/S:
❖ Fracamente acoplados – caracterizam-se por possuir dois 
ou mais processadores conectados e com funcionamento 
independente (multicomputadores). Podem ser 
controlados por sistemas 
operacionais diferentes
(ex.: cluster)
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
✓ O Sistema Operacional proporciona o ambiente no qual os 
programas são executados e é composto por um conjunto de 
rotinas, conhecido como o núcleo
✓ Ele reage às chamadas de sistemas (system calls) e executa 
os seus procedimentos de forma concorrente, sem seguir 
uma ordem estabelecida, com base em eventos assíncronos
✓ A interface entre o Sistema Operacional e os programas dos 
usuários é definida por um conjunto de instruções 
denominado chamadas de sistema (system calls)
Estrutura do Sistema Operacional
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
✓ As chamadas ao sistema (system calls) fornecem a interface 
entre os processos e o sistema operacional
✓ Constituem o mecanismo de proteção ao núcleo do SO e 
também de acesso aos seus serviços, como se fossem as 
portas de entrada para os processos
Estrutura do Sistema Operacional: System Calls
Estrutura do Sistema Operacional: Componentes e Funções
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciador
de Processos
Gerenciador
de Memória
Gerenciador
de Disco
Gerenciador
de Rede
Gerenciador
de E / S
Gerenciador
de Arquivos
Sistema de
Proteção
Sistema Interpre
tador de Comandos
SISTEMA
OPERACIONAL
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista 
em Sistemas Abertos e Mestre em Educação. Atualmente, é 
Coordenador (Graduação e Pós-Graduação), Professor adjunto e 
Tutor da Universidade Estácio de Sá. Tem experiência na área de 
Ciência da Computação, com ênfase em Arquitetura de Sistemas 
de Computação e Tecnologias da Informação e Computação, e 
também na área de Educação, com ênfase em Tecnologias de 
Informação e Comunicação nos Processos Educacionais
✓ http://lattes.cnpq.br/6477530917342363
Prof. Luiz di Marcello Senra Santiago
SISTEMAS OPERACIONAIS PARA REDES
Prof. Luiz di Marcello
Aula 2 – Processos
OBJETIVOS DA AULA
❖ Descrever as características de um processo
❖ Identificar os estados de um processo
❖ Diferenciar aplicativos e serviços
PROCESSOS
✓ Instância de um programa em execução
✓ É a unidade de carga e alocação de uma tarefa
✓ Um programa é carregado para a memória principal, 
onde aloca-se uma área para código e dados
PROCESSOS
Conceito 
✓ Para que a concorrência entre os programas ocorra é 
necessário que as informações do programa interrompido 
sejam guardadas para continuação do processamento 
posterirormente
✓ Estas informações são fundamentais para que o sistema 
operacional gerencie a execução concorrente de programas, 
base de um ambiente multiprogramável
✓ O processo é esse conjunto necessário de informações 
PROCESSOS
Estrutura do Processo 
PROCESSOS
Estrutura do Processo 
✓ O processo é o ambiente 
onde um programa é 
executado
✓ O processo é formado 
por três partes que 
mantêm as informações 
necessários à execução 
de um programa
✓ Os estados de um processo representam sua situação atual, 
ao longo do seu processamento
✓ A mudança de estado é uma transição
✓ Um processo ativo pode assumir três diferentes estados: 
execução (running), pronto (ready), espera/bloqueado (wait)
✓ Além desses três, a maioria dos sistemas estabelece estados 
para os momentos de criação (novo) e eliminação (saída) 
PROCESSOS
Estados do Processo 
PROCESSOS
Estados do Processo: Modelo de 5 Estados 
NOVO
Admissão
Ocorrência
do evento
Dispatch
Liberação
Time-out
Espera do
evento
PRONTO EXECUÇÃO
FIM
ESPERA
PROCESSOS
Estados do Processo: Transições
INICIO → PRONTO: ocorre apenas na admissão
PRONTO → EXECUÇÃO: ocorre quando o processo é 
selecionado para execução, segundo critérios pré-
definidos pelo sistema operacional
EXECUÇÃO → PRONTO: ocorre quando o processo é 
interrompido e um novo processo será 
selecionado
PROCESSOS
Estados do Processo: Transições
EXECUÇÃO → ESPERA: ocorre quando o processo deve 
aguardar um recurso
ESPERA → PRONTO: ocorre quando a solicitação de recurso 
é atendida
EXECUTANDO → FIM: término do programa
PROCESSOS
Criação de um Processo 
Quando ocorre?
✓ Quando executamos um programa
✓ Quando um usuário acessa o sistema
✓ Quando um processo gera um processo-filho
✓ Atribui um identificador único => Aloca uma entrada na 
tabela de processos => Aloca espaço para o processo => 
Inicializa o PCB (Process Control Block) => Coloca o processo 
na fila apropriada => Cria estruturas auxiliares
Quais são as etapas?
PROCESSOS
Troca de Contexto
✓ É a substituição do processo em execução
✓ Quando ocorre a preempção ou interrupção de algum tipo, ou 
mesmo que um processo solicita E/S, um novo processo é 
selecionado para execução (escalonado)
✓ O processo interrompido tem seu contexto salvo e o novo 
processo irá iniciar a execução, tendo seu contexto lido
PROCESSOS
Troca de Contexto
✓ Processos CPU-Bound (ligado à CPU): São processos que 
passam a maior parte do tempo em estado de execução, ou 
seja, utilizando o processador. Realizam poucas operações 
de E/S
✓ Processos I/O-Bound (ligado à E/S): São processos que 
passam a maior parte do tempo em estado de espera, pois 
realizam um elevado número de operações de E/S
PROCESSOS
Tipos de Processo: processamento que realizam
✓ Observem as diferenças nos gráficos abaixo:
PROCESSOS
Tipos de Processo: processamento que realizam
✓ Processos em foreground: Permite a comunicação direta do 
processo com o usuário durante sua execução. Em geral o 
canal de entrada está associado ao teclado/mouse e de 
saída a um monitor
✓ Processos em background: Não existe interação direta com 
o usuário. Os serviços ativos no Windows, por exemplo, são 
processos em segundo plano
PROCESSOS
Tipos de Processo: interação com o usuário
Um processo
Um thread
Múltiplos processos
Um thread por processo
Um processo
múltiplos threads
Múltiplos processos
Múltiplos threads por processo
PROCESSOS
THREADS: O que são?
✓ São fluxos de execução distintos dentro de um mesmo 
processo: 
PROCESSOS
THREADS: Benefícios e características
✓ Capacidade de resposta: numa aplicação interativa, parte 
do programa pode continuar executando, enquanto outra 
parte está em espera, por exemplo, realizando uma 
operação de E/S
✓ Compartilhamento de recursos: compartilham o código, os 
dados e os arquivos do processo ao qual pertencem
✓ Economia: É muito mais rápido criá-las e permutar seus 
contextos, quando comparadas aos subprocessos
✓ Escalabilidade: realização em paralelo de threads de um 
mesmo processo em sistemas multiprocessados
PROCESSOS
THREADS: Benefícios e Características
✓ Compartilham o mesmo contexto
de software e espaço de 
endereçamento com os demais, 
porém cada thread possui seu
contexto de hardware
✓ O TCB (Thread Control Block) 
armazena o contexto de hardware 
e algumas informações exclusivas* 
ao thread (prioridade, estado e bits 
de estado)
✓ Disponível em http://www.training.com.br/sosim/
CRIAR PROCESSOS
PROCESSOS
Simulador SOSIM: Entendendo melhor
PROCESSOS
Simulador SOSIM: Entendendo melhor
PROCESSOS
Simulador SOSIM: Entendendo melhor
✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista 
em Sistemas Abertos e Mestre em Educação. Atualmente, é 
Coordenador (Graduação e Pós-Graduação), Professor adjunto e 
Tutor da Universidade Estácio de Sá. Tem experiência na área de 
Ciência da Computação, com ênfase em Arquitetura deSistemas 
de Computação e Tecnologias da Informação e Computação, e 
também na área de Educação, com ênfase em Tecnologias de 
Informação e Comunicação nos Processos Educacionais
✓ http://lattes.cnpq.br/6477530917342363
Prof. Luiz di Marcello Senra Santiago
PROCESSOS
SISTEMAS OPERACIONAIS PARA REDES
Prof. Luiz di Marcello
Aula 3 – Gerência do Processador
GERÊNCIA DO PROCESSADOR
OBJETIVOS DA AULA
❖ Descrever o funcionamento do escalonador
❖ Diferenciar políticas preemptivas de não-preemptivas
❖ Identificar as políticas de escalonamento
GERÊNCIA DO PROCESSADOR
Escalonador e Escalonamento 
✓ O processador (UCP) é o componente do computador que 
realiza (executa) as instruções dos programas
✓ Com a possibilidade da UCP ser compartilhada entre 
diversos processos (multiprogramação), o SO possui 
critérios para realizar a seleção do(s) processo(s) que serão 
executados, ou seja, aquele(s) que irão transitar do estado 
de PRONTO para o estado de EXECUÇÃO
*Os novos sistemas computacionais são multicore
GERÊNCIA DO PROCESSADOR
✓ A parte do código do SO 
responsável pelo escalonamento 
(scheduling) é o escalonador 
(scheduler)
Escalonador e Escalonamento 
EXECUÇÃO
(UCP)
ESPERA
(E/S)
PRONTO
ESCALONADOR
Processo
Processo Processo
Processo
GERÊNCIA DO PROCESSADOR
✓ Portanto, para determinar a ordem com que os processos 
serão executados, o escalonador utiliza critérios definidos 
por um algoritmo ou política de escalonamento de processos
✓ Isso consiste na Gerência do Processador
Escalonador e Escalonamento 
GERÊNCIA DO PROCESSADOR
✓ Algoritmos de escalonamento consideram vários fatores:
▪ A taxa de utilização de UCP: medição da ocupação da UCP
▪ Throughput: quantidade de processos terminados por unidade de 
tempo
▪ Turnaround: tempo transcorrido desde o momento em que o 
processo entra (criação/admissão) e o instante em que termina sua 
execução; digamos que seja o “tempo de vida”
▪ Tempo de resposta: tempo decorrido entre o instante da submissão 
de um e a apresentação da resposta
▪ Tempo de espera: tempo total gasto na fila de PRONTO
Política de Escalonamento: Objetivos
GERÊNCIA DO PROCESSADOR
✓ É a capacidade que o SO tem de tirar de execução um 
processo em detrimento de outro
✓ Capacidade de um SO interromper um processo em 
execução e substituí-lo por um outro, ocasionando troca de 
contexto
Preempção (ou Preemptividade): Definição
GERÊNCIA DO PROCESSADOR
✓ Uma tarefa pode deixar a UCP (sair de EXECUÇÃO), caso 
termine sua fatia de tempo (preempção por tempo), execute 
uma chamada de sistema ou caso ocorra uma interrupção 
que acorde uma tarefa mais prioritária (preempção por 
prioridade), que estava suspensa aguardando um evento
✓ A cada interrupção, exceção ou chamada de sistema, o 
escalonador pode reavaliar todas as tarefas da fila de 
PRONTO e decidir se mantém ou substitui a tarefa em 
EXECUÇÃO
Escalonamento Preemptivo
GERÊNCIA DO PROCESSADOR
✓ A tarefa em execução permanece no processador tanto 
quanto possível, só abandonando-a caso termine de 
executar, solicite uma operação de entrada/saída ou libere 
explicitamente o processador, voltando à fila de tarefas 
prontas
✓ Esses sistemas são ditos cooperativos quando há a 
cooperação das tarefas entre si, auxiliando na gestão do 
processador
Escalonamento Não-Preemptivo
GERÊNCIA DO PROCESSADOR
✓ Trata-se do algoritmo de escalonamento de implementação 
mais simples: o primeiro processo que solicita a CPU é o 
primeiro a ser alocado
✓ Os processos em estado de PRONTO são organizados com 
base na política FIFO (First In First Out)
✓ O tempo médio de espera é um tanto longo e os processos 
importantes podem ser obrigados a esperar devido à 
execução de outros processos menos importantes dado que 
não há distinção entre processos
Escalonamento First Come First Served (FCFS)
Políticas de Escalonamento Não-Preemptivas
GERÊNCIA DO PROCESSADOR
✓ O processo que tem o menor ciclo de processamento (tempo 
de execução) será selecionado para usar o processador
✓ Esta política é considerada ótima, mas impossível de 
implementar na prática, já que não há modo de saber o 
tempo de duração do processo
Escalonamento Shortest Job First (SJF)
Políticas de Escalonamento Não-Preemptivas
GERÊNCIA DO PROCESSADOR
✓ A cada processo é associada uma prioridade e a CPU é 
alocada para o processo com a mais alta prioridade
✓ Processos com prioridades iguais são escalados segundo a 
política FCFS
✓ O maior problema deste escalonamento é o starvation
(processo de baixa prioridade indefinidamente postergado), 
que pode ser prevenido com aging: aumento gradual da 
prioridade de um processo, à medida que ele fica esperando
Escalonamento por Prioridade
Políticas de Escalonamento Preemptivas
GERÊNCIA DO PROCESSADOR
✓ A prioridade de um processo pode ser de dois tipos:
▪ Prioridade estática: não muda durante a vida do processo
▪ Prioridade dinâmica: prioridade ajustada de acordo com o 
tipo de processamento e/ou carga do sistema
✓ A preempção por prioridade ocorre quando o SO retira um 
processo em EXECUÇÃO para dar lugar a outro processo de 
maior prioridade
Escalonamento por Prioridade
Políticas de Escalonamento Preemptivas
GERÊNCIA DO PROCESSADOR
✓ Os processos entram na fila de PRONTO na ordem de 
chegada e sai o primeiro que chegou (FIFO), sendo que cada 
processo ganha um tempo limite (fatia de tempo, time-slice
ou quantum) para EXECUÇÃO
✓ Após esse tempo ele é interrompido (preempção por tempo) 
e colocado no final da fila de PRONTO
✓ Se o quantum for suficiente para o processo finalizar ou se o 
processo solicitar uma operação de E/S, outro processo do 
início da fila é selecionado para executar
Escalonamento Round Robin ou Circular
Políticas de Escalonamento Preemptivas
GERÊNCIA DO PROCESSADOR
✓ O tempo médio de espera é geralmente longo
✓ O desempenho do algoritmo depende bastante da escolha do 
quantum, já que a troca de contexto (alternar entre um 
processo e outro) gasta tempo: quantum muito pequeno 
ocasiona grande quantidade de trocas de processos e a 
eficiência da CPU é reduzida; quantum muito grande pode 
tornar a política Round Robin numa FCFS comum
Escalonamento Round Robin ou Circular
Políticas de Escalonamento Preemptivas
GERÊNCIA DO PROCESSADOR
✓ Implementa diversas filas de processos em estado de 
PRONTO, uma para cada prioridade; a prioridade é da fila e 
não do processo
✓ Cada fila separada tem algoritmo de escalonamento próprio 
(ex.: foreground (interativos) usam escalonamento Round 
Robin, enquanto background (batch) usam algoritmo FCFS
✓ Os processos devem ser classificados previamente em 
função do tipo de escalonamento para poderem ser 
corretamente alocados nas filas; não permite mudança de fila
Escalonamento por Múltiplas Filas (sem Realimentação)
Políticas de Escalonamento Preemptivas
GERÊNCIA DO PROCESSADOR
✓ O sistema tenta identificar dinamicamente o comportamento 
de cada processo, ajustando suas prioridades de execução e 
mecanismos de escalonamento (mecanismo adaptativo)
✓ Também há prioridade entre as filas; o sistema só pode 
escalonar processos de uma das filas quando todas as 
outras de maior prioridade estiverem vazias
Escalonamento por Múltiplas Filas com Realimentação
Políticas de Escalonamento Preemptivas
GERÊNCIA DO PROCESSADOR
✓ O processo é criado e entra no final da fila de maior 
prioridade; quando deixa a CPU por preempção por tempo, o 
processo é redirecionado para uma fila de menor prioridade, 
onde a fatia de tempo é maior
✓ Quanto maior for a prioridade de uma fila, menor será a fatia 
de tempo associada a esta fila
Escalonamento por Múltiplas Filas com Realimentação
Políticas de Escalonamento Preemptivas
GERÊNCIA DO PROCESSADOR
✓ É usado quando existem vários processadores, havendo 
compartilhamento da carga de processamento
✓ Implementa-se uma só fila de PRONTO, que pode ser 
atendida de diferentes formas:
▪Cada processador vai à fila e seleciona um processo; não 
se pode permitir que um processo seja escolhido por mais 
de um processador e/ou que um processo não seja 
escolhido por nenhum processador
Escalonamento com Múltiplos Processadores
Políticas de Escalonamento Preemptivas
GERÊNCIA DO PROCESSADOR
✓ Implementa-se uma só fila de PRONTO, que pode ser 
atendida de diferentes formas:
▪ Usar um processador como escalonador de processos 
para os outros processadores, criando uma estrutura 
mestre-escravo (master-slave)
▪ Um processador é responsável por todas as decisões de 
escalonamento, processamento de E/S, etc. 
(multiprocessamento assimétrico); os demais 
processadores só executam código do usuário
Escalonamento com Múltiplos Processadores
Políticas de Escalonamento Preemptivas
GERÊNCIA DO PROCESSADOR
✓ Tempo real HARD: as tarefas têm que terminar em tempos 
definidos, o SO tem que admitir o processo somente quando 
ele poderá terminar na hora certa; normalmente, este tipo de 
sistema possui hardware específico
✓ Tempo real SOFT: neste tipo de sistema, os processos de 
tempo real devem ter a mais alta prioridade; nesse caso não 
deve haver time sharing; o tempo de latência deve ser 
pequeno para que o processo possa começar a executar o 
mais rapidamente possível
Escalonamento de Tempo Real
Políticas de Escalonamento Preemptivas
GERÊNCIA DO PROCESSADOR
✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista 
em Sistemas Abertos e Mestre em Educação. Atualmente, é 
Coordenador (Graduação e Pós-Graduação), Professor adjunto e 
Tutor da Universidade Estácio de Sá. Tem experiência na área de 
Ciência da Computação, com ênfase em Arquitetura de Sistemas 
de Computação e Tecnologias da Informação e Computação, e 
também na área de Educação, com ênfase em Tecnologias de 
Informação e Comunicação nos Processos Educacionais
✓ http://lattes.cnpq.br/6477530917342363
Prof. Luiz di Marcello Senra Santiago
SISTEMAS OPERACIONAIS PARA REDES
Prof. Luiz di Marcello
Aula 4 – Gerência de Memória
GERÊNCIA DE MEMÓRIA
OBJETIVOS DA AULA
❖ Descrever a alocação particionada
❖ Analisar o funcionamento da paginação 
❖ Diferenciar paginação e segmentação
GERÊNCIA DE MEMÓRIA
http://media.forumpcs.com.br/
Hierarquia da Memória
✓ Algumas memórias no 
computador armazenam de 
forma permanente (não voláteis), 
enquanto outras de forma 
temporária (voláteis)
✓ A memória principal armazena
programas e seus dados, para 
que possam ser executados, 
referenciados, acessados
GERÊNCIA DE MEMÓRIA
Memória Principal
✓ Nos sistemas multitarefa, torna-se indispensável gerenciar a 
memória principal, devido à importância, o custo e a 
exiguidade desse recurso
✓ A gerência de memória possui duas abordagens principais:
▪ Manter os processos na memória principal durante toda a sua 
execução
▪ Mover os processos entre a memória principal e a secundária 
(tipicamente disco), utilizando técnicas de permuta (swapping) 
ou de paginação
GERÊNCIA DE MEMÓRIA
✓ A memória principal disponível é dividida 
entre o SO e o programa em execução 
(sistemas monoprogramáveis)
✓ O tamanho máximo do programa é 
limitado à memória principal disponível
✓ Essa limitação veio a ser superada com a 
técnica de overlay
Alocação Contígua 
GERÊNCIA DE MEMÓRIA
✓ Utiliza o conceito de 
sobreposição: a mesma região 
da memória será ocupada por 
módulos diferentes do processo
✓ É de responsabilidade do 
usuário esse gerenciamento, 
que geralmente é oferecido 
como um recurso da linguagem
Técnica de OVERLAY
GERÊNCIA DE MEMÓRIA
✓ Um módulo (raiz) do programa fica sempre residente e os 
demais módulos são mutuamente exclusivos em relação a 
sua execução; esses módulos permanecem no disco até que 
sejam necessários
✓ Foi o primeiro uso do conceito de mover partes do processo 
entre o disco e a memória principal, o que acabaria por 
originar as modernas técnicas de gerenciamento de 
memória, nas quais a divisão dos módulos é totalmente 
transparente para o usuário
Técnica de OVERLAY
GERÊNCIA DE MEMÓRIA
✓ A forma mais simples de se manter mais de um processo 
(multitarefa) de usuário na memória ao mesmo tempo é 
dividir a memória em n partições 
(possivelmente diferentes) e alocar 
os diferentes processos 
em cada uma delas
Alocação Particionada Fixa (Estática)
GERÊNCIA DE MEMÓRIA
✓ Deve-se considerar a diferença entre o código absoluto 
(referências a endereços no programa são posições físicas 
da memória principal) e o código relocável (referências a 
endereços no programa são relativas ao início do código), 
permitindo que os programas sejam 
executados a partir de qualquer partição
Alocação Particionada Fixa (Estática)
GERÊNCIA DE MEMÓRIA
✓ Nos primeiros sistemas as partições eram estabelecidas na 
configuração do SO e seu tamanho e localização somente 
podiam ser alterados realizando um novo boot
✓ Estratégias para alocar o processo:
▪ Uma única fila de entrada – todos os processos ficam na mesma 
fila e vão sendo alocadas na menor partição livre que os possa 
acomodar
▪ Uma fila por partição – os processos são divididos em várias filas 
de acordo com o seu tamanho e são alocados quando a partição 
atendida pela fila está disponível
Alocação Particionada Fixa (Estática)
GERÊNCIA DE MEMÓRIA
✓ Na alocação particionada fixa havia desperdício por conta dos 
espaços não ocupados nas partições (fragmentos)
✓ A memória principal não é particionada em blocos de 
tamanhos pré-determinados; existe uma partição que ocupa 
toda a memória disponível para usuários
✓ Os processos vão sendo alocados, essa partição única vai 
diminuindo até que não caibam mais processos no espaço 
restante, resultando num único fragmento
Alocação Particionada Dinâmica
GERÊNCIA DE MEMÓRIA
✓ Quando um processo termina e deixa a memória, o espaço 
ocupado por ele se torna uma 
partição livre, que será 
utilizada para alocar outro 
processo
✓ Podemos notar, que após 
alocar e desalocar vários 
processos, a memória pode se
(re)particionar
Alocação Particionada Dinâmica
GERÊNCIA DE MEMÓRIA
✓ A escolha da partição para o próximo job da fila deverá ser 
feita de acordo com uma das seguintes políticas:
▪ BEST-FIT: alocar o job na partição disponível de tamanho mais 
próximo ao do job, buscando deixar fragmentos livres menores
▪ FIRST-FIT: procura alocar o job na primeira partição onde ele 
couber, buscando agrupar os jobs pequenos separando-os dos 
grandes
▪ WORST-FIT: procura alocar o job na maior partição disponível 
onde ele couber, buscando mais um job pequeno no espaço 
resultante
Alocação Particionada Dinâmica
GERÊNCIA DE MEMÓRIA
✓ A técnica de swapping consiste em remover um processo da 
memória toda vez que ele fica bloqueado, retornando-o a fila 
de PRONTO quando a condição estiver satisfeita
▪ Vantagens: maior compartilhamento de memória; menor 
fragmentação; bom para processos pequenos e poucos 
usuários
▪ Desvantagem: custo alto por ser uma operação com 
memória secundária, overhead
Swap de Memória 
GERÊNCIA DE MEMÓRIA
✓ Por exemplo: os sistema retira o processo que está no meio 
de uma área livre de memória (swap out), coloca-o no disco, 
atribui a nova partição disponível ao processo que estava 
esperando e, posteriormente, atribui outra partição (swap in) 
ao processo que
foi desalojado 
Swap de Memória 
GERÊNCIA DE MEMÓRIA
✓ Espaço de endereçamento é o conjunto de endereços que um 
processo faz referências; o espaço de endereçamento lógico 
de um programa tem que ser mapeado em um espaço de 
endereçamento físico de memória
✓ Espaço de endereçamento virtual é o conjunto de endereços 
que um programa pode endereçar, que pode ser maior que a 
memória física disponível no momento ou mesmo que o total 
de memória fisicamente disponível na máquina; ao conjunto 
de endereços reais de memória chamamos espaço de 
endereçamento real
Memória Virtual 
GERÊNCIA DE MEMÓRIA
Paginação:Conceito e Operação
✓ O espaço de endereços é dividido em blocos de igual 
tamanho (páginas); a memória principal também é dividida em 
blocos (molduras) de mesmo tamanho das páginas 
✓ O mecanismo da paginação possui duas atribuições:
▪ executar a operação de mapeamento, isto é, determinar qual a 
página referenciada e em que bloco de memória (se for o caso) 
ela se encontra
▪ transferir páginas da memória secundária para os blocos da 
memória principal (quando for requerido) e guardá-las de volta 
na memória secundária quando elas não estiverem em uso
GERÊNCIA DE MEMÓRIA
Paginação: Operação
GERÊNCIA DE MEMÓRIA
Tabela de 
páginas
Memória
Mapeamento: Conceito
✓ É a tradução do endereço 
lógico em endereço físico, 
com objetivo de encontrar o 
código a ser executado
✓ Os endereços lógicos dos 
objetos referenciados pelo 
processo devem ser 
traduzidos em endereços 
físicos da memória principal
GERÊNCIA DE MEMÓRIA
0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0 
0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 
16-bit endereço lógico
10-bit offset06-bit página
16-bit endereço físico
Tabela de página
de processo
0 0 1 0 1 1
0 0 0 1 1 0
0 1 1 0 0 1Tradução
0
1
2
Página 1 está na memória - frame 6
Offset: deslocamento dentro da página
Mapeamento: Exemplo
GERÊNCIA DE MEMÓRIA
Segmentação: Conceito e Operação
✓ O programa não mais é dividido em blocos de tamanho fixo 
(páginas), mas em segmentos lógicos de tamanhos variados
✓ O grande número de page faults da paginação se deve, 
principalmente, ao fato de não se considerar características 
das estruturas lógicas do programa
✓ A segmentação busca aproveitar exatamente essas 
características, agrupando num segmento partes do programa 
que se referenciam mutuamente e que quando trazidas a 
memória estarão todas juntas
GERÊNCIA DE MEMÓRIA
Segmentação com Paginação: Conceito e Operação
✓ Segmentos muito grandes poderiam eventualmente, 
ultrapassar a memória disponível da máquina
✓ Podemos limitar o tamanho máximo do segmento ou aplicar a 
paginação na implementação da segmentação, aproveitando o 
melhor de cada uma dessas formas
✓ Divide-se o programa em segmentos, que por sua vez serão 
divididos em páginas
✓ Em tempo de execução alguns trechos de um segmento 
estariam na memória principal e outros não
GERÊNCIA DE MEMÓRIA
Segmentação com Paginação: Vantagens
✓ Não é necessário manter todas as páginas de um segmento 
na memória, apenas aquelas usadas correntemente
✓ As páginas de um segmento não precisam ser carregadas em 
áreas contíguas, ou seja, podem estar espalhadas pela 
memória
GERÊNCIA DE MEMÓRIA
✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista 
em Sistemas Abertos e Mestre em Educação. Atualmente, é 
Coordenador (Graduação e Pós-Graduação), Professor adjunto e 
Tutor da Universidade Estácio de Sá. Tem experiência na área de 
Ciência da Computação, com ênfase em Arquitetura de Sistemas 
de Computação e Tecnologias da Informação e Computação, e 
também na área de Educação, com ênfase em Tecnologias de 
Informação e Comunicação nos Processos Educacionais
✓ http://lattes.cnpq.br/6477530917342363
Prof. Luiz di Marcello Senra Santiago
SISTEMAS OPERACIONAIS PARA REDES
Prof. Luiz di Marcello
Aula 5 – Gerência de Entrada e Saída
GERÊNCIA DE ENTRADA E SAÍDA
OBJETIVOS DA AULA
❖ Analisar o mecanismo de interrupção
❖ Identificar as técnicas de entrada e saída
❖ Diferenciar os princípios de Software e de Hardware
GERÊNCIA DE ENTRADA E SAÍDA
Dispositivos de E/S: Conceitos
✓ O SO gerencia e controla todos os dispositivos de E/S: 
envia comandos; captura e envia interrupções; trata 
possíveis erros
✓ Os processos servidores de E/S (gerentes de dispositivos e 
drivers) competem pelos recursos do sistema
✓ Os dispositivos de E/S são responsáveis pela comunicação 
entre o sistema, de modo geral, e o meio externo; sem eles 
o computador não teria utilidade
GERÊNCIA DE ENTRADA E SAÍDA
Dispositivos de E/S: Conceitos
✓ ENTRADA é toda instrução de recepção de dados do mundo 
exterior e SAÍDA é toda instrução de envio de dados ao 
mundo exterior
✓ Toda operação do tipo E/S pode ser subdividida no tempo 
em 3 etapas distintas:
1. Início da E/S
2. Transferência de dados
3. Finalização da operação
GERÊNCIA DE ENTRADA E SAÍDA
Técnicas empregadas em operações de E/S
Buffering
✓ Armazenamento temporário em uma região de memória 
física do computador (buffer) dos dados enquanto eles são 
movidos entre processos ou dispositivos
✓ São utilizados quando
existe uma grande 
diferença de velocidade 
entre a origem e o 
destino
GERÊNCIA DE ENTRADA E SAÍDA
Técnicas empregadas em operações de E/S
Spooling
✓ Armazenamento dos dados numa memória auxiliar (não 
volátil), permitindo que um dispositivo lento não provoque 
ociosidade na CPU
✓ Utiliza o disco como um grande buffer, permitindo que dados 
sejam lidos e gravados em disco, enquanto outras tarefas 
são processadas
GERÊNCIA DE ENTRADA E SAÍDA
Estrutura em Camadas de Software e Hardware
✓ As camadas de mais baixo nível 
escondem as características do 
hardware dos dispositivos, 
permitindo oferecer uma interface 
simples e confiável para o usuário e 
suas aplicações
✓ Parte da gerência de E/S trabalha de 
forma independente do dispositivo no 
qual está se realizando a operação
GERÊNCIA DE ENTRADA E SAÍDA
Software de E/S de Nível de Usuário
✓ A visão dos dispositivos de E/S para o usuário consiste em 
bibliotecas fornecidas pelas linguagens de programação
✓ As funções de E/S são dependentes e específicas de cada 
linguagem de programação; em C++, por exemplo, as 
funções cout e cin são utilizadas para impressão formatada e 
leitura, respectivamente
✓ Essas bibliotecas de E/S não fazem parte do núcleo do SO, 
estando associadas às várias linguagens de programação
Estrutura em Camadas de Software e Hardware
GERÊNCIA DE ENTRADA E SAÍDA
Software de E/S Independente do Dispositivo
✓ Executa funções comuns a vários dispositivos e oferece uma 
interface uniforme para o software de nível de usuário
✓ Alguns serviços oferecidos são:
▪ Nomeação (lógica) para identificação do dispositivo
▪ Bufferização: armazena dados transferidos entre as diferentes 
camadas do software de E/S
▪ Cache de Dados: armazena dados utilizados com frequência
▪ Alocação e Liberação: gerenciar a alocação, liberação e uso
▪ Tratamento de Erros: fornece mecanismos de manipulação de 
erros, informando o sucesso ou fracasso de uma operação
Estrutura em Camadas de Software e Hardware
GERÊNCIA DE ENTRADA E SAÍDA
Drivers de Dispositivos (Device Drivers)
✓ Estabelecem a comunicação do SO com o hardware através 
de controladores
✓ Cada device driver manipula somente uma classe (grupo) de 
dispositivos semelhantes
✓ Recebe comandos gerais sobre acessos aos dispositivos e 
traduz para comandos específicos, que serão executados 
pelos controladores
✓ São “acoplados” ao núcleo do SO e possuem alto grau de 
dependência com as system calls de E/S
Estrutura em Camadas de Software e Hardware
GERÊNCIA DE ENTRADA E SAÍDA
Interrupção
✓ É um sinal informando que um evento ocorreu: fim de uma 
operação de E/S, erros de programa (divisão por zero, 
overflow, acesso inválido à memória), entre outros
✓ Cada interrupção é identificada com um número 
✓ Quando ocorre uma interrupção o programa em execução 
passa ao estado de 
PRONTO e é iniciada a 
rotina de tratamento de
interrupção
Estrutura em Camadas de Software e Hardware
ULA UC
REGISTRADORES
PC
MAR
MBR
SP
UCP
CONTROLA
DOR DE INTER
RUPÇÕES
1
2
IRQ1 - TECLADO
IRQ3 - FAX/MODEM
IRQ7 - IMPRESSORA
IRQ14 - DISCO RÍGIDO
GERÊNCIA DE ENTRADA E SAÍDA
Interrupção: Como ocorre
Estrutura em Camadas de Software e Hardware
01101010
10100010
_ _ _
_ _ _
01010100
PROG_1
01101010
10100010
_ _ _
_ _ _
01010100
PROG_2
MEMÓRIA PRINCIPAL (RAM)
SALVAR
CONTEXTO
IDENTIFICATIPO
OBTÉM
ENDEREÇO
RECUPERA
CONTEXTO
IRQ ENDEREÇO
1 00A5
3 00B2
7 00CE
VETOR DE
INTERRUPÇÕES
ROTINAS DE
TRATAMENTO
01101010
01010100
01000010
01111101
01000010
01111101
00A5
00B2
00CE
ÁREA DE MEMÓRIA DO SISTEMA OPERACIONAL
PROG_1 SOLICITA 
UMA OPERAÇÃO
DE ENTRADA/SAÍDA
PROG_2 É INTER
ROMPIDO E O SO
VAI TRATAR A INTER
RUPÇÃO
3
4
?
GERÊNCIA DE ENTRADA E SAÍDA
Dispositivo de controle 
ou
outro sistema de 
hardware 
que permita ativar uma 
interrupção
Processador termina a 
execução da instrução 
corrente
Processador reconhece 
sinal de interrupção
Processador coloca 
PSW e PC na pilha de 
controle
Processador carrega 
novo valor do PC, 
baseado na interrupção
Salva informações 
remanescentes sobre o 
estado do processo
Processa a interrupção
Restaura a informação 
do estado do processo
Restaura o velho PSW e 
PC
Interrupção: Detalhes
Estrutura em Camadas de Software e Hardware
✓ Para cada 
interrupção, uma 
rotina de serviço é 
designada para 
tratamento
GERÊNCIA DE ENTRADA E SAÍDA
APLICAÇÃO
100
101
102
STACK
102PC
estado APPSW
INSTRUÇÃO EM 
EXECUÇÃO
Estrutura em Camadas de Software e Hardware
Interrupção
GERÊNCIA DE ENTRADA E SAÍDA
100
101
102
STACK
OCORRE 
INTERRUPÇÃOAPLICAÇÃO
102PC
estado APPSW
Estrutura em Camadas de Software e Hardware
Interrupção
GERÊNCIA DE ENTRADA E SAÍDA
ROTINA DA INTERRUPÇÃO A
100
101
102
500
102
STACK
SALVA PC
APLICAÇÃO
102PC
estado APPSW
Estrutura em Camadas de Software e Hardware
Interrupção
GERÊNCIA DE ENTRADA E SAÍDA
ROTINA DA INTERRUPÇÃO A
100
101
102
500
estado AP
102
STACK
SALVA PSW
APLICAÇÃO
102PC
estado APPSW
Estrutura em Camadas de Software e Hardware
Interrupção
GERÊNCIA DE ENTRADA E SAÍDA
ROTINA DA INTERRUPÇÃO A
100
101
102
500
estado AP
102
STACK
ALTERA 
PSW e PC
APLICAÇÃO
500PC
estado 
ROTINA APSW
Estrutura em Camadas de Software e Hardware
Interrupção
GERÊNCIA DE ENTRADA E SAÍDA
ROTINA DA INTERRUPÇÃO A
100
101
102
500
registradores
estado AP
102
STACK
ROTINA A SALVA 
REGISTRADORES
APLICAÇÃO
501PC
estado 
ROTINA APSW
Estrutura em Camadas de Software e Hardware
Interrupção
GERÊNCIA DE ENTRADA E SAÍDA
ROTINA DA INTERRUPÇÃO A
100
101
102
500
estado AP
102
STACK
ROTINA A 
TERMINA
510
APLICAÇÃO
510PC
estado 
ROTINA APSW
Estrutura em Camadas de Software e Hardware
Interrupção
GERÊNCIA DE ENTRADA E SAÍDA
ROTINA DA INTERRUPÇÃO A
100
101
102
500
102
STACK
RECUPERA 
PSW
APLICAÇÃO
510
501PC
estado APPSW
Estrutura em Camadas de Software e Hardware
Interrupção
GERÊNCIA DE ENTRADA E SAÍDA
ROTINA DA INTERRUPÇÃO A
100
101
102
500
STACK
RECUPERA 
PC
APLICAÇÃO
510
102PC
estado APPSW
Estrutura em Camadas de Software e Hardware
Interrupção
GERÊNCIA DE ENTRADA E SAÍDA
100
101
102
STACK
INSTRUÇÃO EM 
EXECUÇÃO
APLICAÇÃO
103PC
estado APPSW
Estrutura em Camadas de Software e Hardware
Interrupção
GERÊNCIA DE ENTRADA E SAÍDA
Controladores de Dispositivos
Estrutura em Camadas de Software e Hardware
✓ Um sistema de computação consiste de uma CPU e em uma 
série de controladoras de dispositivos conectadas através de 
um barramento que fornece acesso à memória 
compartilhada, que podem executar concorrentemente 
✓ Cada controladora de dispositivo está encarregada de um 
tipo específico de dispositivo (por exemplo, unidades de 
disco, dispositivos de áudio e monitores de vídeo)
✓ O SO enxerga e se comunica com a controladora, não com o 
dispositivo
GERÊNCIA DE ENTRADA E SAÍDA
Controladores de Dispositivos 
Estrutura em Camadas de Software e Hardware
✓ Os dispositivos são ligados ao computador através de um 
componente de hardware chamado de interface
✓ Devido à diversidade de tipos de dispositivos (formas de 
operações diferentes e complexidade), as interfaces 
empregam no seu projeto o controlador (adaptador) de 
dispositivo
✓ Trata-se de um componente eletrônico (placa de circuito 
integrado à placa mãe do computador; exemplo: 
controladoras de disco IDE ou SCSI
GERÊNCIA DE ENTRADA E SAÍDA
Dispositivos de E/S
✓ É o hardware utilizado para comunicação entre o mundo 
exterior e o computador
✓ Existe uma enorme diversidade de dispositivos que são 
classificados quanto a fluxo de dados da seguinte forma:
▪ Dispositivos de Entrada - caracterizados por conter um 
fluxo de informações do dispositivo para o sistema, ou 
seja, são responsáveis por inserir no sistema informação 
do mundo externo (exemplo: teclado, mouse, scanner)
Estrutura em Camadas de Software e Hardware
GERÊNCIA DE ENTRADA E SAÍDA
Dispositivos de E/S
✓ Existe uma enorme diversidade de dispositivos que são 
classificados quanto a fluxo de dados da seguinte forma:
▪ Dispositivos de Saída - são caracterizados pelo fluxo de 
informações do sistema para o mundo externo, ou seja, 
responsáveis por disponibilizar respostas ao mundo 
externo (exemplo: impressora, monitor de vídeo)
▪ Dispositivos de Entrada e Saída – contemplam os dois 
fluxos (exemplo: placa de rede, multifuncional)
Estrutura em Camadas de Software e Hardware
GERÊNCIA DE ENTRADA E SAÍDA
✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista 
em Sistemas Abertos e Mestre em Educação. Atualmente, é 
Coordenador (Graduação e Pós-Graduação), Professor adjunto e 
Tutor da Universidade Estácio de Sá. Tem experiência na área de 
Ciência da Computação, com ênfase em Arquitetura de Sistemas 
de Computação e Tecnologias da Informação e Computação, e 
também na área de Educação, com ênfase em Tecnologias de 
Informação e Comunicação nos Processos Educacionais
✓ http://lattes.cnpq.br/6477530917342363
Prof. Luiz di Marcello Senra Santiago
SISTEMAS OPERACIONAIS PARA REDES
Prof. Luiz di Marcello
Aula 6 – Sistema de Arquivos
SISTEMA DE ARQUIVOS
OBJETIVOS DA AULA
❖ Descrever os atributos de um arquivo
❖ Diferenciar as organizações lógicas e físicas de arquivos
❖ Identificar os métodos de acesso aos arquivos
SISTEMA DE ARQUIVOS
Gerência de Arquivos
Um SO tem por finalidade permitir que os usuários do 
computador executem aplicações, que por sua vez processam 
informações (textos, músicas e filmes, etc.) armazenadas 
como arquivos num disco rígido ou outro meio/mídia
SISTEMA DE ARQUIVOS
Arquivos: Definição e Características
✓ Um arquivo é um conjunto de dados armazenados em um 
dispositivo físico não-volátil, com um nome ou outra 
referência que permita localização posterior (persistência)
✓ Arquivos são versáteis em conteúdo e capacidade, possuindo 
uma organização interna em função do tipo de informação 
(estrutura, formato): podem conter desde um texto se 
formatação com poucos bytes até sequências de vídeo com 
dezenas de gigabytes
SISTEMA DE ARQUIVOS
Arquivos: Definição e Características
✓ Arquivos podem ser compartilhados por processos diferentes
✓ Como um dispositivo de 
armazenamento pode 
conter milhões de arquivos,
estes são organizados em 
estruturas hierárquicas 
denominadas diretórios
SISTEMA DE ARQUIVOS
Sistema de Arquivos
✓ O Sistema de Arquivos pode ser entendido, então, como a 
organização física e lógica dos dados armazenados de forma 
persistente em um dispositivo físico não volátil
✓ Existem vários sistemas de arquivos nos SO, dentre os quais 
podemos citar FAT e NTFS do Windows, EXT2 e EXT3 do 
Linux
SISTEMA DE ARQUIVOS
Atributos dos Arquivos
Cada arquivo é descrito por atributos, que variam de acordo 
com o sistema e o arquivo utilizado. Os mais usuais são:
• Nome: string de caracteres para identificação (“foto.jpg”,“alo.c”)
• Tipo: formato dos dados contidos no arquivo, como áudio, vídeo, 
imagem, texto, etc. Muitos SOs usam parte do nome para 
identificar o tipo de seu conteúdo (extensão): “.doc”,“.jpg”,“.mp3”
• Tamanho: quantidade de bytes ou registros ocupados
• Datas: para fins de gerência, é importante manter datas 
importantes, como as data de criação, de último acesso e de 
última modificaçãodo conteúdo
SISTEMA DE ARQUIVOS
Atributos dos Arquivos
Os mais usuais são (continuação):
• Proprietário: em sistemas multiusuário, cada arquivo tem um 
proprietário, que deve estar corretamente identificado
• Permissões de acesso: indicam que usuários têm acesso àquele 
arquivo e que formas de acesso são permitidas (leitura, escrita, 
remoção, etc.)
• Localização: indicação do dispositivo físico onde o arquivo se 
encontra e da posição do arquivo dentro do mesmo
SISTEMA DE ARQUIVOS
Operações com Arquivos
As aplicações e o SO utilizam um conjunto de operações para 
manipular arquivos. As operações básicas são:
• Criar: alocar espaço para no dispositivo de armazenamento e 
definir seus atributos (nome, localização, proprietário, 
permissões de acesso, etc.)
• Abrir: a aplicação solicitar ao SO a abertura do arquivo, para 
que possa ler ou escrever dados; o SO verifica se o arquivo 
existe, se as permissões são válidas, localiza seu conteúdo no 
dispositivo de armazenamento e cria uma referência
SISTEMA DE ARQUIVOS
Operações com Arquivos
As operações básicas são (continuação):
• Ler: permite transferir dados presentes no arquivo para uma 
área de memória da aplicação
• Escrever: permite transferir dados na memória da aplicação 
para o arquivo no dispositivo físico; esse dados podem ser 
adicionados no final ou sobrescrever dados já existentes
• Mudar atributos: nome, localização, permissões, etc.
• Fechar: ao concluir o uso do arquivo, a aplicação deve informar 
ao SO, a fim de liberar as estruturas de gerência do arquivo
• Remover: para eliminar o arquivo do dispositivo
SISTEMA DE ARQUIVOS
Organização e Métodos de Acesso
Quanto à forma de organização dos registros de um arquivo, 
existem várias possibilidades, a saber:
➢ Sequencial
➢ Direta
➢ Indexada
SISTEMA DE ARQUIVOS
Organização dos Registros: Sequencial
✓ Neste tipo de arquivo os registros são acessados, quer para leitura 
quer para escrita, de forma sequencial, isto é, a escrita de um 
registro só é feita após o último registro escrito e a leitura de um 
registro só é possível após todos os registros anteriores terem sido 
lidos
✓ Existe um ponteiro “invisível” que aponta para o registro corrente e 
que é incrementado automaticamente após cada leitura ou escrita
SISTEMA DE ARQUIVOS
Organização dos Registros: Sequencial (leitura)
SISTEMA DE ARQUIVOS
Organização dos Registros: Sequencial (leitura)
✓ Para lidar com arquivos sequenciais existe, uma função 
lógica (VERDADEIRO/FALSO) que indica se o ponteiro 
chegou ao fim do arquivo (na leitura)
✓ Chamamos essa função
de EOF (“End Of File”,
“fim de arquivo”)
SISTEMA DE ARQUIVOS
Organização dos Registros: Sequencial (escrita)
SISTEMA DE ARQUIVOS
Organização dos Registros: Direta
✓ Neste tipo de arquivo, podemos acessar um determinado registro 
no meio do arquivo pelo seu número (posição do registro dentro do 
arquivo)
✓ O arquivo, uma vez aberto, aceita tanto operações de leitura quanto 
de escrita
✓ Por exemplo: um arquivo de alunos com informações sobre nome, 
endereço, nº do aluno e telefone; o nº do aluno corresponde à 
posição do registro do aluno dentro do arquivo
SISTEMA DE ARQUIVOS
Organização dos Registros: Indexada
✓ Neste tipo de arquivo existe um campo do registro, chamado 
campo chave, que permite o acesso a um registro determinado
✓ Não temos mais um índice necessariamente numérico, como 
nos arquivos diretos
SISTEMA DE ARQUIVOS
Organização dos Registros: Indexada
✓ Para podermos utilizar qualquer campo como índice (campo 
chave), o sistema de gerenciamento de arquivos da linguagem 
(que é transparente para o usuário) utiliza um outro arquivo, 
chamado arquivo de índice,
que é ordenado pelo campo 
chave
SISTEMA DE ARQUIVOS
Organização Lógica: Partições (Volumes)
✓ O sistema de arquivos é dividido em partições (volumes)
✓ Existe pelo menos uma partição e é nessa estrutura de 
mais baixo nível que os arquivos efetivamente residem
✓ Um mesmo dispositivo físico (HD, SSD) pode conter mais 
de uma partição (dispositivo virtual)
SISTEMA DE ARQUIVOS
Organização Lógica: Partições (Volumes)
✓ Informações sobre arquivos são guardadas em entradas 
no diretório de dispositivos (tabela de volumes), que é uma 
estrutura de dados com informações sobre os arquivos 
(localização física, nome, atributos, etc.)
✓ Esses diretórios são normalmente 
implementados como estruturas
de árvores
SISTEMA DE ARQUIVOS
Organização Lógica: Árvore de diretórios
✓ Na estrutura principal ou Master File Directory (MFD), 
existem ponteiros para os diretórios de cada usuário ou User
File Directories (UFDs),
que possuem aponta
dores para os subdire
tórios e os arquivos 
físicos
SISTEMA DE ARQUIVOS
Organização Física: Alocação de Blocos
✓ Os sistemas precisam manter o controle da localização física 
dos arquivos nos dispositivos
✓ Esses dispositivos físicos são normalmente divididos em 
blocos e a estrutura de gerência de arquivos deve mapear 
em quais blocos físicos se encontra um determinado arquivo
✓ Para saber quais blocos estão livres, é preciso manter um 
registro de blocos livres: mapa de bits, lista encadeada de 
blocos livres, tabela de blocos livres (contíguos) 
SISTEMA DE ARQUIVOS
Organização Física: Alocação de Blocos
✓ Para controlar a alocação de espaço de um arquivo no disco 
existem várias maneiras:
▪ alocação contígua: guarda-se o bloco inicial e o tamanho 
▪ alocação encadeada: guarda-se o bloco inicial e este 
aponta para o próximo, sucessivamente
▪ alocação indexada: guarda-se o bloco de índice, que 
contém os ponteiros para os demais blocos do arquivo
SISTEMAS OPERACIONAIS PARA REDES
Prof. Luiz di Marcello
Aula 7 – Armazenamento de Massa
ARMAZENAMENTO DE MASSA
OBJETIVOS DA AULA
❖ Analisar o funcionamento do HD
❖ Identificar os tipos de RAID
ARMAZENAMENTO DE MASSA
Introdução
✓ Os dispositivos de armazenamento são capazes 
de armazenar dados para posterior consulta ou manipulação 
✓ O termo “em massa” significa que o dispositivo ou aparelho 
é capaz de armazenar grandes volumes de dados
✓ Estes dispositivos podem ser de vários tipos: HD (Hard Disk) 
e SSD (Solid-State Disk)
✓ Pode ser armazenamento local ou remoto
ARMAZENAMENTO DE MASSA
HD (Hard Disk) ou SSD (Solid-State Drive) ???
✓ O SSD é uma nova tecnologia, considerada 
a evolução do HD
✓ O SSD não possui partes móveis, sendo 
constituído de um circuito integrado 
semicondutor, uma memória flash
✓ O SSD: não possui partes mecânicas (sem vibrações, 
silenciosos e resistentes); tempo de acesso reduzido; 
consomem menos energia (esquentam menos); são menores 
e mais leves
ARMAZENAMENTO DE MASSA
HD (Hard Disk): Armazenamento mais usado 
✓ SSD: capacidade de armazenamento menor; perde a 
capacidade de reter carga elétrica (vida útil); custo elevado
✓ Os discos magnéticos (HD) são dis
positivos para armazenamento não
volátil de dados, ou seja, independe
de alimentação de energia para 
manter seu conteúdo
ARMAZENAMENTO DE MASSA
HD (Hard Disk): Composição
Um HD é formado por vários discos de material duro (rígido) 
sobrepostos, unidos por um mesmo eixo vertical, girando a uma 
velocidade constante (ex.: 5400rpm, 7200rpm)
ARMAZENAMENTO DE MASSA
HD (Hard Disk): Trilhas e Cilindros 
✓ Cada disco compõe-se de trilhas concêntricas, divididas em 
setores; as trilhas dos diferentes discos que ocupam a mesma 
posição vertical formam um cilindro
✓ Os dados gravados no mesmo cilin
dro (na mesma trilha, porém em 
superfícies diferentes) podem ser 
lidos ou gravados sem que o braço
se mova
ARMAZENAMENTO DE MASSA
HD (Hard Disk): Formatação e Tempo de acesso
✓ Na formatação cada superfície é dividida em trilhas e cada 
trilha é dividida em setores, onde são armazenadas os dados
✓ A formatação depende do SO que usará o disco
✓ O tempo de acesso aos dados é definido
como o período decorrido entre a ordem
de acesso e o final da transferência:não
é constante e pode ser definido com a 
seguinte fórmula:
TAcesso = T(Seek + Latência + Transferência)
ARMAZENAMENTO DE MASSA
HD (Hard Disk): Tempo de acesso
O tempo necessário para ler/gravar um bloco de dados de/para 
o disco é função de três fatores (tempos): 
• Seek: tempo gasto para mover o braço até o cilindro onde o 
bloco se encontra
• Latência: tempo de espera até que o setor desejado 
seposicione sob a cabeça de leitura/gravação
• Transferência: tempo necessário para ler/gravar o setor
ARMAZENAMENTO DE MASSA
Gerenciamento de espaço livre
✓ Quando o espaço é utilizado, ele é removido dessa estrutura
✓ Quando o arquivo é eliminado, todos os seus blocos são 
liberados para a lista de espaços livres
✓ Podemos gerenciar por:
➢ Mapa de bits: cada entrada é associada a 
um bloco
➢ Lista encadeada: lista encadeada de 
todos os blocos livres; cada bloco possui 
um ponteiro para o próximo
ARMAZENAMENTO DE MASSA
Gerenciamento de espaço livre
✓ Podemos gerenciar por:
➢ Tabela de blocos livres (contíguos): 
considerando que blocos contíguos são 
geralmente alocados ou liberados 
simultaneamente, enxergam-se conjuntos de 
segmentos de blocos livres
ARMAZENAMENTO DE MASSA
Alocação de espaço em disco: Contígua
✓ Conjunto contíguo de blocos alocados na criação do arquivo
✓ Tabela de alocação contém
uma entrada (bloco inicial e 
tamanho em blocos) para 
cada arquivo
✓ Necessário pré-alocação
ARMAZENAMENTO DE MASSA
Alocação de espaço em disco: Ligada (ou Encadeada)
✓ Cada bloco contém um ponteiro para o próximo
✓ Tabela de alocação contém uma entrada para o primeiro 
bloco e o tamanho em blocos
✓ Adequada para arquivos de aces
so sequencial
✓ Para ter acesso a um determina
do bloco é necessário percorrer a 
lista até o bloco desejado
ARMAZENAMENTO DE MASSA
Alocação de espaço em disco: Indexada
✓ A tabela de alocação contém o bloco que serve de índice 
(ponteiros dos blocos de dados) para cada arquivo
✓ O sistema operacional UNIX 
utiliza uma estratégia com 
mais de um nível de indireção
(índice de índices)
ARMAZENAMENTO DE MASSA
RAID: Desempenho, Redundância e Proteção
✓ As técnicas de RAID (Redundant Array of Independent Disks, 
“Matriz Redundante de Discos Independentes”) foram 
desenvolvidas no final da década de 1980 por pesquisadores 
de Universidade da Califórnia, em Berkeley
✓ Consiste em um grupo de discos físicos que são tratados 
pelo SO como se fossem uma única unidade lógica 
✓ Podem ser implementadas pelos controladores de discos 
(RAID externo) ou por software através do SO ou um sistema 
gerenciador de discos
ARMAZENAMENTO DE MASSA
✓ Cada disco do stripe set é dividido em pedaços (stripes)
✓ Distribui as operações de E/S entre os diversos discos com o 
objetivo de aumentar o desempenho, 
ou seja, as operações 
podem ser processadas 
paralelamente
RAID 0: Striping (fracionamento)
ARMAZENAMENTO DE MASSA
✓ Sempre que um arquivo é gravado, seus dados são divididos 
em pedaços iguais e espalhados simultaneamente pelos 
stripes de diversos discos
✓ Caso haja falha em qualquer disco do stripe set, os dados 
serão perdidos, não há redundância
RAID 0: Striping (fracionamento)
ARMAZENAMENTO DE MASSA
RAID 1: Mirroring (espelhamento)
✓ Replica todo o conteúdo de um disco (primário) em um ou 
mais discos (espelhos ou secundários)
✓ A redundância dessa técnica garante 
que no caso de falha no disco primário
os discos espelhos serão utilizados de 
forma transparente
ARMAZENAMENTO DE MASSA
RAID 1: Mirroring (espelhamento)
✓ Todas as operações de escrita no disco primário são 
replicadas para os espelhos
✓ O overhead é pequeno e vantajoso, considerando o benefício 
de proteção aos dados
ARMAZENAMENTO DE MASSA
RAID 5: Paridade Distribuída
✓ Consiste em distribuir os dados entre os discos do array, 
implementando redundância baseada em paridade
✓ Os dados de paridade são
armazenados nos discos do
array junto com os dados
ARMAZENAMENTO DE MASSA
RAID 5: Paridade Distribuída
✓ Caso haja falha, os dados podem ser recuperados através de 
um algoritmo de reconstrução que utiliza as informações da 
paridade
✓ A capacidade útil é de 80% do total
✓ Gera um overhead nas operações de gravação em função do 
cálculo de paridade
SISTEMAS OPERACIONAIS PARA REDES
Prof. Luiz di Marcello
Aula 8 – Sistemas Operacionais de Redes
SISTEMAS OPERACIONAIS DE REDES
OBJETIVOS DA AULA
❖ Diferenciar Sistema Operacional Local de Sistema 
Operacional de Rede
❖ Analisar o Modelo Cliente Servidor
❖ Identificar as diferentes Arquiteturas de Redes
SISTEMAS OPERACIONAIS DE REDES
SISTEMAS OPERACIONAIS LOCAIS (SOL)
✓ Antes do advento das redes de computadores, os computadores 
trabalhavam de forma isolada (stand alone ou stand-alone), sem 
que houvesse necessidade do SO dar suporte a rede 
✓ Nesse caso o SO fornecia serviços como:
▪ gerenciamento do uso do processador
▪ alocação dos processos na memória principal
▪ controle do acesso aos dispositivos de E/S
▪ alocação de informações nos dispositivos de armazenamento 
(gerenciamento do sistema de arquivos)
SISTEMAS OPERACIONAIS DE REDES
SISTEMAS OPERACIONAIS LOCAIS (SOL)
✓ Este tipo de Sistema Operacional é denominado Sistema 
Operacional Local (SOL)
✓ Com o advento das redes de computadores 
houve acréscimo no hardware e novos 
componentes, ocasionando modificações 
nos SOL
SISTEMAS OPERACIONAIS DE REDES
SISTEMAS OPERACIONAIS DE REDE (SOR)
✓ Nas redes de computadores um sistema de comunicação 
interliga os equipamentos terminais (estações de trabalho)
✓ No hardware desses computadores introduziu-se um 
dispositivo de E/S responsável pela interface do computador 
com o sistema de comunicação: a placa de interface de rede 
✓ O usuário passa, então, a acessar recursos na máquina local 
ou em uma outra máquina (remota)
SISTEMAS OPERACIONAIS DE REDES
SISTEMAS OPERACIONAIS DE REDE (SOR)
✓ Para atender a esta necessidade surgiram os Sistemas 
Operacionais de Redes (SOR), como extensão dos Sistemas 
Operacionais Locais (SOL), complementando-os com o 
conjunto de funções básicas, e de uso geral, necessárias à 
operação das estações, de 
forma a tornar transparentes o 
uso dos recursos compartilha
dos, sejam locais ou remotos
SISTEMAS OPERACIONAIS DE REDES
REDIRECIONADOR
✓ Os SOR devem prover aos usuários acesso aos recursos de 
outras estações da rede (remotas) como se estivessem 
operando localmente, de forma transparente
✓ Para que haja essa extensão do SO das estações da rede, 
sem modificar sua operação local, foi a introduzido um módulo 
redirecionador
✓ A interface utilizada pelas aplicações para ter acesso aos 
recursos permanece inalterada, surgindo novos recursos 
(recursos virtuais) na estação
SISTEMAS OPERACIONAIS DE REDES
REDIRECIONADOR
✓ O redirecionador funciona 
interceptando as chamadas das 
aplicações ao SOL: se elas se 
referem a um recurso local o acesso 
é feito pelo SOL; se a chamada 
solicita acesso a um recurso remoto 
ela é desviada para o módulo do 
SOR
SISTEMAS OPERACIONAIS DE REDES
MODELO CLIENTE-SERVIDOR
✓ A aplicação solicita um serviço através de uma chamada ao 
SO, que executa o serviço solicitado e responde com o status 
da operação e transfere os dados resultantes para a aplicação
✓ No caso de uma rede, a interação com o SOR funciona:
▪ As estações que disponibilizam a outras estações o acesso a 
seus recursos são chamadas servidoras
▪ As estações que permitem que suas aplicações utilizem recursos 
compartilhados com outras estações são chamadas clientes
SISTEMAS OPERACIONAIS DE REDES
MODELO CLIENTE-SERVIDOR
✓ No caso de uma rede, a interação com o SOR funciona:
▪ O cliente a ter necessidade de um serviço faz uma chamada de 
sistema. O SOR, ao receber um pedido de acesso a um recurso 
localizado em uma estação remota, monta uma mensagem 
contendo o pedido e a envia ao servidor via rede
▪ No servidor, o SOR recebe a mensagem e providenciaa 
execução localmente. Nos casos onde o pedido envolve a 
devolução para o SOR na estação cliente este envia pela rede a 
resposta ao cliente
SISTEMAS OPERACIONAIS DE REDES
MODELO CLIENTE-SERVIDOR
✓ No caso de uma rede, a interação com o SOR funciona:
▪ O SOR da estação que requisitou o serviço recebe a mensagem 
transportando a resposta, ele faz sua entrega à aplicação local
SISTEMAS OPERACIONAIS DE REDES
MODELO CLIENTE-SERVIDOR
✓ Para que essa interação funcione os módulos de um SOR 
instalados podem ser de dois tipos:
▪SORC: módulo cliente do SO, instalado nas estações cliente, 
restringe-se a fornecer serviços de comunicação de pedidos para 
o servidor e a entregar as respostas às aplicações
▪SORS: módulo servidor do SO, instalado nas estações servidoras, 
além das funções de comunicação, outros serviços são 
executados: por exemplo, o controle do acesso aos recursos 
compartilhados através da rede, para evitar que um usuário não 
autorizado apague arquivos que não lhe pertencem 
SISTEMAS OPERACIONAIS DE REDES
ARQUITETURA PEER-TO-PEER
✓ Em todas as estações o SOR possui ambos os módulos 
(SORC e SORS); todas as estações são clientes e servidoras
✓ Encontramos essa arquitetura em nossas casas quando 
realizamos o compartilhamento de recursos na rede
✓ Também chamada de 
Rede do Grupo de 
Trabalho, Rede Par-a-Par 
ou Rede Ponto-a-Ponto
SISTEMAS OPERACIONAIS DE REDES
ARQUITETURA CLIENTE SERVIDOR
✓ As estações da rede dividem-se em:
▪ estações clientes: possuem as funções do módulo cliente 
acopladas ao seu SOL
▪ estações servidoras: possuem as funções do módulo servidor e 
podem, opcionalmente, possuir funções do módulo cliente 
✓ É a arquitetura mais indicada quando se precisa de 
permissões, controle e integridade. Podemos dizer que “numa 
ponta” da rede está o servidor que fornece os recursos 
(Arquivos, BD, DNS, etc.) e na “outra ponta” está o cliente que 
utiliza os recursos do servidor
SISTEMAS OPERACIONAIS DE REDES
SERVIDOR
✓ É o computador dotado de SORS, que fornece, oferece, provê 
serviços para uma rede de computadores, formada por 
estações dotadas de SORC
✓ Podemos num mesmo computador ter vários serviços 
(virtualização de servidores)
✓ DATA CENTERS em Nuvem oferecem diversos serviços 
SISTEMAS OPERACIONAIS DE REDES
Servidores de Arquivos / Armazenamento (Storage)
Oferece a seus clientes os serviços de armazenamento e acesso a 
informações e de compartilhamentos de discos, controlando 
unidades de discos ou outras unidades de armazenamento, sendo 
capazes de aceitar pedidos de transações das estações clientes e 
atendê-los utilizando seus 
dispositivos de armazenamento
de massa, gerenciando um
sistema de arquivos (remoto)
SISTEMAS OPERACIONAIS DE REDES
Servidores de Banco de Dados
✓ As aplicações baseadas no acesso a banco de dados podem 
utilizar um Sistema Gerenciador de Banco de Dados (SGBD) 
executado no cliente, que usa um servidor de arquivos para 
armazenar os arquivos dos bancos de dados ou utiliza um 
servidor de banco de dados
✓ O SGBD local primeiramente codifica o pedido do usuário, por 
exemplo, em uma consulta em SQL (Structured Query 
Language), com o critério de seleção definido pela aplicação
✓ Essa consulta é então enviada para o SGBD servidor
SISTEMAS OPERACIONAIS DE REDES
Servidores de Banco de Dados
✓ O servidor de banco de dados recebe o pedido e processa a 
consulta, lendo todos os registros do banco de dados, 
localmente, selecionando-os de acordo com o critério definido
✓ O SGBD servidor envia o resultado ao SGBD cliente, que os 
entrega à aplicação
Aplicação
Servidor
SGBDSGBD
Cliente
Pedido Resposta
Consulta SQL
Acesso físico
Base de dados
Servidor de Banco
de Dados
Resposta SQL
SISTEMAS OPERACIONAIS DE REDES
Servidores de Impressão
A finalidade é gerenciar e oferecer serviços de impressão a 
seus clientes, possuindo um ou mais tipos de impressoras 
acopladas, adequados à qualidade 
e/ou rapidez desejadas
SISTEMAS OPERACIONAIS DE REDES
Servidores de Comunicação
✓ Pode ser ligar às redes dispositivos sem inteligência, ou mesmo 
livrar o dispositivo a ser ligado dos procedimentos de acesso
✓ Então, é necessária uma estação 
especial de frente que será respon
sável pela realização de todos os
procedimentos de acesso à rede, 
bem como da interface com os 
dispositivos dos usuários, agindo 
como um concentrador
SISTEMAS OPERACIONAIS DE REDES
Servidores de Gerenciamento de Redes
✓ Um computador-servidor que realiza:
▪ O monitoramento do tráfego, da disponibilidade e do 
desempenho de uma estação da rede
▪ Monitoramento do meio de transmissão e de outros 
indicadores
✓ Possibilitam a detecção de erros, diagnoses e resoluções de 
problemas, tais como falhas, diminuição do desempenho, etc.
SISTEMAS OPERACIONAIS DE REDES
Servidores de Correio Eletrônico
✓ É um computador-servidor que envia, recebe e armazena e-
mails, através de dois programas em funcionamento:
▪ um serviço SMTP (Simple Mail Transfer
Protocol), um protocolo de transferência 
de correio, responsável pelo envio
▪ um serviço POP3 (Post Office Protocol) 
ou IMAP (Internet Mail Access Protocol), 
para recebimento de mensagens
SISTEMAS OPERACIONAIS DE REDES
Servidores de Aplicações
✓ Um computador-servidor que disponibiliza um ambiente para 
a instalação e execução de aplicações, centralizando e 
dispensando a instalação nos computadores clientes
✓ Os servidores de aplicação também são conhecidos por 
middleware
SISTEMAS OPERACIONAIS DE REDES
✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista 
em Sistemas Abertos e Mestre em Educação. Atualmente, é 
Coordenador (Graduação e Pós-Graduação), Professor adjunto e 
Tutor da Universidade Estácio de Sá. Tem experiência na área de 
Ciência da Computação, com ênfase em Arquitetura de Sistemas 
de Computação e Tecnologias da Informação e Computação, e 
também na área de Educação, com ênfase em Tecnologias de 
Informação e Comunicação nos Processos Educacionais
✓ http://lattes.cnpq.br/6477530917342363
Prof. Luiz di Marcello Senra Santiago
SISTEMAS OPERACIONAIS PARA REDES
Prof. Luiz di Marcello
Aula 9 – Windows
WINDOWS
OBJETIVOS DA AULA
❖ Diferenciar as versões do Windows
❖ Identificar os comandos de redes de Windows
❖ Conhecer as características básicas do Windows Server 2012
WINDOWS
Introdução
✓ O Windows é o SO dominante no mundo dos Computadores 
Pessoais (PC)
✓ Ele possui versões para Clientes de Redes (Estações de 
Trabalho), tais como Windows 7, 8 e 10, e para Servidores 
de Redes, como é o caso do Windows Server 2012
WINDOWS
Sistemas Operacionais Clientes: MS-DOS
✓ Antes do SO com interface gráfica, o PC era de um modo 
geral gerido com interface orientada a caracter (linhas de 
comandos no prompt), como o 
MS-DOS, o que fazia os computa
dores serem vistos como caixas 
pretas, com seu uso limitado a 
profissionais da área
WINDOWS
Sistemas Operacionais Clientes: Windows 3.1 
✓ Os SOs como os entendemos, com interface gráfica e 
facilidade de uso pelos usuários,
foram popularizados a partir do 
advento do Windows 3.1,
em 1992
WINDOWS
Sistemas Operacionais Clientes: WFW 3.11
✓ Logo em seguida, a MICROSOFT lançou o Windows 3.11 
onde foi adicionado o suporte
a grupos de trabalho, pois as
redes corporativas haviam se 
tornando um modelo padrão 
nessa época
✓ A arquitetura dessa rede era
peer-to-peer (ponto-a-ponto)
WINDOWS
Sistemas Operacionais Clientes: Windows 95
✓ A Microsoft aproveitou a evolução do hardware e lançou, em 
1995, o Windows 95, com uma nova interface
✓ O botão Iniciar, a barra de tarefas,
o Explorer, entre outros elementos,
eram as grandes novidades
✓ Na sequência vieram o
Windows 98 e o Millenium,
todos baseados no kernel do 
MS-DOS
WINDOWS
Sistemas Operacionais Clientes: Windows NT e 2000
✓ Nesta mesma época a Microsoft surgiu o Windows NT (New 
Technology) nas versões Workstation e o Server, indicadospara uso empresarial das estações de trabalho em rede, que 
evoluíram para o Windows 2000 versões Professional e 
Server
✓ A arquitetura do NT era totalmente nova e diferente do kernel
do MS-DOS: maior robustez, estabilidade e segurança
WINDOWS
Sistemas Operacionais Clientes: Windows XP
✓ Finalmente, em 2001, foi lançado o Windows XP nas versões 
Home e Professional: kernel
do NT para uso doméstico, 
deixando de lado o MS-DOS
✓ O XP foi um enorme sucesso
e gerou como sucedâneos o 
Vista, o Win7, Win8 e Win10
WINDOWS
Sistemas Operacionais Clientes: Win7/8/10
✓ Segundo o site https://www.netmarketshare.com/ o Win7 é o 
SO desktop mais utilizado, seguido de longe pelo Win10
https://www.netmarketshare.com/
WINDOWS
Sistemas Operacionais Servidores
✓ A linha de SOs para Servidores da Microsoft iniciou com NT 
Server, passou pelo Windows 2000 Server, Windows 2003 
Server, Windows 2008 Server, Windows 2012 Server e 
Windows 2016 Server
✓ Segundo o site https://w3techs.com/, os percentuais de 
servidores Linux e Windows Server nos websites é:
https://w3techs.com/
WINDOWS
Comandos de Redes do Windows
✓ Diversas ferramentas auxiliam no diagnóstico de problemas 
de conexão da rede:
▪ Pode recorrer à “Solução de Problemas”
▪ Ou, através de (linhas de comandos digitados) no “Prompt de 
Comando” ou no “Power Shell” (é um shell de linha de comando 
e linguagem de scripts projetado especialmente para a 
administração de sistemas)
WINDOWS
Comandos de Redes do Windows
hostname
Retorna o nome do computador local
ipconfig
Retorna as configurações da rede local em protocolo TCP/IP, e faz a 
atualização dos protocolos DHCP e DNS
getmac
Procura pelo endereço MAC (Media Acess Control), e faz a listagem 
das redes associadas na máquina local ou em toda rede
WINDOWS
Comandos de Redes do Windows
nslookup
Retorna informações sobre o DNS (Domain Name System) de um 
determinado número IP, ou número do host
netstat
Retorna as ligações ativas no protocolo TCP
netsh
Possibilita modificar configurações de uma rede local ou em uma 
máquina remota. Para que você possa ver sua lista de funções, digite 
dentro do comando “netsh”, o seguinte comando: “/?”
WINDOWS
Comandos de Redes do Windows
tracert
Lista o caminho para um determinado IP e lista o tempo que irá levar a 
cada salto
ping
Envia pacotes ICMP para um determinado endereço IP e verifica os 
níveis de conectividade e o tempo de resposta
pathping
Fusão dos comandos “tracert” + “ping”, fazendo uma identificação em 
algum problema no router ou em algum link da rede
WINDOWS
Windows 2012 Server: Características
✓ É uma plataforma que provê uma infraestrutura de 
aplicativos, redes e serviços Web conectados, atendendo 
desde o grupo de trabalho ao Data Center
✓ Foi desenvolvido com propósito de para expandir a definição 
de um sistema operacional de servidor, com grandes avanços 
na visualização, armazenamento e rede
✓ A capacidade de replicação, que permite a criação de 
quantas réplicas de documentos forem necessárias pela 
empresa (servidores diferentes e storage virtual)
WINDOWS
Windows 2012 Server: Características
✓ Virtualization Desktop Infrastructure (VDI), ou virtualização de 
desktop: qualquer máquina ligada à rede recebe o desktop do 
usuário; acesso ao desktop remoto em dispositivos móveis 
como smartphones e tablets
✓ Os clientes podem utilizar todos os recursos e facilidades do 
armazenamento na Nuvem para gerenciar sistemas, 
desenvolver aplicações, banco de dados e visualização de 
documentos
WINDOWS
Windows 2012 Server: Ferramentas
Serviços de Domínio Active Directory (AD DS)
Gerenciamento de rede, permite a implantação de controladores de 
domínio; Facilita a auditoria, o controle de autorização de acesso a 
arquivos, a execução de tarefas administrativas (local ou remota)
Active Directory Rights Management Services (AD RMS) 
Gerenciamento e desenvolvimento que funcionam com as tecnologias 
de segurança: criptografia, certificados e autenticação; Ajuda as 
organizações a criarem soluções confiáveis para proteção de 
informações
WINDOWS
Windows 2012 Server: Ferramentas
BitLocker
Criptografa o HD, fornecendo melhor proteção contra roubo de dados 
ou exposição em computadores e unidades removíveis que são 
perdidos ou roubados
Clusters de failover
Alta disponibilidade e escalabilidade para várias cargas de trabalho de 
servidor; Incluem armazenamento de compartilhamento de arquivos 
para aplicativos de servidor como Hyper-V e Microsoft SQL Server e 
aplicativos de servidor que são executados em servidores físicos ou 
em máquinas virtuais
WINDOWS
Windows 2012 Server: Ferramentas
Hyper-V 
Cria e gerencia ambientes virtualizados; Virtualiza o hardware para 
proporcionar um ambiente no qual você pode executar vários SOs ao 
mesmo tempo em um único computador físico, executando cada SO 
em sua própria máquina virtual
IPAM (Gerenciamento de Endereço IP)
Funcionalidades de administração e monitoramento altamente 
personalizáveis para a infraestrutura de endereços IP em uma rede 
corporativa
WINDOWS
Windows 2012 Server: Versões
Datacenter
Desenvolvido para ambientes de Nuvem Privada e Híbrida altamente 
virtualizados; 1 licença para cada 2 processadores; Número ilimitado 
de Máquinas Virtuais (VM)
Standard
Indicada para ambientes não virtualizados ou com baixa densidade de 
VM; Licenciamento por processador (versão Datacenter): 1 licença dá 
suporte para até 2 processadores e direito a 2 VM
WINDOWS
Windows 2012 Server: Versões
www.microsoft.com/pt-br/cloud-platform/windows-server-comparison
WINDOWS
Windows 2012 Server: Versões 
Essentials
Foco para pequenas empresas com até 25 usuários; Habilitado para 
Nuvem com uma interface de usuário intuitiva: execução de 
aplicações e serviços (mail, colaboração, backup online, entre outros); 
Sem virtualização (VM)
Foundation
Foco para pequenas empresas com até 15 usuários; Servidores com 
apenas um processador; Sem virtualização (VM)
WINDOWS
Windows 2012 Server: Requisitos de Instalação
Memória Principal (RAM)
• Mínimo: 512 MB / Recomendado: 2,5 GB
• Ótimo: 4 GB ou superior
Processador
• Mínimo: 1 GHz / Recomendado: 2 GHz
• Ótimo: 3 GHz ou superior
Espaço de Disco (HD, SSD)
• Mínimo: 32GB / Recomendado: 60GB
• Performance: 80 GB 
WINDOWS
✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista 
em Sistemas Abertos e Mestre em Educação. Atualmente, é 
Coordenador (Graduação e Pós-Graduação), Professor adjunto e 
Tutor da Universidade Estácio de Sá. Tem experiência na área de 
Ciência da Computação, com ênfase em Arquitetura de Sistemas 
de Computação e Tecnologias da Informação e Computação, e 
também na área de Educação, com ênfase em Tecnologias de 
Informação e Comunicação nos Processos Educacionais
✓ http://lattes.cnpq.br/6477530917342363
Prof. Luiz di Marcello Senra Santiago
SISTEMAS OPERACIONAIS PARA REDES
Prof. Luiz di Marcello
Aula 10 – Linux
LINUX
OBJETIVOS DA AULA
❖ Identificar as distribuições Linux
❖ Operar o Linux em uma máquina virtual
LINUX
Introdução
✓ O Linux é um SO gratuito, estável, seguro e de código aberto, 
ou seja, pode ser copiado, modificado, distribuído e instalado 
quantas vezes quiser
✓ Na verdade o kernel Linux é gratuito, mas podem ser criadas 
distribuições pagas
✓ O SO Linux consiste na combinação do kernel Linux (Linus 
Torvalds, 1991)) com um conjunto de ferramentas GNU (Richard 
Stallman, 1983) que nos permitem interagir com esse kernel
LINUX
Distribuições de GNU/Linux
✓ Uma Distribuição Linux (ou simplesmente distro) é 
composta do kernel Linux, ferramentas GNU e um conjunto 
variável de aplicativos e utilitários diversos que agregam 
valor ao sistema
✓ Podem ser mantidas por indivíduos (Slackware, por Patrick 
Volkerding), por organizações (Red Hat, a SuSE, a 
Mandriva e o Ubuntu), por grupos ou comunidades (Debian 
e o Gentoo)
LINUX
Distribuições de GNU/Linux
✓ Embora existam

Outros materiais