Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1...

35
1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 Diversidade de sistemas operacionais 1.4 Revisão sobre hardware 1.5 Conceitos básicos sobre SOs 1.6 Chamadas de sistema 1.7 Estrutura de SOs

Transcript of Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1...

Page 1: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

1

Introdução

Capítulo 1

1.1 O que é um sistema operacional1.2 História dos sistemas operacionais1.3 Diversidade de sistemas operacionais1.4 Revisão sobre hardware1.5 Conceitos básicos sobre SOs1.6 Chamadas de sistema1.7 Estrutura de SOs

Page 2: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

2

Introdução

• Um sistema computacional consiste de :– hardware– programas de sistema– programas aplicativos

Page 3: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

3

O que é um sistema operacional

• Pode ser visto como uma máquina estendida– Oculta os detalhes das operações– Oferece ao usuário uma máquina virtual mais

simples

• Pode ser visto como um gerenciador de recursos– Cada programa obtém sua parcela apropriada de

tempo e de espaço

Page 4: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

4

História dos sistemas operacionais

Sistemas batch– carregar cartões no 1401– ler cartões e copiar para fita de entrada– colocar fita no 7094, que faz o processamento– colocar fita de saída no 1401, que faz a

impressão

Page 5: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

5

História dos sistemas operacionais

• Primeira geração (1945 - 1955)– válvulas, placas com plugues

• Segunda geração (1955 - 1965)– transistores, sistemas em batch

• Terceira geração (1965 – 1980)– Circuitos integrados e multiprogramação

• Quarta geração (1980 – presente)– computadores pessoais

Page 6: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

6

História dos sistemas operacionais

• Estrutura de um sistema Fortran Monitor de 2a. geração

Page 7: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

7

História dos sistemas operacionais

• Sistema multiprogramado – vários jobs em memória – 3a. geração

Page 8: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

8

A grande diversidade de SOs

Há sistemas operacionais específicos para:• mainframes• servidores• multiprocessadores• computadores pessoais• sistemas de tempo real• sistemas embarcados• cartões inteligentes (smart cards)

Page 9: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

9

Revisão sobre hardware

• Componentes de um computador pessoal simples

Monitor

Bus

Page 10: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

10

Revisão sobre hardware

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

Page 11: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

11

Revisão sobre hardware

• Hierarquia típica de memória– números são aproximações

Page 12: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

12

Revisão sobre hardware

Estrutura de um acionador de discos

Page 13: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

13

Revisão sobre hardware

Delimitação de área disponível por meio de pares base-limite

Page 14: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

14

Revisão sobre hardware

(a) Passos para iniciar um dispositivo de E/S e obter uma interrupção

(b) Interrupção da CPU

(a) (b)

Page 15: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

15

Revisão sobre hardware

Estrutura de um computador pessoal típico

Page 16: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

16

Conceitos básicos de SOs

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

Page 17: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

17

Conceitos básicos de SOs

(a) Um travamento potencial (b) Um travamento real

Page 18: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

18

Conceitos básicos de SOs

Exemplo de um sistema de arquivos típico

Page 19: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

19

Conceitos básicos de SOs

• Antes do acoplamento (mounting) – arquivos no disquete são inacessíveis

• Após acoplamento (mounting)– arquivos do disquete fazem parte da hierarchia

Page 20: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

20

Conceitos básicos de SOs

Comunicação entre dois processos via pipe

Page 21: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

21

Passos de uma chamada de sistema

Chamada de sistema read() tem 11 passos read (fd, buffer, nbytes)

Page 22: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

22

Exemplos de chamadas de sistema para gerenciamento de processos

Page 23: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

23

Exemplos de chamadas de sistemas para gerenciamento de arquivos

Page 24: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

24

Exemplos de chamadas de sistemas para gerenciamento de diretórios

Page 25: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

25

Exemplos de chamadas de sistemas diversas

Page 26: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

26

Chamadas de sistema

• Exemplo de uma shell simplificada

while (TRUE) { /* repetir sempre */ type_prompt( ); /* mostrar prompt */ read_command (command, parameters) /* obter comando */ if (fork() != 0) { /* derivar processo-filho */ /* Código do processo-pai */ /* aguardar término */ waitpid( -1, &status, 0); /* do processo-filho */} else { /* Código do processo-filho */ execve (command, parameters, 0); /* executar comando */ }}

Page 27: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

27

Chamadas de sistema

• Cada processo tem três áreas: texto, dados e pilha.

Page 28: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

28

Chamadas de sistema

(a) Diretórios antes de ligação (link) de /usr/jim/memo .

(b) Diretórios após a ligação de /usr/jim/memo em /usr/ast/note .

Page 29: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

29

Chamadas de sistema

(a) Sistema de arquivos antes do acoplamento (mount).

(b) Sistema de arquivos após o acoplamento (mount).

Page 30: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

30

Chamadas de sistema

Paralelo entre chamadas do Unix e da API do Win32

Page 31: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

31

Estrutura de um sistema operacional

Modelo de um sistema monolítico simples

Page 32: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

32

Estrutura de um sistema operacional

Visualização da estrutura emcamadas do sistema THE (1968)

Page 33: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

33

Estrutura de um sistema operacional

Estrutura do VM/370 com CMS(Conversational Monitor System)

Page 34: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

34

Estrutura de um sistema operacional

• Modelo cliente-servidor entre processos de um sistema centralizado.

Page 35: Capítulo 1 Introdução - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap01.pdf · 1 Introdução Capítulo 1 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais

35

Estrutura de um sistema operacional

Modelo cliente-servidor em um sistema distribuído.