Sistemas Operativos Introdução -...

Preview:

Citation preview

Sistemas Operativos2001/2002

1. Introdução2. Gestão de Processos Concorrentes3. Gestão de Memória4. Gestão de Entradas/Saídas5. Sistema de Ficheiros

Sistemas OperativosIntrodução

1. O que é um sistema operativo?2. Historia dos sistemas operativos3. The operating system zoo4. Revisão de hardware de computadores5. Conceitos de sistemas operativos6. System calls7. Estrutura de um sistema operativos

12/16/2002 2001/2002 3

Introdução

Um computador consiste em:– hardware– programas de sistema– programas de applicações

12/16/2002 2001/2002 4

O que é um sistema operativo

É uma extensão a uma máquina– Omite detalhes de baixo nível que têm de ser efectuados– Disponibiliza ao utilizador uma máquina virtual mais facil de

utilizar

É um gestor de recursos– Cada programa tem o seu tempo para utilizar os recursos– Cada programa tem o seu espaço de recursos

12/16/2002 2001/2002 5

Historia dos sistemas operativos(1)

Primeira geração 1945 - 1955– Valvulas e relés mecânicos

Segunda geração generation 1955 - 1965– transistores, sistemas por batchs

Terçeira geração 1965 – 1980– ICs e multiprogramação

Quarta geração 1980 – presente– Computadores pessoais

12/16/2002 2001/2002 6

Historia dos sistemas operativos(2)

Sistemas inicias funcionavam por batchs– bring cards to 1401– read cards to tape– put tape on 7094 which does computing– put tape on 1401 which prints output

12/16/2002 2001/2002 7

Historia dos sistemas operativos(3)

Estrutura de uma tarefa de um Fortran Monitor System – 2ª geração

12/16/2002 2001/2002 8

Historia dos sistemas operativos(4)

Sistema de multi-programação– Três tarefas em memória – 3ª geração

12/16/2002 2001/2002 9

A diversidade de sistemas operativos

SO de mainframesSO de servidoresSO de sistemas multiprocessadorSO de computadores pessoaisSO de tempo-realSO embebidosSO de smart card

12/16/2002 2001/2002 10

Revisão de Hardware (1)Monitor

Bus

Componentes de um computador pessoal simples

12/16/2002 2001/2002 11

Revisão de Hardware(2)

(a) Um pipeline de três níveis(b) Um CPU super-escalar

12/16/2002 2001/2002 12

Revisão de Hardware(3)

Hierarquia tipica da memória de um sistema– Os números apresentados são aproximações

12/16/2002 2001/2002 13

Revisão de Hardware(4)

Estrutura de um disco rigido

12/16/2002 2001/2002 14

Revisão de Hardware(5)

One base-limit pair and two base-limit pairs

12/16/2002 2001/2002 15

Revisão de Hardware(6)

(a) (b)

(a) Passos para iniciar um dispositivo de E/S e receber a respectiva interrupção(b) Como o CPU é interrompido

12/16/2002 2001/2002 16

Revisão de Hardware(7)

Arquitectura de um sistema Pentium

12/16/2002 2001/2002 17

Conceitos de Sistemas Operativos (1)

Uma arvore de processos– A criou dois processos filhos, B e C– B criou três processos filhos, D, E, e F

12/16/2002 2001/2002 18

Conceitos de Sistemas Operativos(2)

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

12/16/2002 2001/2002 19

Conceitos de Sistemas Operativos(3)

Sistema de ficheiros distribuido

12/16/2002 2001/2002 20

Conceitos de Sistemas Operativos(4)

Antes de instalar (mounting), – Ficheiros na disquete estão inacessiveis

Depois de installar (mounting) a disquete em b,– Os ficheiros da disquete passam a fazer parte da hierarquia de directorios

12/16/2002 2001/2002 21

Conceitos de Sistemas Operativos(5)

Dois processos podem comunicar por um pipe

12/16/2002 2001/2002 22

System Calls

São necessários 11 passos para fazer a chamada de sistema:read (fd, buffer, nbytes)

12/16/2002 2001/2002 23

System Calls para gestão de processos

12/16/2002 2001/2002 24

System Calls para gestão de ficheiros

12/16/2002 2001/2002 25

System Calls para gestão de directorios

12/16/2002 2001/2002 26

System Calls para várias tarefas

12/16/2002 2001/2002 27

System Calls (1)A stripped down shell:

while (TRUE) { /* repeat forever */type_prompt( ); /* display prompt */read_command (command, parameters) /* input from terminal */

if (fork() != 0) { /* fork off child process *//* Parent code */waitpid( -1, &status, 0); /* wait for child to exit */

} else {/* Child code */execve (command, parameters, 0); /* execute command */

}}

12/16/2002 2001/2002 28

System Calls (2)

Um processo trabalha com três segmentos: texto, dados, stack

12/16/2002 2001/2002 29

System Calls (3)

(a) Dois directorios antes de ligados/usr/jim/memo to ast's directory

(b) Os mesmos directorios depois de ligados

12/16/2002 2001/2002 30

System Calls (4)

(a) Sistema de ficheiros antes de instalar (mount)(b) Sistema de ficheiros após instalar (mount)

12/16/2002 2001/2002 31

System Calls (5)

Algumas primitivas da Win32 API

12/16/2002 2001/2002 32

Estrutura de sistema operativo(1)

Simple structuring model for a monolithic system

12/16/2002 2001/2002 33

Estrutura de sistema operativo (2)

Estrutura de um sistema operativo

12/16/2002 2001/2002 34

Estrutura de sistema operativo(3)

Structure of VM/370 with CMS

12/16/2002 2001/2002 35

Estrutura de sistema operativo(4)

Modelo cliente-servidor

12/16/2002 2001/2002 36

Estrutura de sistema operativo(5)

Modelo cliente-servidor num sistema distribuido