Escolar Documentos
Profissional Documentos
Cultura Documentos
Arquitectura Dos Sistemas Operativos-IV
Arquitectura Dos Sistemas Operativos-IV
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
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
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
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
05/06
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
05/06
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
05/06
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
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
13
05/06
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
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
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
19
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
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.
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
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
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
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
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
30
15
Chamadas ao Sistema
Endereo da tabela
05/06
31
Chamadas ao Sistema
Tipos de chamadas
Controlo de processos Gesto de ficheiros Gesto de dispositivos Gesto de informao Comunicaes
05/06
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
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
05/06
35
Manipulao de ficheiros
create/delete file open, close read, write, reposition get/set file attributes
Nome, tipo, permisses...
05/06
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
Gesto de Informao
get/set time or date get/set system data
Permite escrever ou ler dados internos ao SO
05/06
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
39
Comunicaes
Modelos de comunicaes: Passagem de mensagens Memria partilhada
05/06
40
20
Estrutura de um SO
MS-DOS
Caractersticas:
Baixa modularidade Por camadas Necessita de muito poucos recursos
05/06
41
Estrutura de um SO
UNIX
Caractersticas: Modular Por camadas Necessita de elevados recursos
05/06
42
21
Device Drivers
Hardware
Sistemas Operativos I Maria Joo Viamonte / Luis Lino Ferreira
05/06
43
Sistemas Operativos I
22