Você está na página 1de 22

Sistemas Operativos I

Componentes de um Sistema Operativo


Maria Joo Viamonte / Luis Lino Ferreira
Fevereiro de 2006

Sistema Operativo
Um Sistema Operativo pode ser visto como um programa de grande complexidade, responsvel pela gesto eficiente de todos os recursos da mquina Composto por um conjunto de camadas funcionais (mdulos) Cada mdulo constitui um nvel de abstraco que implementa uma mquina virtual com uma interface bem definida
05/06 Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira 2

Mdulos de um Sistema Operativo


Gesto de Processos Gesto da Memria Principal Gesto de Ficheiros Gesto de I/O Gesto da Memria Secundria Gesto de Rede Proteco do Sistema Interpretador de Comandos
05/06 Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira 3

Gesto de Processos
Processos:
Cada processo pode ser considerado como um programa em execuo Abstraco do SO que contm dados referentes ao cdigo a executar, s variveis, pilha (stack), s reas de memria, aos parmetros, etc.

Exemplos:
Comandos ou programas em execuo Shell Processos do sistema: syslog, rpciod, etc.
05/06 Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira 4

Processador, Programa e Processo


O processador o rgo material onde executada toda a actividade do sistema Um Programa um conjunto de instrues armazenadas num ficheiro Um Processo uma instncia de um programa em execuo. No entanto, um programa pode ser constitudo por vrios processos
05/06 Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira 5

Processos
Um Processo define:
Um conjunto de operaes
Operaes elementares, normalmente um subconjunto das instrues do processador Operaes de interaco com outros processos

Um espao de endereamento
Um processo executa-se dentro de um espao de endereamento bem delimitado, evitando que possa interactuar de forma indevida com os outros processos ou com o prprio Sistema Operativo

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

Gesto de Processos
SO fornece servios para:
Criao e eliminao de processos Escalonamento de processos (multiprogramao) Tratamento das interrupes Mecanismos para sincronizao de processos Mecanismos para a comunicao de processos

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

Gesto da Memria Principal


Controla a utilizao da memria fsica Cada posio de memria, byte ou word endereada individualmente A memria utilizada para armazenar:
Cdigo referente a processos Dados e a stack referente a cada processo Comunicao com os dispositivos de I/O

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

Gesto da Memria Principal


Os algoritmos de alocao de memria devem ter como objectivo reduzir a fragmentao da memria
First Fit
Aloca o primeiro pedao de memria livre que tenha espao suficiente

Best Fit
Aloca o pedao de memria livre mais pequeno mas com espao suficiente para conter os dados

Worst Fit
Aloca o maior pedao de memria livre

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

Gesto da Memria Principal


Funes do Sistema de Gesto da Memria Principal:
Registo actualizado das zonas de memria sob utilizao e por quem Deciso sobre os processos a carregar em memria face ao espao ainda disponvel em memria Reservar e libertar espao de memria

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

10

Gesto de Ficheiros
O Sistema Operativo fornece uma viso uniforme do sistema de ficheiros, independentemente da tecnologia usada Ficheiro:
Coleco de informao relacionada entre si
Programas Dados

Organizados por directrios

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

11

Gesto de Ficheiros
Funes do Sistema de Gesto de Ficheiros:
Criar/Apagar ficheiros e directrios Operaes de leitura e escrita em ficheiros Mapeamento dos ficheiros no disco Escalonamento do acesso ao disco Proteco de acesso aos ficheiros

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

12

Gesto de I/O
A implementao das operaes de I/O complexa, uma vez que interactuam com o hardware dos dispositivos. Uma das principais funes do SO esconder as especificidades do hardware ao utilizador
Implementado atravs de Device Drivers

Componentes de I/O
Sistema de buferizao, caching e spooling Interface genrica para device drivers Device Drivers especficos

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

13

Gesto da Memria Secundria


Visto que a memria principal voltil e pequena para armazenar todos os dados e programas de uma forma permanente A memria secundria permite o armazenamento permanente de dados e programas A maioria dos computadores modernos usam discos rgidos como forma de memria secundria
05/06 Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira 14

Gesto da Memria Secundria


O Sistema Operativo disponibiliza servios para:
Gesto do espao livre em memria Reserva de espao em memria Escalonamento dos acessos memria

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

15

Gesto da Rede
O Sistema Operativo disponibiliza servios para:
A comunicao com outras mquinas, constituindo um sistema distribudo

Um Sistema Distribudo definido como um conjunto de computadores que comunicam atravs de uma rede partilhando os seus recursos e funcionalidades, com objectivos comuns
Partilha de ficheiros Aplicaes de bases de dados Servidores web

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

16

Gesto da Rede
Funes do Sistema de Gesto da Rede:
Oferece uma interface e protocolos de comunicao normalizados que permitem a comunicao entre diferentes mquinas Gerir a configurao e os parmetros de rede Exemplos:
TCP/IP SMB FTP NFS etc.
05/06 Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira 17

Proteco do Sistema
O Sistema Operativo permite controlar o acesso pelos programas e processos aos recursos do sistema, autorizando ou no o acesso, assim como, o tipo de permisses atribudas

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

18

Proteco do Sistema
Exemplos:
Sistema de ficheiros Acesso a dispositivos de I/O Restrio do aceso a reas de memria de outros processos Deteco de erros (evitando a propagao do erro aos restantes processo em execuo)

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

19

Interpretador de Comandos (Shell)


Fornece uma Interface entre o utilizador e o Sistema Operativo, permitindo que o utilizador possa correr comandos do SO Exemplos:
No MS-DOS a shell est incorporada no ncleo do SO Em Linux a shell um programa parte que interage com o SO atravs de chamadas ao sistema A shell tambm pode ser vista como uma interface grfica:

Windows/explorer Linux/Gnome/KDE/Xwindows
05/06 Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira 20

10

Servios de um SO
O objectivo principal de um SO o de fornecer um ambiente adaptado execuo de programas, facilitando o seu desenvolvimento O SO Disponibiliza servios para:
Execuo de programas Operaes de I/O Manipulao de ficheiros Comunicao Deteco de erros
05/06 Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira 21

Servios de um SO
User-oriented
Servios disponibilizados directamente ao utilizador do SO

System-oriented
Servios utilizados pelo SO

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

22

11

Servios de um SO
User-oriented
Execuo de programas
Carregar um programa para memria, alocando os recursos necessrios e executa-lo

Operaes de I/O
Fornece aos utilizadores um interface para os dispositivos

Manipulao de ficheiros
Permite a operaes sobre um sistema de ficheiros
Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

05/06

23

Servios de um SO
User-oriented
Comunicaes Fornece os servios para a comunicao entre processos residentes na mesma mquina
Memria partilhada Semforos Filas de mensagens Etc.

Fornece os servios para a comunicao entre processos residentes em mquinas diferentes


TCP/IP HTTP CORBA Etc.
Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

05/06

24

12

Servios de um SO
User-oriented
Deteco de erros
Permite a deteco de erros:
na UCP na memria nos dispositivos de I/O erro de paridade avaria falta de papel numa impressora nos programas do utilizador diviso por zero acesso a zonas de memria ilegais
05/06 Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira 25

Servios de um SO
System-oriented
Alocao de recursos
Permite a alocao de recursos para vrios processos em execuo simultnea
Escalonador da UCP Alocao de memria Impressoras Etc.

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

26

13

Servios de um SO
System-oriented
Monitorizao do sistema
Permite recolher informao sobre a utilizao do sistema
Para monitorizao do funcionamento do sistema: Informao sobre eventos do sistema (por ex: o Event Viewer do XP) Dados estatsticos de utilizao dos recursos Etc. Para posterior pagamento pelo utilizador

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

27

Servios de um SO
System-oriented
Proteco
Previne que processos de utilizadores diferentes interfiram uns com os outros, ou com o SO
Fornecendo mecanismos de controlo do acesso aos recursos Segurana Autenticao de utilizadores Proteco de acessos indevidos

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

28

14

Chamadas ao Sistema
Fornecem uma interface entre o utilizador e o SO Podem ser acedidas atravs de instrues em assembly (MS-DOS) ou atravs de linguagens de alto nvel (UNIX e Windows) Passagem de parmetros
Atravs dos registos do CPU Armazenamento em memria Atravs do stack das funes

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

29

Chamadas ao Sistema
Em linguagens de alto-nvel (C, C++, Visual Basic) as chamadas ao sistemas encontram-se nas funes existentes nas livrarias Raramente utilizadas por um programador comum

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

30

15

Chamadas ao Sistema
Endereo da tabela

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

31

Chamadas ao Sistema
Tipos de chamadas
Controlo de processos Gesto de ficheiros Gesto de dispositivos Gesto de informao Comunicaes

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

32

16

Controlo de Processos
end
Finalizao ordenada de um processo

abort
Finalizao de um processo devido a um erro

load
Permite carregar um programa em memria

execute
Executa de forma controlada um outro programa, o processo Pai pode executar o outro processo de forma concorrente ou pode substituir um processo pelo outro
Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

05/06

33

Controlo de Processos
create process Permite a criao de um novo processo terminate process Fora a finalizao de outro processo filho do processo evocados get process atributes, set process atributes Permite operar sobre os atributos do processo criado: alterar prioridade, mximo tempo de execuo, etc. wait for time (sleep) Suspende a execuo do processo durante um determinado tempo

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

34

17

Controlo de Processos
wait event
Bloqueia um programa at que um determinado evento acontea, por ex:
Um outro processo filho termine Receba um sinal

signal event
Permite sinalizar a ocorrncia de um evento ao SO

allocate, free memory


Alocar e libertar memria

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

35

Manipulao de ficheiros
create/delete file open, close read, write, reposition get/set file attributes
Nome, tipo, permisses...

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

36

18

Gesto de Dispositivos
request
Solicita ao SO o acesso exclusivo a um dispositivo

release device
Sinaliza ao SO que j no necessita de um determinado recurso

read, write, reposition


Em Linux estas operaes so muito semelhantes leitura e escrita em ficheiros

get/set device attributes attach/detach device


05/06 Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira 37

Gesto de Informao
get/set time or date get/set system data
Permite escrever ou ler dados internos ao SO

get/set process, file or device attributes


Permite escrever ou ler os atributos

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

38

19

Comunicaes
create
Estabelece um canal de comunicaes entre 2 processos

delete communication connection send, receive messages transfer status information attach, detach remote devices

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

39

Comunicaes
Modelos de comunicaes: Passagem de mensagens Memria partilhada

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

40

20

Estrutura de um SO
MS-DOS
Caractersticas:
Baixa modularidade Por camadas Necessita de muito poucos recursos

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

41

Estrutura de um SO
UNIX
Caractersticas: Modular Por camadas Necessita de elevados recursos

05/06

Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

42

21

Estrutura por Camadas


O SO dividido em vrias camadas, cada uma delas fornece servios apenas camada imediatamente por cima
Kernel do SO

Device Drivers

Hardware
Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira

05/06

43

Sistemas Operativos I

Componentes de um Sistema Operativo


Maria Joo Viamonte / Luis Lino Ferreira
Fevereiro de 2006

22

Você também pode gostar