sistemas operativos i - dei.isep.ipp.ptllf/docs/arquitectura dos sistemas operativos... · sistemas...
TRANSCRIPT
1
Sistemas Operativos I
Componentes de um Sistema OperativoMaria João Viamonte / Luis Lino FerreiraFevereiro de 2006
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 2
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áquinaComposto 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
2
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 3
Módulos de um Sistema Operativo
Gestão de ProcessosGestão da Memória PrincipalGestão de FicheirosGestão de I/OGestão da Memória SecundáriaGestão de RedeProtecção do SistemaInterpretador de Comandos
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 4
Gestão de Processos
Processos:Cada processo pode ser considerado como um programa em execuçãoAbstracçã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çãoShellProcessos do sistema: syslog, rpciod, etc.
3
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 5
Processador, Programa e Processo
O processador é o órgão material onde éexecutada toda a actividade do sistema
Um Programa é um conjunto de instruções armazenadas num ficheiro
Um Processo é uma instância de um programa em execução. No entanto, um programa pode ser constituído por vários processos
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 6
Processos
Um Processo define:Um conjunto de operações
Operações elementares, normalmente um subconjunto das instruções do processadorOperações de interacção com outros processos
Um espaço de endereçamentoUm 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
4
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 7
Gestão de Processos
SO fornece serviços para:Criação e eliminação de processosEscalonamento de processos (multiprogramação)Tratamento das interrupçõesMecanismos para sincronização de processosMecanismos para a comunicação de processos
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 8
Gestão da Memória Principal
Controla a utilização da memória físicaCada posição de memória, byte ou word éendereçada individualmenteA memória é utilizada para armazenar:
Código referente a processosDados e a stack referente a cada processoComunicação com os dispositivos de I/O
5
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 9
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 FitAloca o primeiro pedaço de memória livre que tenha espaço suficiente
Best FitAloca o pedaço de memória livre mais pequeno mas com espaço suficiente para conter os dados
Worst FitAloca o maior pedaço de memória livre
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 10
Gestão da Memória Principal
Funções do Sistema de Gestão da Memória Principal:
Registo actualizado das zonas de memória sob utilização e por quemDecisão sobre os processos a carregar em memória face ao espaço ainda disponível em memóriaReservar e libertar espaço de memória
6
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 11
Gestão de Ficheiros
O Sistema Operativo fornece uma visão uniforme do sistema de ficheiros, independentemente da tecnologia usadaFicheiro:
Colecção de informação relacionada entre siProgramasDados
Organizados por directórios
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 12
Gestão de Ficheiros
Funções do Sistema de Gestão de Ficheiros:
Criar/Apagar ficheiros e directóriosOperações de leitura e escrita em ficheirosMapeamento dos ficheiros no discoEscalonamento do acesso ao discoProtecção de acesso aos ficheiros
7
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 13
Gestão de I/OA 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/OSistema de buferização, caching e spoolingInterface genérica para device driversDevice Drivers específicos
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 14
Gestão da Memória Secundária
Visto que a memória principal é volátil e pequena para armazenar todos os dados e programas de uma forma permanenteA memória secundária permite o armazenamento permanente de dados e programasA maioria dos computadores modernos usam discos rígidos como forma de memória secundária
8
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 15
Gestão da Memória Secundária
O Sistema Operativo disponibiliza serviços para:
Gestão do espaço livre em memóriaReserva de espaço em memóriaEscalonamento dos acessos à memória
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 16
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 ficheirosAplicações de bases de dadosServidores web
9
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 17
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áquinasGerir a configuração e os parâmetros de redeExemplos:
TCP/IPSMBFTPNFSetc.
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 18
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
10
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 19
Protecção do Sistema
Exemplos:Sistema de ficheirosAcesso a dispositivos de I/ORestrição do aceso a áreas de memória de outros processosDetecção de erros (evitando a propagação do erro aos restantes processo em execução)
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 20
Interpretador de Comandos (Shell)
Fornece uma Interface entre o utilizador e o Sistema Operativo, permitindo que o utilizador possa correr comandos do SOExemplos:
No MS-DOS a shell está incorporada no núcleo do SOEm Linux a shell é um programa à parte que interage com o SO através de chamadas ao sistemaA shell também pode ser vista como uma interface gráfica:
Windows/explorerLinux/Gnome/KDE/Xwindows
11
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 21
Serviços de um SOO objectivo principal de um SO é o de fornecer um ambiente adaptado à execução de programas, facilitando o seu desenvolvimentoO SO Disponibiliza serviços para:
Execução de programasOperações de I/OManipulação de ficheirosComunicaçãoDetecção de erros
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 22
Serviços de um SO
User-orientedServiços disponibilizados directamente ao utilizador do SO
System-orientedServiços utilizados pelo SO
12
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 23
Serviços de um SO
User-orientedExecução de programas
Carregar um programa para memória, alocando os recursos necessários e executa-lo
Operações de I/OFornece aos utilizadores um interface para os dispositivos
Manipulação de ficheirosPermite a operações sobre um sistema de ficheiros
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 24
Serviços de um SOUser-oriented
ComunicaçõesFornece os serviços para a comunicação entre processos residentes na mesma máquina
Memória partilhadaSemáforosFilas de mensagensEtc.
Fornece os serviços para a comunicação entre processos residentes em máquinas diferentes
TCP/IPHTTPCORBAEtc.
13
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 25
Serviços de um SO
User-orientedDetecção de erros
Permite a detecção de erros:na UCPna memórianos dispositivos de I/O
erro de paridadeavariafalta de papel numa impressora
nos programas do utilizadordivisão por zeroacesso a zonas de memória ilegais
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 26
Serviços de um SO
System-orientedAlocação de recursos
Permite a alocação de recursos para vários processos em execução simultânea
Escalonador da UCPAlocação de memóriaImpressorasEtc.
14
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 27
Serviços de um SO
System-orientedMonitorizaçã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 EventViewer do XP)Dados estatísticos de utilização dos recursosEtc.
Para posterior “pagamento” pelo utilizador
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 28
Serviços de um SO
System-orientedProtecção
Previne que processos de utilizadores diferentes interfiram uns com os outros, ou com o SO
Fornecendo mecanismos de controlo do acesso aos recursosSegurança
Autenticação de utilizadoresProtecção de acessos indevidos
15
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 29
Chamadas ao Sistema
Fornecem uma interface entre o utilizador e o SOPodem ser acedidas através de instruções em assembly (MS-DOS) ou através de linguagens de alto nível (UNIX e Windows)Passagem de parâmetros
Através dos registos do CPUArmazenamento em memóriaAtravés do stack das funções
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 30
Chamadas ao Sistema
Em linguagens de alto-nível (C, C++, Visual Basic) as chamadas ao sistemas encontram-se nas funções existentes nas livrariasRaramente utilizadas por um programador comum
16
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 31
Chamadas ao Sistema
Endereço da tabela
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 32
Chamadas ao Sistema
Tipos de chamadasControlo de processosGestão de ficheirosGestão de dispositivos Gestão de informaçãoComunicações
17
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 33
Controlo de Processos
endFinalização ordenada de um processo
abortFinalização de um processo devido a um erro
loadPermite carregar um programa em memória
executeExecuta de forma controlada um outro programa, o processo Pai pode executar o outro processo de forma concorrente ou pode substituir um processo pelo outro
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 34
Controlo de Processos
create processPermite a criação de um novo processo
terminate processForça a finalização de outro processo filho do processo evocados
get process atributes, set process atributesPermite 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
18
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 35
Controlo de Processos
wait eventBloqueia um programa até que um determinado evento aconteça, por ex:
Um outro processo filho termineReceba um sinal
signal eventPermite sinalizar a ocorrência de um evento ao SO
allocate, free memoryAlocar e libertar memória
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 36
Manipulação de ficheiros
create/delete fileopen, closeread, write, repositionget/set file attributes
Nome, tipo, permissões...
19
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 37
Gestão de Dispositivos
requestSolicita ao SO o acesso exclusivo a um dispositivo
release deviceSinaliza ao SO que já não necessita de um determinado recurso
read, write, repositionEm Linux estas operações são muito semelhantes à leitura e escrita em ficheiros
get/set device attributesattach/detach device
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 38
Gestão de Informação
get/set time or dateget/set system data
Permite escrever ou ler dados internos ao SOget/set process, file or device attributes
Permite escrever ou ler os atributos
20
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 39
Comunicações
createEstabelece um canal de comunicações entre 2 processos
delete communication connectionsend, receive messagestransfer status informationattach, detach remote devices
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 40
ComunicaçõesModelos de comunicações:
Passagem de mensagensMemória partilhada
21
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 41
Estrutura de um SO
Características:•Baixa modularidade•Por camadas•Necessita de muito poucos recursos
MS-DOS
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 42
Estrutura de um SO
UNIXCaracterísticas:• Modular• Por camadas• Necessita de
elevados recursos
22
05/06Sistemas Operativos I
Maria João Viamonte / Luis Lino Ferreira 43
Estrutura por Camadas
O SO é dividido em várias camadas, cada uma delas fornece serviços apenas àcamada imediatamente por cima
Kernel do SO
Device Drivers
Hardware
Sistemas Operativos I
Componentes de um Sistema OperativoMaria João Viamonte / Luis Lino FerreiraFevereiro de 2006