Buscar

Revisão 2 Sistemas Operacionais

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 31 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 31 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 31 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
SIMONE MARKENSON
Rio de Janeiro, maio de 2011
1
FUNÇÕES DO S.O
PROCESSOS
THREADS
CONCORRÊNCIA
CONCEITOS IMPORTANTES
EXCLUSÃO MÚTUA
 ENTRAR_RC()				 Espera ocupada 
							 OU
							 bloqueio
 Código da região crítica
 SAIR_RC()				Liberação do recurso
SOLUÇÕES ALGORITMICAS
São baseadas em espera ocupada
Processos se alternam no uso de suas respectivas RCs, fazendo com que o tempo de execução seja ditado pelo processo mais lento.
Somente pode ser utilizado por dois processos.
Se um dos processos falhar (abortar, por exemplo) o outro jamais poderá entrar em sua RC novamente pois a variável vez não será alterada, contrariando uma das regras de implementação de mecanismos de exclusão mútua
SOLUÇÕES BASEADAS EM HARDWARE
Inibir interrupções
Não habilitar as interrupções por erro de programação (só desligando o computador!!!)
 Como somente as interrupções do processador que executou a instrução são desabilitadas não garante exclusão mútua em sistemas multiprocessados.
Instruções TSL
Utiliza espera ocupada
Possibilidade de starvation;
Deve garantir exclusividade no uso do barramento para multiprocessadores
Troca de Mensagens
Utilizado também em sistemas distribuídos
Utiliza primitivas send e receive para o envio e recebimento de mensagens.
As primitivas podem ou não bloquear o processo
Considere um receive bloqueante e um send não bloqueante. O processo deve aguardar um send par liberar o processo bloqueado na instrução receive.
receive(caixa_postal)
	 Região Crítica
send (caixa_postal)
SOLUÇÕES BASEADAS NO S.O.
Semáforos
O semáforo deve ser inicializado com um valor não negativo.
A operação wait decrementa o semáforo; se o valor ficar negativo o processo é bloqueado
A operação signal incrementa o semáforo; se o valor não ficar positivo o processo bloqueado pela operação wait é desbloqueado.
			Wait(s)
				Região Crítica
			Signal(s)
SOLUÇÕES BASEADAS NO S.O.
PARA QUE UMA ESTRATÉGIA DE ESCALONAMENTO?
Manter o processador ocupado o maior parte do tempo possível
Balancear o tempo de CPU entre as tarefas
Oferecer tempos de resposta razoáveis
Maximizar a taxa de atendimento (vazão) do sistema (throughput)
ESCALONAMENTO
 Cinco jobs, A, B, C, D e E, em batch, chegam ao computador com 1 segundo de intervalo entre eles. Seus tempos de processamento são estimados em 10, 7, 3, 4 e 5 segundos de CPU, respectivamente. Sendo round-robin a política de escalonamento utilizada, com um time-slice de 1 segundo, o tempo médio de turnaround desses processos (ignorando overheads de troca de contexto e interrupções e assumindo que um job recém-chegado é colocado no início da fila, ou seja, na frente dos outros) é:
EXERCICIOS – AULA 6
Organizando
 Processo 
	 A(10)	1	1 1	1 1	1 1 1 1 1---------------- 29s
	
	 B(7)	1	1 1	1 1	1 1 --------------------------- 25s
	 C	(3)	1	1 1 -------------------------------------------- 11s
	 D	(4)	1	1 1	1 ---------------------------------- 15s
	 E	 (5)	1	1 1	1 1 ------------------------- 18s
Calculando média
TM = (29 + 25 + 11 + 15 + 18 ) / 5
TM = 98/5 = 19,6 s
VINCULAÇÃO DE ENDEREÇOS
Tempo de Compilação
Código com endereçamento absoluto
Lógico = Físico
Tempo de Carga
Código relocável
Lógico = Físico
Tempo de Execução
Processo pode ser movimentado entre segmentos durante a execução
Lógico  MMU  Físico
Estática
Estática relocável
SO
Partição #1
Partição #2
Partição #3
Limite Superior da partição #1
Limite Inferior da partição #1
C
A
X
Y
W
Z
SO
Partição #1
2Kb
Partição #2
8Kb
Partição #3
5Kb
Limite Superior da partição #1
Limite Inferior da partição #1
C
A
X
6Kb
1.5Kb
3Kb
ou
ALOCAÇÃO CONTÍGUA
Dinâmico
X
A
C
1Kb
3Kb
S.O.
B
5 KB
D
2KB
ALOCAÇÃO CONTÍGUA
MEMÓRIA PAGINADA
Memória física é dividida em blocos de tamanho fixo: moldura (frames)
Processo é divido em blocos do mesmo tamanho: páginas
Tamanho da moldura = tamanho da página
Cada página é alocada em uma moldura
Exercícios – aula 7
Considere um sistema baseado em memória paginada com endereço lógico de 32 bits sendo 8 bits utilizados para identificação da página e os demais para o offset.
a)Quantos endereços cada página possui? 224 = 24 * 220 = 16M
		
 b)Quantas páginas um processo pode ter? 28 = 256 páginas
c)Qual o tamanho máximo de um processo considerando que cada endereço ocupa 2 bytes?
 256 x 16 M x 2B = 28 x 224 x 2 B = 233 B = 23 x 230 B = 8 GB 
 
 
8bits
24 bits
MV EM FUNCIONAMENTO!
S.O. traz a página que possui o endereço referenciado para a memória
Há uma grande chance dos próximos endereços estarem na mesma página, que já estarão na memória  princípio da localidade
Problema Trashing
CONSIDERAÇÕES
Página na memória?
		SIM : Page Hit
		NÃO: Page Fault
Página grande ou pequena?
		GRANDE: saturação; fragmentação interna
		PEQUENA: mais paginação; tabela de páginas maior
Onde colocar?
		Em qualquer moldura disponível
Considerando a sequência de referência de páginas abaixo e a utilização de 6 molduras (frames). A situação das molduras, imediatamente antes do início da sequência, inseridas nesta ordem (moldura 1, 2,3...6), 
inicio
1
3
4
7
12
6
5
2
3
M1
1
M2
12
M3
11
M4
9
M5
6
M6
3
Exercícios – aula 8
FIFO
inicio
1
3
4
7
12
6
5
2
3
M1
1
1
1
4
4
4
4
4
4
4
M2
12
12
12
12
7
7
7
7
7
7
M3
11
11
11
11
11
12
12
12
12
12
M4
9
9
9
9
9
9
9
5
5
5
M5
6
6
6
6
6
6
6
6
2
2
M6
3
3
3
3
3
3
3
3
3
3
PF
PF
PF
PF
PF
Memória virtual
LRU
inicio
1
3
4
7
12
6
5
2
3
M1
1
1
1
1
1
1
1
5
5
5
M2
12
12
12
4
4
4
4
4
4
3
M3
11
11
11
11
7
7
7
7
7
7
M4
9
9
9
9
9
12
12
12
12
12
M5
6
6
6
6
6
6
6
6
6
6
M6
3
3
3
3
3
3
3
3
2
2
PF
PF
PF
PF
PF
PF
Memória virtual
COMPONENTES E/S
E/S Nível do usuário
E/S independente do dispositivo
 Interface de I/O para aplicação
Driver (mecanismos de acesso ao dispositivo fornecendo uma visão uniforme)
Hardware
S.O.
Escalonamento de E/S
Baseado na fila de requisição
FiFo (First in First out)
Mais simples
Atendimento na ordem dos pedidos	
Prioridade 
fora do controle do gerenciador
LiFo (Last in First out)
Diminui o movimento da cabeça de leitura em arquivos seqüenciais
Escalonamento de E/S
Baseado na localização
SSTF (shortest service time first)
Fila é reordenada para atender as requisições de forma a minimizar o movimento da cabeça
Possibilidade de starvation 
Scan (elevador)
Variação do SSTF porém estipula uma direção preferencial
O sentido se inverte ao final da varredura
C-Scan 
Semelhante ao Scan porém com um sentido único
Exercício
Uma unidade de disco com 5000 cilindros , numerados de 0 a 4999 esta atendendo a um pedido no cilindro 20, sendo o atendimento anterior feito no cilindro 15. Considerando as requisições abaixo em ordem de chegada calcule o tempo gasto para atender as requisições para as políticas de escalonamento FIFO e  C-SCAN sabendo que são gastos 6 ms entre cada trilha.
Requisições: 10 – 22 – 20 – 2 – 40 – 6 - 38
 
Solução:
FIFO: Posição atual = 20
	20  10 		10
	10  22		12
	22  20		 2
	20  2		18
	2  40		38
	40  6		34
	6  38		32
			-----
			146 * 6 = 876 
			
876 e 59914 ms 		
30 e 28 ms 
59914 e 59934 ms 
876 e 59934 ms
Exercício
Uma unidade de disco com 5000 cilindros , numerados de 0 a 4999 esta atendendo a um pedido no cilindro 20, sendo o atendimento anterior feito no cilindro 15. Considerando as requisições abaixo em ordem de chegada calcule o tempo gasto para atender as requisições para as políticas de escalonamento FIFO e  C-SCAN sabendo que são gastos 6 ms entre cada trilha.
Requisições: 10 – 22 – 20 – 2 – 40 – 6 - 38
 
Solução:
C-SCAN: Posição atual = 20 (subindo)
	20  4999	4979	
	4999 0		5000
	0  10		 10
			-----
			9989 * 6 = 59934 
			
876 e 59914 ms 		
30 e 28 ms 
59914 e 59934 ms 
876 e 59934 ms
SISTEMAS DE ARQUIVOS
Persistência: Arquivos são armazenados em discos e não desaparecem ao término da sessão
Compartilhamento: Arquivos podem ser compartilha
	dos por processos diferentes
Estrutura: Possuem uma organização interna em função do tipo de informação que armazena
Atributos de um arquivo
Nome: representação utilizada para o usuário
Tipo: necessário em sistemas que utilizam mais de um tipo de arquivo
Localização: identificação da posição de um arquivo em um dispositivo específico
Tamanho: registro do tamanho atual do arquivo
Proteção: informações de controle de acesso
Usuário: identificação do criador do arquivo
Data e hora: registro da criação, ultimo acesso e ultima modificação
O QUE FAZ UM SISTEMA DE ARQUIVOS?
Atende às requisições de armazenamento e recuperação de informações
Garante a validade do arquivo
Provê rotinas para acesso
Provê acesso à dispositivos diferentes
Provê acesso à múltiplos usuários
Exercício
Um SO trabalha com blocos de 4KB. Endereços de bloco ocupam 4 bytes. Esse sistema utiliza alocação indexada para localizar os arquivos no disco. Cada descritor de arquivo possui uma tabela com 12 endereços de blocos composto por 8 endereços são diretos, 2 endereços indiretos simples e 2 endereços indiretos duplos. 
Qual o tamanho máximo de um arquivo nesse sistema?
Exercício
Tam do arquivo = (End.Direto + End. Ind. Simples + End. Ind. Duplo) * tam do bloco
Quantidade de endereços / bloco = 4KB / 4 = 210 endereços
bloco de endereços = 210 endereços
Direto = 23 * 212 = 215 bytes 		= 25 KB = 32 KB
IndSimples = 2 * 210 * 212 = 223 bytes 	= 23 MB = 8 MB
IndDuplo = 2 * 210 * 210 * 212 = 233 bytes 	= 23 GB = 8 GB
Total ~ 8 GB

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes