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

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

  • Upload
    buicong

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

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.