Você está na página 1de 32

Princípios da Computação/ LEI-ISEP

Arquitetura de um Sistema Operativo

Regente: Maria João Viamonte (mjv@isep.ipp.pt)


Módulos de um Sistema Operativo

• Gestão de Processos

• Gestão da Memória Principal

• Gestão da Memória Secundária

• Gestão de Ficheiros

• Gestão de I/O

• Gestão de Rede

• Proteção do Sistema

• Interpretador de Comandos
Gestão de Processos
• Processos:
Cada processo pode ser considerado como um programa em
execução
Abstraçã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 (Interpretador de comandos)
Processos do sistema: syslog, rpciod, etc.
Processador, Programa e Processo

• O processador é o órgão material onde é executada toda a


atividade 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
Processos
• Um Processo define:
• Um conjunto de operações:
• Operações elementares, normalmente um subconjunto das instruções
do processador

• Operações de interaçã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 interatuar de forma indevida com os
outros processos ou com o próprio SO
Gestão de Processos
• Um processo precisa de certos recursos para completar a sua tarefa,
nomeadamente:
Tempo de CPU
Memória
Ficheiros
Dispositivos de I/O
• 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
Módulos de um Sistema Operativo
• Gestão de Processos

• Gestão da Memória Principal

• Gestão da Memória Secundária

• Gestão de Ficheiros

• Gestão de I/O

• Gestão de Rede

• Proteção do Sistema

• Interpretador de Comandos
Gestão da Memória Principal

• A execução dum programa requer o seu carregamento


prévio em memória (loader)

• A utilização eficiente do processador e da memória requer


o carregamento de vários programas executáveis em
memória
• Multiprogramação
Gestão da Memória Principal

• Funções do Sistema de Gestão da Memória Principal:


• Registo atualizado 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

Princípios da 9
Computação
Gestão da Memória Principal

• Cada posição de memória, byte, word ou long é 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

• …

Princípios da 10
Computação
Gestão da Memória Principal

• Controla a utilização da memória física

• Há vários algoritmos de gestão de memória

• Os algoritmos de alocação de memória devem ter como


objetivo reduzir a fragmentação da memória

• A Fragmentação da memória pode ser:


• Interna – espaço desperdiçado dentro de cada partição

• Externa – partições inteiras desperdiçadas

Princípios da 11
Computação
Gestão da Memória Principal

• Algoritmos de alocação de 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

Princípios da 12
Computação
Módulos de um Sistema Operativo
• Gestão de Processos

• Gestão da Memória Principal

• Gestão da Memória Secundária

• Gestão de Ficheiros

• Gestão de I/O

• Gestão de Rede

• Proteção do Sistema

• Interpretador de Comandos
Princípios da 13
Computação
Gestão da Memória Secundária
• Visto que a memória principal (primary storage) é volátil e demasiado
pequena para armazenar todos os dados e programas duma forma
permanente, o computador tem de fornecer memória secundária (secondary
storage) para salvaguardar (backup) a memória principal

• A maior parte dos computadores modernos usam discos como os principais


meios de armazenamento secundário de programas e dados

• O sistema operativo é responsável pelas seguintes atividades no que respeita


à gestão de memória secundária:

• Gestão de espaço livre

• Reserva de espaço em disco

• Escalonamento do acesso ao disco


Princípios da 14
Computação
Gestão da Memória Principal
• Gestão de Processos

• Gestão da Memória Principal

• Gestão da Memória Secundária

• Gestão de Ficheiros

• Gestão de I/O

• Gestão de Rede

• Proteção do Sistema

• Interpretador de Comandos
Princípios da 15
Computação
Gestão de Ficheiros
• O Sistema Operativo fornece uma visão uniforme do sistema de
ficheiros, independentemente da tecnologia usada

• Ficheiro
• Unidade lógica de armazenamento

• Uma coleção de informação inter-relacionada e definida


por alguém. Normalmente, os ficheiros representam
programas (em código fonte ou em código objeto) e dados

Princípios da 16
Computação
Gestão de Ficheiros

• Funções do Sistema de Gestão de Ficheiros:


• Criar/Apagar ficheiros e diretórios

• Manipulação de ficheiros e diretorias

• Operações de leitura e escrita em ficheiros

• Mapeamento dos ficheiros em memória secundária

• Escalonamento do acesso à memória secundária

• Proteção de acesso aos ficheiros

Princípios da 17
Computação
Módulos de um Sistema Operativo
• Gestão de Processos

• Gestão da Memória Principal

• Gestão da Memória Secundária

• Gestão de Ficheiros

• Gestão de I/O

• Gestão de Rede

• Proteção do Sistema

• Interpretador de Comandos
Princípios da 18
Computação
Gestão de I/O
• A implementação das operações de I/O é complexa, uma vez que
interatuam 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

• A virtualização do sistema em UNIX – cada dispositivo de I/O é um


ficheiro ! Princípios da 19
Computação
Gestão da Memória Principal

• Gestão de Processos

• Gestão da Memória Principal

• Gestão da Memória Secundária

• Gestão de Ficheiros

• Gestão de I/O

• Gestão de Rede

• Proteção do Sistema

• Interpretador de Comandos
Princípios da 20
Computação
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

Princípios da 21
Computação
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

• Portanto, existe também um device-driver de rede que oculta os


detalhes de funcionamento da rede

• Gerir a configuração e os parâmetros de rede

• Exemplos:
• TCP/IP

• SMB

• FTP

• NFS Princípios da 22
Computação
Gestão da Memória Principal
• Gestão de Processos

• Gestão da Memória Principal

• Gestão da Memória Secundária

• Gestão de Ficheiros

• Gestão de I/O

• Gestão de Rede

• Proteção do Sistema

• Interpretador de Comandos
Princípios da 23
Computação
Proteçã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

Princípios da 24
Computação
Proteçã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

• Deteção de erros (evitando a propagação do erro aos


restantes processos em execução)

Princípios da 25
Computação
Gestão da Memória Principal

• Gestão de Processos

• Gestão da Memória Principal

• Gestão da Memória Secundária

• Gestão de Ficheiros

• Gestão de I/O

• Gestão de Rede

• Proteção do Sistema

• Interpretador de Comandos
Princípios da 26
Computação
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

Princípios da 27
Computação
Estrutura de um SO
• Um sistema operativo é normalmente MS-DOS
desenhado e construído por módulos. Não é
um sistema monolítico. Portanto, temos de
definir para cada módulo, a sua função, as
suas entradas e as suas saídas

• MS-DOS

• Escrito para fornecer a máxima funcionalidade


no mínimo espaço

• Não está dividido em módulos

• Embora o MS-DOS tenha alguma estrutura, as


suas interfaces e níveis de funcionalidade não
estão bem separadas

• separadas

28
Estrutura de um SO
• Características:
• Modular UNIX
• Por camadasa de elevados recursos

Princípios da 29
Computação
Estrutura por Camadas

O SO é dividido em várias camadas, cada uma delas fornece


serviços apenas à camada imediatamente por cima

Kernel

Device Drivers

Hardware

Princípios da 30
Computação
Máquinas Virtuais

• Máquinas virtuais extendem a abordagem por camadas: encapsulam o


hardware e sistema operativo como se fossem hardware

• Oferecem aos clientes uma interface identica à oferecida por uma


determinada arquitectura de hardware

• Podem ter como clientes sistemas operativos a correr sobre o hardware


virtualizado

• Os recurso físicos do computador são partilhados pelas diferentes instâncias


das máquinas virtuais

• Oferecem ao cliente a ilusão de ter uma máquina só para si

Princípios da 31
Computação
Máquinas Virtuais

Princípios da 32
Computação

Você também pode gostar