Professional Documents
Culture Documents
Sistema Operativo
Um Sistema Operativo pode ser visto como
um programa de grande complexidade,
responsável pela gestão eficiente de todos
os recursos da máquina
Composto por um conjunto de camadas
funcionais (módulos)
Cada módulo constitui um nível de
abstracção que implementa uma máquina
virtual com uma interface bem definida
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 2
1
Módulos de um Sistema Operativo
Gestão de Processos
Gestão da Memória Principal
Gestão de Ficheiros
Gestão de I/O
Gestão da Memória Secundária
Gestão de Rede
Protecção do Sistema
Interpretador de Comandos
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 3
Gestão de Processos
Processos:
Cada processo pode ser considerado como
um programa em execução
Abstracção do SO que contém dados
referentes ao código a executar, às variáveis,
à pilha (stack), às áreas de memória, aos
parâmetros, etc.
Exemplos:
Comandos ou programas em execução
Shell
Processos do sistema: syslog, rpciod, etc.
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 4
2
Processador, Programa e Processo
O processador é o órgão material onde é
executada toda a actividade do sistema
Processos
Um Processo define:
Um conjunto de operações
Operações elementares, normalmente um
subconjunto das instruções do processador
Operações de interacção com outros processos
Um espaço de endereçamento
Um processo executa-se dentro de um espaço de
endereçamento bem delimitado, evitando que
possa interactuar de forma indevida com os outros
processos ou com o próprio Sistema Operativo
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 6
3
Gestão de Processos
SO fornece serviços para:
Criação e eliminação de processos
Escalonamento de processos
(multiprogramação)
Tratamento das interrupções
Mecanismos para sincronização de processos
Mecanismos para a comunicação de
processos
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 7
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 8
4
Gestão da Memória Principal
Os algoritmos de alocação de memória devem
ter como objectivo reduzir a fragmentação da
memória
First Fit
Aloca o primeiro pedaço de memória livre que tenha
espaço suficiente
Best Fit
Aloca o pedaço de memória livre mais pequeno mas
com espaço suficiente para conter os dados
Worst Fit
Aloca o maior pedaço de memória livre
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 9
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 10
5
Gestão de Ficheiros
O Sistema Operativo fornece uma visão
uniforme do sistema de ficheiros,
independentemente da tecnologia usada
Ficheiro:
Colecção de informação relacionada entre si
Programas
Dados
Organizados por directórios
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 11
Gestão de Ficheiros
Funções do Sistema de Gestão de
Ficheiros:
Criar/Apagar ficheiros e directórios
Operações de leitura e escrita em ficheiros
Mapeamento dos ficheiros no disco
Escalonamento do acesso ao disco
Protecção de acesso aos ficheiros
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 12
6
Gestão de I/O
A implementação das operações de I/O é
complexa, uma vez que interactuam com o
hardware dos dispositivos.
Uma das principais funções do SO é esconder as
especificidades do hardware ao utilizador
Implementado através de Device Drivers
Componentes de I/O
Sistema de buferização, caching e spooling
Interface genérica para device drivers
Device Drivers específicos
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 13
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 14
7
Gestão da Memória Secundária
O Sistema Operativo disponibiliza serviços
para:
Gestão do espaço livre em memória
Reserva de espaço em memória
Escalonamento dos acessos à memória
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 15
Gestão da Rede
O Sistema Operativo disponibiliza serviços para:
A comunicação com outras máquinas, constituindo um
sistema distribuído
Um Sistema Distribuído é definido como um
conjunto de computadores que comunicam
através de uma rede partilhando os seus recursos
e funcionalidades, com objectivos comuns
Partilha de ficheiros
Aplicações de bases de dados
Servidores web
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 16
8
Gestão da Rede
Funções do Sistema de Gestão da Rede:
Oferece uma interface e protocolos de
comunicação normalizados que permitem a
comunicação entre diferentes máquinas
Gerir a configuração e os parâmetros de rede
Exemplos:
TCP/IP
SMB
FTP
NFS
etc.
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 17
Protecção do Sistema
O Sistema Operativo permite controlar o
acesso pelos programas e processos aos
recursos do sistema, autorizando ou não o
acesso, assim como, o tipo de permissões
atribuídas
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 18
9
Protecção do Sistema
Exemplos:
Sistema de ficheiros
Acesso a dispositivos de I/O
Restrição do aceso a áreas de memória de
outros processos
Detecção de erros (evitando a propagação do
erro aos restantes processo em execução)
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 19
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 20
10
Serviços de um SO
O objectivo principal de um SO é o de
fornecer um ambiente adaptado à execução
de programas, facilitando o seu
desenvolvimento
O SO Disponibiliza serviços para:
Execução de programas
Operações de I/O
Manipulação de ficheiros
Comunicação
Detecção de erros
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 21
Serviços de um SO
User-oriented
Serviços disponibilizados directamente ao
utilizador do SO
System-oriented
Serviços utilizados pelo SO
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 22
11
Serviços de um SO
User-oriented
Execução de programas
Carregar um programa para memória, alocando os
recursos necessários e executa-lo
Operações de I/O
Fornece aos utilizadores um interface para os
dispositivos
Manipulação de ficheiros
Permite a operações sobre um sistema de ficheiros
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 23
Serviços de um SO
User-oriented
Comunicações
Fornece os serviços para a comunicação entre processos
residentes na mesma máquina
Memória partilhada
Semáforos
Filas de mensagens
Etc.
Fornece os serviços para a comunicação entre processos
residentes em máquinas diferentes
TCP/IP
HTTP
CORBA
Etc.
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 24
12
Serviços de um SO
User-oriented
Detecção de erros
Permite a detecção de erros:
na UCP
na memória
nos dispositivos de I/O
erro de paridade
avaria
falta de papel numa impressora
nos programas do utilizador
divisão por zero
acesso a zonas de memória ilegais
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 25
Serviços de um SO
System-oriented
Alocação de recursos
Permite a alocação de recursos para vários
processos em execução simultânea
Escalonador da UCP
Alocação de memória
Impressoras
Etc.
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 26
13
Serviços de um SO
System-oriented
Monitorização do sistema
Permite recolher informação sobre a utilização do
sistema
Para monitorização do funcionamento do sistema:
Informação sobre eventos do sistema (por ex: o Event
Viewer do XP)
Dados estatísticos de utilização dos recursos
Etc.
Para posterior “pagamento” pelo utilizador
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 27
Serviços de um SO
System-oriented
Protecção
Previne que processos de utilizadores diferentes
interfiram uns com os outros, ou com o SO
Fornecendo mecanismos de controlo do acesso aos
recursos
Segurança
Autenticação de utilizadores
Protecção de acessos indevidos
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 28
14
Chamadas ao Sistema
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 29
Chamadas ao Sistema
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 30
15
Chamadas ao Sistema
Endereço da
tabela
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 31
Chamadas ao Sistema
Tipos de chamadas
Controlo de processos
Gestão de ficheiros
Gestão de dispositivos
Gestão de informação
Comunicações
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 32
16
Controlo de Processos
end
Finalização ordenada de um processo
abort
Finalização de um processo devido a um erro
load
Permite carregar um programa em memória
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
05/06 Maria João Viamonte / Luis Lino Ferreira 33
Controlo de Processos
create process
Permite a criação de um novo processo
terminate process
Força a finalização de outro processo filho do processo
evocados
get process atributes, set process atributes
Permite operar sobre os atributos do processo criado: alterar
prioridade, máximo tempo de execução, etc.
wait for time (sleep)
Suspende a execução do processo durante um determinado
tempo
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 34
17
Controlo de Processos
wait event
Bloqueia um programa até que um determinado evento
aconteça, por ex:
Um outro processo filho termine
Receba um sinal
signal event
Permite sinalizar a ocorrência de um evento ao SO
allocate, free memory
Alocar e libertar memória
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 35
Manipulação de ficheiros
create/delete file
open, close
read, write, reposition
get/set file attributes
Nome, tipo, permissões...
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 36
18
Gestão de Dispositivos
request
Solicita ao SO o acesso exclusivo a um dispositivo
release device
Sinaliza ao SO que já não necessita de um determinado
recurso
read, write, reposition
Em Linux estas operações são muito semelhantes à leitura
e escrita em ficheiros
get/set device attributes
attach/detach device
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 37
Gestão de Informação
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 38
19
Comunicações
create
Estabelece um canal de comunicações entre 2
processos
delete communication connection
send, receive messages
transfer status information
attach, detach remote devices
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 39
Comunicações
Modelos de comunicações:
Passagem de mensagens
Memória partilhada
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 40
20
Estrutura de um SO
MS-DOS
Características:
•Baixa modularidade
•Por camadas
•Necessita de muito
poucos recursos
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 41
Estrutura de um SO
UNIX
Características:
• Modular
• Por camadas
• Necessita de
elevados recursos
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 42
21
Estrutura por Camadas
Device Drivers
Hardware
Sistemas Operativos I
05/06 Maria João Viamonte / Luis Lino Ferreira 43
Sistemas Operativos I
22