Sistemas Operacionais - DC

Propaganda
Sistemas Operacionais
Profa. Regina Borges de Araujo
Livro Texto
• Sistemas Operacionais Modernos. Tanenbaum, A., Pearson
– Prentice Hall, 2003
Outras Referências
• Operating Systems – Deitel, H., Deitel, P. & Choffnes, D.,
3rd edition, Pearson, Prentice Hall, 2003
• Sistemas Operacionais – Conceitos e Aplicações.
Silberschatz, Galvin & Gagne,Editora Campus, 2001
Informações sobre o curso
http://www.dc.ufscar.br/~regina/apresentaso.html
1
Capítulo 1
Introdução
1.1 O que é um sistema operacional
1.2 História dos sistemas operacionais
1.3 O zoológico de sistemas operacionais
1.4 Revisão sobre hardware de computadores
1.5 Conceitos sobre sistemas operacionais
1.6 Chamadas ao sistema
1.7 Estrutura de sistemas operacionais
2
Introdução
• Um sistema computacional consiste em
– hardware
– programas do sistema
– programas de aplicação
3
O que é um Sistema Operacional
• É uma máquina estendida
– Oculta os detalhes complicados que têm quer ser
executados
– Apresenta ao usuário uma máquina virtual, mais
fácil de usar
• É um gerenciador de recurso
– Cada programa tem um tempo com o recurso
– Cada programa tem um espaço no recurso
4
História dos Sistemas Operacionais (1)
• Primeira geração 1945 - 1955
– Válvulas, painéis de programação
• Segunda geração 1955 - 1965
– transistores, sistemas em lote
• Terceira geração 1965 – 1980
– CIs e multiprogramação
• Quarta geração 1980 – presente
– Computadores pessoais
• Quinta geração – a partir do ano 2000
– Computação ubíqua
5
História dos Sistemas Operacionais (2)
Segunda geração 1955 - 1965
Antigo sistema em lote
(a) traz os cartões para o 1401
(b) lê os cartões para a fita
(c) e (d) coloca a fita no 7094 que executa o processamento
(e) e (f) coloca a fita no 1401 que imprime a saída
6
História dos Sistemas Operacionais (3)
Estrutura de um job FMS típico – 2a. geração
7
História dos Sistemas Operacionais (4)
Terceira geração 1965 – 1980
• Sistema de multiprogramação
– Três jobs na memória
• Spooling
• Compartilhamento de tempo
8
História dos Sistemas Operacionais (5)
Quarta geração 1980 – presente
• Intel 8080 - CP/M
– domínio de 5 anos - popularização dos PCs
• IBM projeta o IBM/PC, DOS/BASIC, MS-DOS
• IBM PC/AT/80286 em 1983 (morte do CP/M)
• Doug Engelbart inventa GUI (adotada pela Xerox
e incorporada em suas máquinas)
–
–
–
–
LISA (Apple) incorpora GUI – fracasso (alto custo)
Apple MacIntosh – enorme sucesso
MS-GUI: W3.0/3.1/3.11/W95,W98, WMe – W/NT
UNIXGUI: XWindows (MIT), Motif (roda sobre X)
9
História dos Sistemas Operacionais (6)
Quarta geração 1980 – presente
• Sistemas Operacionais de Rede
• Sistemas Distribuídos
• Internet/WWW
– Servidores WWW
• Linux, FreeBSD
• Solaris
– MS/Windows x Linux
• Internet 2
– Novas Aplicações (MM, Realidade Virtual)
10
História dos Sistemas Operacionais (7)
Quinta geração – a partir de 2000
Computação Ubíqua
“É a visão de um mundo no qual o custo do
poder computacional e das comunicações
digitais tornam-se tão baratos a ponto de
poderem ser embutidos em todos os objetos
que nos cercam no dia-a-dia”
Frank Stajano, 2003 – Cambridge University
11
História dos Sistemas Operacionais (8)
Quinta geração – Computação Ubíqua
12
O Zoológico de Sistemas
Operacionais (1)
• Sistemas Operacionais de Computadores de Grande
Porte
– Capacidade de E/S, processamento de vários jobs de uma vez
– Serviços típicos: lote, processamento de transação e tempo
compartilhado
• Sistemas Operacionais de Servidores
– Servem múltiplos usuários de uma vez (compartilhamento de
recursos de software e hardware) via rede.
• Sistemas Operacionais de Multiprocessadores
– Múltiplas CPUs num único sistema (computadores paralelos,
multicomputadores ou multiprocessadores)
• Sistemas Operacionais de Computadores Pessoais
13
O Zoológico de Sistemas
Operacionais (2)
• Tempo Real
– Tempo é o parâmetro chave
– Tempo real crítico x não crítico
• Embarcados
– Pequenos computadores e TVs, celulares, fornos de microondas
– Restrições de tamanho, memória e potência (PalmOS, W/CE –
Consumer Electronics)
• Cartão Inteligente
– Restrições extremas de tamanho de memória e poder de
processamento
– JVM em ROM
– S.O. primitivo gerencia desde uma única função até tratamento de
múltiplas applets
14
Revisão sobre hardware de
computadores (1)
Bus
Componentes de um computador pessoal simples
15
Revisão sobre hardware de
computadores (2)
Processadores
• Busca, decodifica e executa instruções
• Cada UCP tem um conjunto específico de instruções a
executar
• Tempo de acesso x tempo de execução => leva à necessidade
de ter Registradores (PC, ponteiro de pilha, PSW)
• S.O. sabe sobre todos os registradores (chaveamento de
contexto)
• UCPs mais complexas (pipeline, superescalar) => exigem
S.Os e compiladores mais complexos
• S.O.: modo núcleo (acesso total ao hardware) e modo usuário
(subconjunto de chamadas ao sistema para acesso ao
hardware)
• Programa do usuário obtém serviços do S.O. => Chamadas ao
Sistema => TRAP (muda de modo usuário para modo núcleo)
16
Revisão sobre hardware de
computadores (3)
(a) Um pipeline de três estágios
(b) Uma CPU superescalar
17
Revisão sobre hardware de
computadores (4)
• Típica hierarquia de memória
– números mostrados são apenas aproximações
18
Revisão sobre hardware de
computadores (5)
Memória
• Ideal: extremamente rápida, grande e barata => nenhuma tecnologia
satisfaz => hierarquia de camadas
• Registradores > cache > Memória principal > discos magnéticos > fitas
magnéticas
• Discos – rotação a 5400, 7200, 10800 rpm
– Trilha (dividida em setores)
– Setores (512 bytes)
– Cilindro
– Tempos de disco
•
•
•
•
de um cilindro ao próximo: 1ms
de um cilindro para um cilindro aleatório: 5 a 10 ms
espera posicionar setor: 5 a 10 ms
R/W: 5 a 160MB/s
• Fitas – baixo custo
• ROM/EEPROM/FlashRAM (muito mais lento para escrever do que
RAM)/CMOS
• Memória e multiprogramação (MMU e o S.O. – problemas de proteção e
relocação)
19
Revisão sobre hardware de
computadores(6)
Estrutura de uma unidade de disco
20
Revisão sobre hardware de
computadores (7)
(a) um par base-limite (b) dois pares base-limite
21
Revisão sobre hardware de
computadores (8)
(a) Passos para iniciar um dispositivo de E/S e obter
uma interrupção
(b) Como a CPU é interrompida
22
Revisão sobre hardware de
computadores (9)
Dispositivos de Entrada/Saída
• Alta interação com o S.O.
• Dispositivo de E/S = dispositivo + Controlador
• Dispositivos => interface simples/padronizada IDE/SCSI –
controlador IDE acessa qualquer disco IDE
• S.O. fala com controlador através dos Drivers de dispositivo
• Driver => interage diretamente com o controlador
• Driver tem que ser colocado no S.O. e rodar no modo núcleo
(religa o núcleo; cria entrada no S.O. e reboot; driver é
adicionado “on the fly” – hot plug in USB)
• Formas de realizar E/S:
– Espera Ociosa: Programa do usuário=> Chamada ao sistema =>
chamada de procedimento para driver => inicia E/S (espera ociosa até
completar) => driver coloca dados (se houver) na memória
– Interrupção: idem acima sem espera – controlador gera interrupção
– DMA: acesso direto à memória sem a intervenção da CPU
23
Revisão sobre hardware de
computadores (10)
Barramentos
• Um barramento só é insuficiente para tratar todo o tráfego
=> adição de barramentos adicionais (para dispositivos de
E/S mais rápidos e maior vazão entre UCP-memória)
• Sistema Pentium tem 8 barramentos (cada um com uma
função e taxa de transferência diferentes)
• S.O. tem que saber sobre todos os barramentos para
configuração e gerenciamento => PLUG AND PLAY (MS
e Intel)
• Antes do plug and Play - cada placa de dispositivo de E/S
tinha nível de interrupção fixo e endereços fixos para
registradores de E/S
24
Revisão sobre hardware de
computadores(11)
Estrutura de um sistema Pentium
25
Revisão sobre hardware de
computadores(12)
Barramentos
• O que fazer quando as interrupções
conflitavam?
– DIP switches ou Jumpers em cada placa de E/S
CAOS
• Plug and Play => mecanismo centralizado
– sistema coleta automaticamente info sobre todos os
dispositivos de E/S
– Atribui níveis de interrupção e endereços de E/S
– Divulga para cada placa quais são os seus números
26
Revisão sobre hardware de
computadores(13)
Barramento
Ciclo
Taxa de
Transferência
ISA
8.33MHz
(2 bytes de uma vez)
16.67MB/s
66MHz
(8 bytes de uma vez)
528MB/s
(Industry Standard
Architecture)
PCI
(Peripheral Component
Interconnect)
IDE
USB
1.5MB/s
SCSI
160MB/s
27
Revisão sobre hardware de
computadores(14)
BIOS
• Localizado em memória Flash na placa mãe
– Pode ser atualizado pelo S.O.
• Inicializado no boot
– Varre os barramentos ISA e PCI (grava dispositivos plug & play
e os legados – se forem diferentes do último boot, configura os
novos)
– Determina o dispositivo de boot (checa contra lista na CMOS)
– Lê primeiro setor do dispositivo de boot e executa
– Determina a partição ativa (através de programa que examina a
tabela de partição no final do setor de boot)
– Um loader secundário de boot é lido da partição ativa
– Loader secundário lê o Sistema Operacional da partição ativa
para a memória e o inicializa
28
Revisão sobre hardware de
computadores(15)
Atividades Iniciais do Sistema Operacional
• Extrai informação de configuração da BIOS
• Checa a presença de driver para cada dispositivo de E/S
(se não encontra pede ao usuário para inserir disco ou CDROM com o software)
• Carrega todos os drivers no kernel (núcleo) do S.O.
• Inicializa suas tabelas
• Cria processos em background
• Inicializa programa de login ou uma interface gráfica para
cada terminal encontrado
29
Conceitos sobre Sistemas
Operacionais (1)
• Uma árvore de processos
– A criou dois processos filhos: B e C
– B criou três processos filhos: D, E, e F
30
Conceitos sobre Sistemas
Operacionais (2)
(a) Um deadlock potencial. (b) um deadlock real.
31
Deadlocks
(Jean Bacon)
Dois ou mais processos esperam indefinidamente
por algo (um evento?) que pode ser fornecido
por apenas um dos processos em espera.
Exemplo de
deadlock no tráfego
Setas = carros
Starvation: Um processo pode ser negligenciado repetidamente.
• Com a inanição existe sempre uma forma de resolver a situação
• Com o deadlock, uma vez que ele ocorre, não pode ser resolvido
A detecção de deadlock pode ser bem complicada!
32
Conceitos sobre Sistemas
Operacionais (3)
Sistema de arquivos de um departamento universitário
33
Conceitos sobre Sistemas
Operacionais (4)
• Antes da montagem,
– os arquivos do disco flexível são inacessíveis
• Depois da montagem do disco flexível em b,
– os arquivos do disco fazem parte da hierarquia de arquivos
34
Conceitos sobre Sistemas
Operacionais (5)
Exemplo:
host> cat arq1 arq2 arq3 | sort > /dev/lp
Dois processos conectados por um pipe
35
Conceitos sobre Sistemas
Operacionais (6)
Chamadas ao Sistema
(Interface entre o S.O. e os Programas do Usuário)
Programas do usuário
Chamadas
ao
Sistema
Sistema Operacional
36
Os Passos de uma Chamada ao Sistema
Os 11 passos para fazer uma chamada ao
sistema read (fd, buffer, nbytes)
37
Algumas Chamadas ao Sistema para
Gerenciamento de Processos
38
Algumas Chamadas ao Sistema para
Gerenciamento de Arquivos
39
Algumas Chamadas ao Sistema para
Gerenciamento de Diretório
40
Algumas Chamadas ao Sistema para Tarefas
Diversas
41
Chamadas ao Sistema (1)
• O interior de um shell:
42
Chamadas ao Sistema (2)
Os processos têm três segmentos:
texto, dados e pilha
43
Chamadas ao Sistema (3)
(a) Dois diretórios antes da ligação de
/usr/jim/memo ao diretório ast
(b) Os mesmos diretórios depois dessa ligação
44
Chamadas ao Sistema (4)
(a) Sistema de arquivos antes da montagem
(b) Sistema de arquivos depois da montagem
45
Chamadas ao Sistema (5)
Algumas chamadas da interface API Win32
46
Sistemas Monolíticos
Estrutura de Sistemas Operacionais (1)
Programa do Usuário 2
Chamada Programa do Usuário 1
para kernel
Programas do
usuário rodam
em modo
usuário
4
1
SO roda em
modo núcleo
3
2
1
2
3
4
Tabela de Despacho
Programa do usuário emite chamada do sistema
S.O. determina número de serviço solicitado
S.O. localiza e chama procedimento de serviço
Controle é retornado ao programa do usuário
47
Estrutura de Sistemas Operacionais (1)
Modelo simples de estruturação
de um sistema monolítico
48
Estrutura de Sistemas Operacionais (2)
Estrutura do sistema operacional THE
49
Estrutura de Sistemas Operacionais (3)
Estrutura do VM/370 com o CMS
50
Estrutura de Sistemas Operacionais (4)
O modelo cliente-servidor
51
Estrutura de Sistemas Operacionais (5)
O modelo cliente-servidor em um
sistema distribuído
52
Unidades Métricas
Os prefixos métricos
53
Download