Sistemas Operativos I

Componentes de um Sistema Operativo
Maria João Viamonte / Luis Lino Ferreira
Fevereiro de 2006

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
05/06 Sistemas Operativos I 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
05/06 Sistemas Operativos I 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.
05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 4

2

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. 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. um programa pode ser constituído por vários processos 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 5 Processos Um Processo define: Um conjunto de operações Operações elementares.Processador. evitando que possa interactuar de forma indevida com os outros processos ou com o próprio Sistema Operativo 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 6 3 .

byte ou word é endereçada individualmente A memória é utilizada para armazenar: Código referente a processos Dados e a stack referente a cada processo Comunicação com os dispositivos de I/O 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 8 4 .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 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 7 Gestão da Memória Principal Controla a utilização da memória física Cada posição de memória.

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 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 9 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 quem Decisão sobre os processos a carregar em memória face ao espaço ainda disponível em memória Reservar e libertar espaço de memória 05/06 Sistemas Operativos I 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 05/06 Sistemas Operativos I 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 05/06 Sistemas Operativos I 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 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. uma vez que interactuam com o hardware dos dispositivos. caching e spooling Interface genérica para device drivers Device Drivers específicos 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 13 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 permanente A memória secundária permite o armazenamento permanente de dados e programas A maioria dos computadores modernos usam discos rígidos como forma de memória secundária 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 14 7 .

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.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 05/06 Sistemas Operativos I 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. com objectivos comuns Partilha de ficheiros Aplicações de bases de dados Servidores web 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 16 8 .

05/06 Sistemas Operativos I 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.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. assim como. o tipo de permissões atribuídas 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 18 9 . autorizando ou não o acesso.

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) 05/06 Sistemas Operativos I Maria João 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 núcleo do SO Em Linux a shell é um programa à parte que interage com o SO através de chamadas ao sistema A shell também pode ser vista como uma interface gráfica: Windows/explorer Linux/Gnome/KDE/Xwindows 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 20 10 .

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 05/06 Sistemas Operativos I 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 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 22 11 .Serviços de um SO O objectivo principal de um SO é o de fornecer um ambiente adaptado à execução de programas.

Fornece os serviços para a comunicação entre processos residentes em máquinas diferentes TCP/IP HTTP CORBA Etc.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 Maria João Viamonte / Luis Lino Ferreira 05/06 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. Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 05/06 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 05/06 Sistemas Operativos I 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. 05/06 Sistemas Operativos I 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 05/06 Sistemas Operativos I 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 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 28 14 .

Chamadas ao Sistema Fornecem uma interface entre o utilizador e o SO Podem 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 CPU Armazenamento em memória Através do stack das funções 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 29 Chamadas ao Sistema Em linguagens de alto-nível (C. C++. Visual Basic) as chamadas ao sistemas encontram-se nas funções existentes nas livrarias Raramente utilizadas por um programador comum 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 30 15 .

Chamadas ao Sistema Endereço da tabela 05/06 Sistemas Operativos I 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 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 32 16 .

etc. máximo tempo de execução. o processo Pai pode executar o outro processo de forma concorrente ou pode substituir um processo pelo outro Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 05/06 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. wait for time (sleep) Suspende a execução do processo durante um determinado tempo 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 34 17 . set process atributes Permite operar sobre os atributos do processo criado: alterar prioridade.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.

. reposition get/set file attributes Nome.Controlo de Processos wait event Bloqueia um programa até que um determinado evento aconteça. permissões. tipo. 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 36 18 . 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 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 35 Manipulação de ficheiros create/delete file open. write. close read..

write. reposition Em Linux estas operações são muito semelhantes à leitura e escrita em ficheiros get/set device attributes attach/detach device 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 37 Gestão de Informação 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 João Viamonte / Luis Lino Ferreira 38 19 .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.

detach remote devices 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 39 Comunicações Modelos de comunicações: Passagem de mensagens Memória partilhada 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 40 20 .Comunicações create Estabelece um canal de comunicações entre 2 processos delete communication connection send. receive messages transfer status information attach.

Estrutura de um SO MS-DOS Características: •Baixa modularidade •Por camadas •Necessita de muito poucos recursos 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 41 Estrutura de um SO UNIX Características: • Modular • Por camadas • Necessita de elevados recursos 05/06 Sistemas Operativos I Maria João Viamonte / Luis Lino Ferreira 42 21 .

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 Maria João Viamonte / Luis Lino Ferreira 05/06 43 Sistemas Operativos I Componentes de um Sistema Operativo Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 22 .

Sign up to vote on this title
UsefulNot useful