22
1 Sistemas Operativos I Componentes de um Sistema Operativo Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 05/06 Sistemas 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á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 - itligado.files.wordpress.com · Permite a operações sobre um sistema de ficheiros 05/06 Sistemas Operativos I ... Fornecem uma interface entre o utilizador

Embed Size (px)

Citation preview

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