Professional Documents
Culture Documents
Operacionais
APRESENTAÇÃO
Jowâner Araujo
S.O.
Jowâner Araújo
Professor do CEFET-BA
Analista de Sistemas desde 1992
Especialização pelo LASID (UFBA) em Sistemas Distribuídos
Especialização em Administração Empresarial (CETEAD)
Mestrado em Redes de Computadores
Linha de Pesquisa – Descoberta do Conhecimento em Base de Dados
S.O.
Assuntos a Abordar
Sistemas Operacionais
Definição, Características
Gerência de Processos
Gerência de Memória
Sistemas Distribuídos
Proteção e Segurança
S.O.
Sistemas Operacionais
Definição
Programa Intermediário entre p usuário e o computador
Objetivo
Tornar o uso do computador Conveniente e eficiente
S.O.
S.O.
Sistemas Operacionais
Sistema em Lote (Batch)
Primeiros Computadores (leitores de cartões e unidade de fitas)
S.O. bem Simples – Controla um Job por vez
Computador
Job em Execução
JOB 13
2
S.O.
Sistemas Operacionais
Sistema em Lote (Batch)
Primeiros Computadores (Unidades de disco)
S.O. + Desenvolvido – Escalonador de Job -Controla + de 1 um Job por
vez . Job só executa quando um outro libera a C.P.U para executar
alguma interação com Dispositivos de I/O – Por exemplo
Computador
Job em Execução
JOB 1
JOB 2
JOB 3
S.O.
Sistemas Operacionais
Sistema em Tempo Compartilhado
Primeiros Computadores (Unidades de disco)
S.O. + Desenvolvido – Escalonador de Job com Multitarefa ou Tempo
Compartilhado. -Controla + de 1 um Job por vez . Cada Job tem uma
parcela de tempo de utilização da C.P.U. Por exemplo – Vários Job
Interagindo com o usuário
Computador
Job em Execução
JOB 1 JOB 2 JOB 3
S.O.
Sistemas Operacionais
Sistemas Paralelos
+1 de Processador
Sistemas Fortemente Acoplados (tightly Coupled)
Compartilhamento de Memória, Dispositivo de Entrada e Saída
OBS : Gasta-se tempo coordenando a ação dos Processadores
S.O.
Sistemas Operacionais
Sistemas Paralelos
Simétrico
Computador
Computador
S.O
C.P.U - Mestre
Computador
Computador
Servidor
Cliente
S.O.
Sistemas Operacionais
Estruturas de Sistema de Computação
Barramento
Controladora de Memória
Memória
S.O.
Sistemas Operacionais
Estruturas de Sistema de Computação
Boot – Processo de Carga
Interrupções
Hardware (Teclar)
Software (divisão por Zero)
S.O.
Sistemas Operacionais
Estruturas de Sistema de Computação
Interrupções I/O
Síncrona Assíncrona
Usuário
Esperando
Drive do Dispositivo Drive do Dispositivo
Rotina de Tratamento Rotina de Tratamento
de Interrupção de Interrupção
Kernel
Kernel
Hardware Hardware
Transferência Transferência
de Dados de Dados
S.O.
Sistemas Operacionais
Estruturas de Sistema de Computação
Problema – Diferença de velocidade entre C.P.U. e dispositivos de I/O
Polling – Verificação constante do término de uma operação de I/O pela C.P.U..
Transferência Byte a Byte
Desvantagem – Desperdiça o recurso C.P.U. nas constantes verificação
Características
Velocidade
Custo
Tamanho
Volatilidade
S.O.
Sistemas Operacionais
Estruturas de Sistema de Computação
Memória Principal
Área de trabalho
Baseada em Interrupção
Quando o dispositivo terminar a sua execução, aciona a C.P.U.
Memória Cache – Memória utilizada para compatibilizar a diferença entre C.P.U. e Memória
Fitas Magnéticas
Leitura Seqüencial
Utilizada para Backup
S.O.
Sistemas Operacionais
Estruturas de Sistema de Computação
Hierarquia de Armazenamento
Registradores
Cache
Memória Principal
Disco Eletrônico
Disco Magnético
Disco Ótico
Fitas Magnéticas
S.O.
Sistemas Operacionais
Estruturas de Sistema de Computação
Proteção – Consiste em impedir que um processo interfira em um outro
Operação em Modo Dual
Modo Usuário – executa programa do usuário
Modo Monitor (Supervisor, Sistema ou Privilegiada) – Executa instruções do
S.O. ou operações privilegiadas (Gravar em disco)
Sistema de Proteção
Evitar que um processo interfira em um outro processo
Gerência de arquivos
Create file, delete file, open, close, read, write, reposition, get file attribute, set
file attributes
Gerência de dispositivos
Request device, release device, read, write, reposition, get device attribute, set
device attributes, logically attach or detach attributes
Manutenção de Informações
Get time or date, set time or date, get system data, set system data, get process.
File, or device attributes, set processo, file, or device attributtes
Comunicações
Create, delete comunication cooncetion, send, receive messages, transfer
status informaion, attach or detach remote device
S.O.
Sistemas Operacionais
Estruturas de Sistema Operacionais
Programas de Sistema (categorias)
Gerência de Arquivos
Informações de Status
Modificação de Arquivo
Suporte à Linguagem de Programação
Carregamento e Execução de Programas
Comunicação
S.O.
Sistemas Operacionais
Estruturas de Sistema Operacionais
Estrutura do Sistema
Estrutura Simples
Abordagem em Camadas
Microkernels
S.O.
Sistemas Operacionais
Estruturas de Sistema Operacionais
Estrutura do Sistema
Estrutura Simples (Monolítico – MS-DOS)
Programas Aplicativos
Drivers de Dispositivo
do MS-DOS
Gerência de Memória
Kernel Alocação de Tarefas
do Sistema Gerência de Dispositivos
Interpretador
Java
Sistema Host
S.O.
Sistemas Operacionais
Estruturas de Sistema Operacionais
Máquina Virtual
Estado do Processo
Novo: O processo está sendo criado
Em execução: as instruções estão sendo executadas
Em Espera:o processo está esperando a ocorrência de algum evento
Conclusão de Operação I/O ou recepção de um sinal
Pronto:o processo está esperando para ser atribuído a um processador
Encerrado:o processo terminou sua execução
S.O.
Processo
Um programa em execução
Estado do Processo
pronto Em Execução
Escolha do escalonador
Em Espera
S.O.
Processo
Bloco de Controle de Processo (PCB)
Repositório de informações que variam de processo a processo
Composição
Estado do Processo
Contador de Programa
Registradores de C.P.U.
Informações de Escalonamento de C.P.U.
Informações de Gerência de Memória
Informações de Contabilização
Informações de status de I/O
S.O.
Processo
Bloco de Controle de Processo (PCB)
Repositório de informações que variam de processo a processo
Composição
Inativo ou ‘’
Ocioso
Executando
Interrupção ou Chamada ao Sistema
Inativo
Disparar Thread0
Disparar Thread1
Processo
Threads0
Threads1
S.O.
Filas de Escalonamento
Cabeçalho da Fila
PCB 7 PCB 2
Fila de Inicio
Processo Prontos fim Registradores Registradores
. .
. .
Unidade de Fita Inicio
Magnético 0 fim
PCB 3 PCB 6
Disco Inicio
Unidade 0 fim Registradores Registradores
. .
. .
S.O.
Filas do Escalonamento de Processos
fila de
CPU
Processos Prontos
Fatia de
Tempo Expira
Filho
Cria um Processo
Executa Filho
Fila de
CPU fim
Processos Prontos
Filas de
I/O Espera de I/O
S.O.
Criação de Processos –
Possibilidades em termos de execução durante a criação de um
processo
Pai continua executar de forma concorrente com os filhos
Pai espera até que alguns ou todos os filhos tenham terminado
Raiz
Produtor Consumidor
Buffer
S.O.
Sistema de Troca de Mensagens
Comunicação
Processo P Processo Q
Modelos de Comunicação
Nomeação
Processo Q
Processo P
Comunicação Direta
Receive(P,message)
Send(Q, message)
Processo P
Comunicação Indireta Processo Q
Correio
Send(Q, message)
Compartilhado Receive(P,message)
S.O.
Sistema de Troca de Mensagens
Modelos de Comunicação
Sincronização
Thread Thread
S.O.
Threads
Benefícios
Capacidade de Resposta
Navegador Web com múltiplas Threads carregam várias imagens simultaneamente
Compartilhamento de Recursos
Um único espaço de endereçamento
Economia
Custo de criação inferior a criação de um processo
Utilização de Arquitetura Multiprocessador
Um Thread para cada processador
S.O.
Threads
Classificação
Threads de Usuário
Criação, escalonamento e gerência a nível de usuário sem suporte do Kernel
Threads de Kernel
Criação, escalonamento e gerência a nível de Kernel
Threads mais lentas do que os threads de usuários
S.O.
Threads
Modelos de Multithreading
novo
novo Terminado
start() stop()
Executável
sleep()
resume()
suspend()
I/O
Bloqueado
S.O.
Escalonamento de C.P.U.
Base dos Sistemas Operacionais Multiprogramados
Objetivo : Maximizara utilização da CPU
Propriedade dos Processos – Alternância entre os surtos
Surto de CPU
Grande Número de Surtos de CPU curtos e número pequeno de surtos de CPU longo
Surto de I/O
Escalonamento preemptivo
Características
Estado de Execução Estado de Espera (EX: Solicitação de I/O)
Termino de Processo
Estado de Execução Estado de Pronto (Interrupção)
Estado de Espera Estado de Pronto (Conclusão de I/O)
Requisitos :
Exclusão Mútua – Somente um Thread pode está executando num seção crítica
Progresso – Caso não tenha nenhuma thread numa seção crítica e houver
threads tentando entrar nesta seção, somente eles podem participar na decisão
de qual deles entrará na sua seção crítica que não pode ser adiada
indefinidamente
Espera Limitada - O número de solicitação de entrada numa seção crítica antes
do atendimento é limitado para evitar o Starvation
S.O.
Sincronização de Processos
Seção Crítica
Requisitos :
Quando processos ou threads tentam manipular área de dados compartilhados
simultaneamente
Problema – Quando um thread tenta realizar um débito numa conta corrente ao
mesmo tempo que um outro thread tenta creditar um outro valor
Condição de Corrida – Quando a ordem de execução dos Threads durante a
manipulação dos dados compartilhados acessados concorrentemente, geram
resultados diferentes
S.O.
Sincronização de Processos
Tipos de Sincronização
Sincronização por Software – Emprego de Algoritmo
Sincronização por Hardware – Utiliza Operações atômica de teste e troca
de conteúdo (Test-And-Set)
S.O.
Sincronização de Processos
Soluções
Semáforos – Variável inteira que além da Inicialização 2 operações atômicas básicas :
P de proberen (Testar) e V de Verhogen (Incrementar)
Desvantagem – Espera ocupada – Spinlock
P (S) {
while S <= 0 ;
S --;
}
V(S) {
S++;
}
Chamadas
Semaphore S;
P(S);
Seção Critica;
V(S);
S.O.
Sincronização de Processos
DeadLocks
2 ou mais processos estão esperando indefinidamente por um evento que
somente pode ser provocado por um dos processos em espera
P0 P1
P(S); P(Q);
P(Q); P(S);
: :
. .
V(S); V(Q);
V(Q); V(S);
S.O.
Sincronização de Processos
Problemas Clássicos de Sincronização
Buffer Limitado – Emprego de semáforo para Exclusão Mútua, durante a
utilização do Buffer
O que acontecem quando todos tentam comer ao mesmo tempo ? Ninguém come
Solução
Permitir, no máximo, 4 filósofos comerem ao mesmo tempo
Permitir que um filosofo só pegue o talher se os dois talheres estiverem
disponíveis (Observe que o filosofo deverá pegá-lo numa seção crítica)
Solução Assimétrica – Filósofo Impar pega primeiro talher a esquerda,
Filósofo, a direita
S.O.
Sincronização de Processos
Monitores
Programa que fornece uma série de operações definidas pelo programador
e monitora os recursos compartilhados
S.O.
Deadlocks
Processos em Estado de Espera que aguardam a liberação de algum recurso
que estão preso por algum estado de espera
Rk Pi
Rn
P0
R0 Pj
S.O.
Deadlocks
Tratamento de Deadlock
Prevenção do Deadlock
Não permitir simultaneidade das condições de ocorrência citadas
Registrador de
Alocação
Registrador Lógico Registrador Físico
14000
346 14346
Memória
C.P.U +
S.O.
Gerência de Memória
Espaço de Endereçamento Lógico x Físico Tempo de Execução I
M
D T D I
A
O O O
R Outros R R N
Módulos Biblioteca A
Biblioteca
Objeto M
do Sistema do Sistema E
M
Carregada
Ó
Dinamicamente R
I
A
S.O.
Gerência de Memória
Espaço de Endereçamento o de Memória
Em Tempo de Compilação – Código absoluto . COM – Endereço de Memória definido
“A Priori”
Em Tempo de Carga – Código Relocável – Associação só ocorre no momento da
carga (Endereço Lógico = Endereço Físico)
Em Tempo de Execução - Associação em tempo de execução. Processo movido de
um segmento para um outro (Endereço Físico e Lógico diferentes (Endereço Virtual)
Passo 1 - 70 k Passo 2 - 70 k
S.O.
Gerência de Memória
Swapping
Movimentação do Conteúdo do Disco para a Memória e Vice-Versa.
Caso a resolução do endereço ocorra no momento da carga, o
processo deve ocupar a mesma posição de memória ao retornar do
disco
Memória Principal
Sistema Operacional
Swap Out
Processo
P1
Swap In
Processo
Espaço de Usuário P2
S.O.
Gerência de Memória
Alocação Contígua da Memória
O uso do registrador de limite e de relocação protegem o S.O. e os outros processos
contra acesso inválido
Registrador de Registrador de
Limite Relocação
Endereço
Endereço
Lógico
Físico
sim
C.P.U < + Memória
não
Exceção:Erro de Endereçamento
S.O.
Gerência de Memória
Alocação Contígua da Memória
Problema de alocação de memória Dinâmica – Procedimento de atendimento de um
pedido de tamanho N de uma lista de blocos de memória livre
Estratégia de solução
First Fit – Aloca o Primeiro Bloco livre de Memória
Best-Fit – Aloca o menor bloco de memória suficiente para conter o processo
Worst-Fit – Aloca o maior bloco de memória suficiente para conter o processo
Conseqüência
Fragmentação Externa – Embora haja área disponível para o processo, este não é alocado na
memória principal por estar fragmentada
Fragmentação Interna – (memória alocada de um processo – memória solicitada) produz
pequena área de memória que não vale a pena administrar devido ao seu alto custo
S.O.
Gerência de Memória
Paginação
Esquema que permite que o espaço de endereçamento físico de um
processo não seja contíguo
Memória Física – Quebrada em quadro de tamanho N
Memória Lógica – Quebrada em Pagina de Tamanho Fixo
Mínimo N Página x N Quadro
Endereço Endereço
Tabela de Página
Lógico
{
Físico
----------
C.P.U P|D F|D Memória
p ---------
_________
F
_________
----------
---------
Hardware de Paginação
S.O.
Gerência de Memória
Paginação
Técnica utilizada para que o S.O. possa executar processos maiores que a
memória disponível- Elimina o problema de fragmentação externa
Número
do Quadro
0
1 Pagina 0
Pagina 0 0 1
2
Pagina 1 1 4
3 Pagina 2
Pagina 2 2 3
4 Pagina 1
Pagina 3 3 7
5
6
Memória Lógica Tabela de Página
7 Pagina 3
Memória Física
Gerência de Memória
S.O. Livres Em Uso
Paginação
Lista de Quadros Livres
Número Lista de Quadros Livres Número
14
do Quadro 15 do Quadro
13
0 14
18 13
13 Pagina 1
20 1 13
14 Pagina 0
15 14
2 18
15
15
16 XXXXX 3 20
16 XXXXX
17 XXXXX Tabela de Página
17 XXXXX
18 do Novo Processo
18 Pagina 2
19 XXXXX
19 XXXXX
Pagina 0 20 Pagina 0 20 Página 3
Pagina 1 21 XXXXX Pagina 1 21 XXXXX
Pagina 2
Pagina 2
Pagina 3 Memória Física
Pagina 3 Memória Física
Novo Processo
Novo Processo
Quadros Livres Antes da Alocação Quadros Livres Depois da Alocação
S.O.
Gerência de Memória
Paginação
Estrutura da Tabela de Página
A Paginação aumenta o tempo de troca de contexto
Cada processo tem sua estrutura de página
Implementação
Conjunto de Registradores Dedicados – Tabela em Memória com um único
Registrador de Base da Tabela de Página (PTBR)
Registradores associativos (translation look-aside buffers – TLBS) – a dupla
(chave, valor) na memória cache
S.O.
Gerência de Memória
Paginação
Estrutura de Pagina – Implementação com TLB
Endereço
Lógico
P|D Página Quadro
C.P.U
{
Físico
----------
p F|D Memória
---------
_________
Erro da TLB
F
_________
----------
---------
Hardware de Paginação
S.O.
Gerência de Memória
Proteção
Bit que indica a permissão (Leitura-Escrita, Somente Leitura, Execução)
0
Numero do Quadro Bit-Válido-Inválido Número
1
do Quadro
2 Pagina 0
Pagina 0 0 2 V Pagina 1
3
Pagina 1 3 V
1 4 Pagina 2
Pagina 2 4 V V – Válido 5
2
Pagina 3 7 V I - Inválido 6
Pagina 4
3 8 V 7 Pagina 3
Pagina 5 5 9 V 8 Página4
6 0 I 9 Pagina 5
Memória Lógica
0 I
7 :
:
Tabela de Página
Memória Física
S.O.
Gerência de Memória
Programação Multiníveis
Quando o espaço de memória é muito grande e a tabela de página contigua
torna-se muito grande, cria-se níveis para tabela de página com a finalidade
de economia de espaço de memória física
0
1
: 2
: 3
4
5
: 6
: 7
Tabela Externa 8
9
Memória Física
S.O.
Gerência de Memória
Programação Multiníveis
Quando o espaço de memória é muito grande e a tabela de página contigua
torna-se muito grande, cria-se níveis para tabela de página com a finalidade
de economia de espaço de memória física
Endereço Lógico
P1 | P2 | D
P1
P2
P1 – Pagina Externa
D
Tabela de
P2 – Pagina Interna
Página Externa
D - Deslocamento
Página de Tabela de
Página
Memória
S.O.
Gerência de Memória
Tabela de Página Invertida - <id-processo, número de página, deslocamento>
OBS: só existe única tabela de página no Sistema
Problema – Desempenho, Hashing, Registradores Associativos
Endereço
Lógico
Pesquisa
----------
---------
_________
Pid | P
_________
} i
I|D Memória
----------
---------
Tabela de Página
S.O.
Gerência de Memória
Páginas Compartilhadas – Mesma Página utilizada por diferentes processo- Ex;
Código reentrante
0
Ed1 3 Ed1,2,3 = Página do Editor Dados 1
1
Ed2 4 2 Dados 3
Ed3 6 3 Ed1
Dados 1 1 Ed1 3 4 Ed2
Tabela de Ed2 4 5
Processo P1 página P1
Ed3 6 6 Ed 3
Dados 2 7 7 Dados 2
Ed1 3
Tabela de 8
Ed2 4 Processo P2
página P2 9
Ed3 6
Dados 3 2 Memória Física
Processo P3 Tabela de
página P3
S.O.
Gerência de Memória
Segmentação – técnica utilizada para reduzir o espaço contíguo para o
processo, separando as partes de acordo com a visão do usuário, visando para
partes compartilhadas das não compartilhadas
S {
Limite Base
Tabela de Segmento
Endereço
Físico
sim
C.P.U S|D < + Memória
não
Exceção:Erro de Endereçamento
S.O.
Gerência de Memória
Páginas Compartilhadas – Mesma Página utilizada por diferentes processo- Ex:
Código Reentrante
1400
Segmento 0
Espaço de Endereço Lógico 2400
Tabela de Pagina
Entrada
Físico
Entrada na
tabela de página
Registrador de Base Entrada de
do Diretório de Página Diretório
Diretório de Página
Tradução de Endereço no Intel 80386
S.O.
Memória Virtual
Técnica que permite a execução de processos que podem não estar
inteiramente na memória
Fundamentos
Grande parte do código do sistema é tratamento de erro que raramente é executado
Vetores, listas e tabelas normalmente são superdimensionados
Certos recursos ou opção de um programa são usados raramente são usados
S.O.
Memória Virtual
Página 0
Página 1
Página 2
:
:
Mapa da Memória
Página n
Programa A 0 1 2 3
Swap Out
(descarga) 4 5 6 7
8 9 10 11
12 13 14 15
Swap In
(carga) 16 17 18 19
Programa B
20 21 22 23
24 25 26 27
28 29 30 31
Memória Principal
Memória Virtual
S.O.
Tratamento de uma Falta de Página
1 – Verificação da validade da memória
2 – Se referência Inválida – Termina Processo.
Caso Contrário – Página não carregada, Carrega-se Página
3 - Pesquisa de Quadro Livre
4 – Leitura da Página Desejada no quadro recém alocado
5 - Indicação de Página carregada na memória na tabela interna do processo
6 – Reinicio da instrução interrompida
Memória Virtual
S.O.
Tratamento de uma Falta de Página
Sistema Operacional
3 – A Página está no
Armazenamento
Secundário
2 - Exceção
Carregar 1 - Referência
M
i
Tabela de Página
6 – Reiniciar
Instrução
4 – Carregar a
Página Faltante
Memória Física
Memória Virtual
S.O.
Substituição de Página – Retirar da Memória a página que tenha a menor
probabilidade de ser utilizada
Retirada dos quadro utilizados por outros processo para o processo ativo (fila para
dispositivo de paginação)
3 1
2
1 6 3
2 4
3 1 5
4 5 6
5
6 4
2
1 2 3 4 5 6
Arquivo em Disco
S.O.
Gerência de Arquivos
Estrutura Interna de Arquivo – Depende da sua finalidade : EX. DOC; .EXE
Registro Lógico x Registro Físico
Método de Acesso
Acesso Seqüencial
Acesso Direto
Acesso Indexado
Diretório –Local onde encontra informações sobre o arquivo : Nome, Posição,
Tamanho
Operações Básicas : Pesquisar Arquivos, Criar Arquivo, Excluir Arquivo, Listar
Diretório, Renomear Arquivo, Percorrer Sistema de Arquivo
Estrutura Interna
Diretório de Nível Único
Diretório de 2 Níveis
Diretório Estruturado em Arvore
Diretório de Grafo Acíclico
Diretório de Grafo genérico
S.O.
Gerência de Arquivos
Estrutura Lógica do Diretório - Diretório de Nível Único
Arquivos
Diretório de Arquivos
de Usuário (UFD) Cat Bo a test data mail cont hex records
Arquivos
S.O.
Gerência de Arquivos
Estrutura Lógica do Diretório - Diretório Estruturados em Árvore
list rade w7
S.O.
Gerência de Arquivos
Estrutura Lógica do Diretório - Diretório em Grafos Genérico
Diretório
Count
0 1 2 3 Arquivo Inicio tamanho
F Count 0 2
4 5 6 7
Tr 14 3
8 9 10 11 Mail 19 6
Tr
12 13 14 15 List 28 4
F 6 2
16 17 18 19
Mail
20 21 22 23
24 25 26 27
List
28 29 30 31
Gerência de Arquivos
S.O.
Método de Alocação
Alocação Encadeada – Resolve problema de fragmentação externa e alocação de
área contígua – Perde-se em desempenho devido a dispersão dos ponteiros nos
próprios blocos
Diretório
8 9 10 11
12 13 14 15
16 17 18 19
20 21 22 23
24 25 26 27
28 29 30 31
Gerência de Arquivos
S.O.
Método de Alocação
Alocação Indexada –Resolve o problema do desempenho devido os ponteiro estarem
num único local
Diretório
8 9 10 11
9
12 13 14 15
16
16 17 18 19
1
19
20 21 22 23 10
24 25 26 27 25
28 29 30 31
Gerência de Arquivos
S.O.
Gerência de Espaço Livre
Vetor de bits
Lista Encadeada de Espaço Livre no Disco
Agrupamento
Contadores
Gerência de Arquivos
S.O.
Gerência de Espaço Livre - Vetor de bits
Posição da Memória
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29
0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0
0 - desocupado
1 - ocupado
Gerência de Arquivos
S.O.
Gerência de Espaço Livre
Lista Encadeada de Espaço Livre no Disco
Espaço Livre
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
16 17 18 19
20 21 22 23
24 25 26 27
28 29 30 31
Gerência de Arquivos
S.O.
Gerência de Espaço Livre – Agrupamento – Alocação e liberação de grupo de
área
Gerência de Espaço Livre – Contadores – grupo com n blocos contíguo –
apontando para o primeiro bloco
Gerência de Arquivos
S.O.
Implementação de Diretório – Estrutura de Dados de Acesso
Lista Linear
Tabela de Hash
Sistema de I/O
S.O.
Método necessários para controlar os dispositivos de I/O, devido as suas
especificidades (velocidade, funções), separando o resto do Kernel da
Complexidade de gerenciamento de I/O
Barramento
Sistema de I/O
Discos
SCSI
Estrutura Típica de Barramento do P.C
Monitor Processador
cache
Barramento
Barramento de Expansão
Discos
6
C.P.U. retorna o processamento da tarefa interrompida
Sistema de I/O
S.O.
S.O. Moderno – Linhas de solicitação de Interrupção
Tipos de Interrupção
Interrupção Mascarável – Pode ser desativada pela C.P.U. antes de uma seqüência
de execução críticas que não deve ser interrompida
Interrupção Não-mascarável - Reservada para eventos com erros irrecuperáveis
Sistema de I/O
S.O.
DMA (Direct Memory Access) – Controladora de acesso a memória –
Processador Especializado em I/O, visando liberar a C.P.U. de uso geral
1. Driver de dispositivo é solicitado transferir
5. Controladora de DMA transfere bytes
dados do disco para o buffer no endereço X
para buffer X, incrementando o endereço
de memória e decrementando C até C = 0 2. Driver de dispositivo solicita a controladora
C.P.U.
de disco para transferir C bytes do disco para o
6. Quando C=0, a controladora DMA
buffer no endereço X
interrompe a C.P.U. para sinalizar a
conclusão da transferência Cache
Memória X
Barramento
KERNEL
Software
Pedido de I/O Processo de Usuário I/O concluída, dados de entrada disponíveis ou saída concluída
Chamada ao Sistema Retorno da Chamada ao Sistema
Pedido pode ser atendido Kernel Transferir dados (se apropriado) para o processo, retornar
imediatamente ? código de conclusão ou falta
Sim
Não
Proteção
Matriz de Acesso
Objeto F1 F2 F3 Impressora D1 D2 D3 D4
Domínio
D3 Leitura Execuç
ão
Objeto F1 F2 F3 Objeto F1 F2 F3
Domínio Domínio
D1 Execução Escrita* D1 Execução Escrita*
(a) (b)
Matriz de Acesso após a execução do direito de copy no Domínio D2 para o Objeto F2 para o Domínio D3
Proteção
S.O.
Revogação de Direitos de Acesso
Características da Revogação
Imediata x Retardada
Revogação ocorre imediatamente ou é retardada ?
Seletiva x Geral
Ao revogar o direito de um objeto, afeta todos os usuários que tenham
direitos de acesso a esse objeto ou um grupo selecionado ?
Parcial x Total
Pode-se revogar um subconjunto de direitos de um objeto ?
Temporária x Permanente
A revogação do direito pode ser cancelada ?
Segurança S.O.
Mediada de Confiança de que a Integridade de um sistema e de seus dados
serão preservados Revogação de Direitos de Acesso
Tipos de Violação
Maliciosas
Leitura não autorizada
Modificação não autorizada
Destruição não autorizada
Ameaça ao Sistema
Worms (verme) – Utiliza-se do mecanismo de propagação (Spawn) para
diminuir o desempenho do sistema
Vírus - Programa criado para disseminação em outros programas, visando
modificar ou destruir arquivo e causar falhas nos sistemas e mau
funcionamento dos programas
Monitoração de Ameaça
Verificar padrões suspeitos de atividade numa tentativa de detectar violação
de segurança
Registro de Auditoria
Varredura a procura de furos, senhas curtas ou de fácil advinhação