Resumo de S.O

Preview:

Citation preview

1

Sistemas OperacionaisProfa. 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 cursohttp://www.dc.ufscar.br/~regina/apresentaso.html

2

Introdução

Capítulo 1

1.1 O que é um sistema operacional1.2 História dos sistemas operacionais1.3 O zoológico de sistemas operacionais1.4 Revisão sobre hardware de computadores1.5 Conceitos sobre sistemas operacionais1.6 Chamadas ao sistema1.7 Estrutura de sistemas operacionais

3

Introdução

• Um sistema computacional consiste em– hardware– programas do sistema– programas de aplicação

4

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

5

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

6

História dos Sistemas Operacionais (2)

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

Segunda geração 1955 - 1965

7

História dos Sistemas Operacionais (3)

Estrutura de um job FMS típico – 2a. geração

8

História dos Sistemas Operacionais (4)

• Sistema de multiprogramação– Três jobs na memória

• Spooling• Compartilhamento de tempo

Terceira geração 1965 – 1980

9

• 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)

História dos Sistemas Operacionais (5)Quarta geração 1980 – presente

10

• 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)

História dos Sistemas Operacionais (6)Quarta geração 1980 – presente

11

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

História dos Sistemas Operacionais (7)Quinta geração – a partir de 2000

12

História dos Sistemas Operacionais (8)

Quinta geração – Computação Ubíqua

13

• 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

O Zoológico de Sistemas Operacionais (1)

14

• 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

O Zoológico de Sistemas Operacionais (2)

15

Revisão sobre hardware de computadores (1)

Componentes de um computador pessoal simples

Bus

16

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)

Revisão sobre hardware de computadores (2)

17

Revisão sobre hardware de computadores (3)

(a) Um pipeline de três estágios(b) Uma CPU superescalar

18

Revisão sobre hardware de computadores (4)

• Típica hierarquia de memória– números mostrados são apenas aproximações

19

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)

Revisão sobre hardware de computadores (5)

20

Revisão sobre hardware de computadores(6)

Estrutura de uma unidade de disco

21

(a) um par base-limite (b) dois pares base-limite

Revisão sobre hardware de computadores (7)

22

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

23

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

Revisão sobre hardware de computadores (9)

24

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/Stinha nível de interrupção fixo e endereços fixos para registradores de E/S

Revisão sobre hardware de computadores (10)

25

Revisão sobre hardware de computadores(11)

Estrutura de um sistema Pentium

26

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

Revisão sobre hardware de computadores(12)

27

(8 bytes de uma vez)528MB/s

66MHzPCI(Peripheral Component

Interconnect)

160MB/sSCSI

1.5MB/sUSB

IDE

(2 bytes de uma vez)16.67MB/s

8.33MHzISA(Industry Standard

Architecture)

Taxa de Transferência

CicloBarramento

Revisão sobre hardware de computadores(13)

28

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 & playe 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

Revisão sobre hardware de computadores(14)

29

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 CD-ROM 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

Revisão sobre hardware de computadores(15)

30

• Uma árvore de processos– A criou dois processos filhos: B e C– B criou três processos filhos: D, E, e F

Conceitos sobre Sistemas Operacionais (1)

31

(a) Um deadlock potencial. (b) um deadlock real.

Conceitos sobre Sistemas Operacionais (2)

32

Deadlocks (Jean Bacon)

Exemplo de deadlock no tráfego

Dois ou mais processos esperam indefinidamente por algo (um evento?) que pode ser fornecido

por apenas um dos processos em espera.

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!

Setas = carros

33

Conceitos sobre Sistemas Operacionais (3)

Sistema de arquivos de um departamento universitário

34

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

35

Conceitos sobre Sistemas Operacionais (5)

Dois processos conectados por um pipe

Exemplo:host> cat arq1 arq2 arq3 | sort > /dev/lp

36

Chamadas ao Sistema(Interface entre o S.O. e os Programas do Usuário)

Conceitos sobre Sistemas Operacionais (6)

Chamadas ao

Sistema

Programas do usuário

Sistema Operacional

37

Os Passos de uma Chamada ao Sistema

Os 11 passos para fazer uma chamada ao sistema read (fd, buffer, nbytes)

38

Algumas Chamadas ao Sistema para Gerenciamento de Processos

39

Algumas Chamadas ao Sistema para Gerenciamento de Arquivos

40

Algumas Chamadas ao Sistema para Gerenciamento de Diretório

41

Algumas Chamadas ao Sistema para Tarefas Diversas

42

Chamadas ao Sistema (1)

• O interior de um shell:

43

Chamadas ao Sistema (2)

Os processos têm três segmentos: texto, dados e pilha

44

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

45

Chamadas ao Sistema (4)

(a) Sistema de arquivos antes da montagem(b) Sistema de arquivos depois da montagem

46

Chamadas ao Sistema (5)

Algumas chamadas da interface API Win32

47

Programa do Usuário 2

Programa do Usuário 1Chamadapara kernel

1

2

3

Tabela de Despacho

4

Programas dousuário rodam

em modousuário

SO roda em modo núcleo

1 Programa do usuário emite chamada do sistema2 S.O. determina número de serviço solicitado3 S.O. localiza e chama procedimento de serviço4 Controle é retornado ao programa do usuário

Estrutura de Sistemas Operacionais (1)

Sist

emas

Mon

olíti

cos

48

Estrutura de Sistemas Operacionais (1)

Modelo simples de estruturação de um sistema monolítico

49

Estrutura de Sistemas Operacionais (2)

Estrutura do sistema operacional THE

50

Estrutura de Sistemas Operacionais (3)

Estrutura do VM/370 com o CMS

51

Estrutura de Sistemas Operacionais (4)

O modelo cliente-servidor

52

Estrutura de Sistemas Operacionais (5)

O modelo cliente-servidor em um sistema distribuído

53

Unidades Métricas

Os prefixos métricos

Recommended