SISTEMAS OPERATIVOS
Módulo 1 – Introdução aos Sistemas Operativos
NÚCLEO DO SISTEMA OPERATIVO
O sistema operativo trabalha estritamente com o hardware do computador e
com os programas aplicativos; todos estes componentes têm de ser
projetados para trabalharem em conjunto.
A parte do sistema operativo que faz a interligação com o hardware chama-
se núcleo (kernel).
Sistemas Operativos - Módulo1 2
Texto
Conferência Voz
Imagem
Email com
Movimento
Registos de
Alunos Núcleo Vídeo
Tarefa de
Gráficos
Feedback
Tarefa de
Simulações
Correção
Tarefa de
Submissão
Sistemas Operativos - Módulo1 3
NÚCLEO DO SO
O software aplicativo é desenvolvido para funcionar num sistema operativo específico.
Um programa que funcione num iMac requer o sistema operativo Mac OS e não poderá ser
executado noutro sistema operativo, como por exemplo, no Windows 10.
Existem programas para Windows que poderão ser executados nos computadores da
Apple, ou Linux, mas para tal é necessário um programa de emulação do Windows.
Por exemplo, no Microsoft Office existe uma versão que funciona nos sistemas operativos
da Microsoft (Windows) e outra versão para correr sobre o Mac OS.
Outro exemplo, é o caso do OpenOffice que contém versões para funcionar sobre o
Windows, Unix, Linux, entre outros.
Sistemas Operativos - Módulo1 4
FUNÇÕES DO NÚCLEO DO SISTEMA OPERATIVO
Tratamento de interrupções;
Criação e eliminação de processos;
Sincronização e eliminação de processos;
Escalonamento e controlo de processos;
Gestão de memória;
Gestão do Sistema de Ficheiros;
Operações de Entrada e Saída (I/O);
Segurança do sistema.
Sistemas Operativos - Módulo1 5
PROCESSOS
Um processo é basicamente um programa em execução. Podes obter a lista dos processos em execução
no SO Windows pressionando as teclas CTRL+ALT+DEL.
Cada processo possui um espaço de endereçamento para leitura e/ou escrita.
O espaço de endereçamento do processo contém o programa executável, os dados do programa e a
pilha (stack) associada.
A pilha é uma memória especial utilizada na execução de rotinas do núcleo.
Podem estar associados ao processo alguns registos de hardware com todas as informações necessárias à
execução ou paragem de um programa.
Fig. 1.2 Árvore de processos
Sistemas Operativos - Módulo1 6
ESCALONAMENTO
Processo de decisão sobre qual o próximo processo a ser executado em função dos seus
parâmetros.
Atenção que num Sistema Operativo do tipo monoprocessador apenas pode ser executado um
processo de cada vez.
7
Sistemas Operativos - Módulo1 7
ESCALONAMENTO
Objectivos do escalonamento
Optimizar o desempenho do sistema de acordo com um critério.
Dividir a capacidade de processamento da CPU entre os vários processos.
Diminuir o tempo de resposta (sistemas de Tempo-Real).
8
Sistemas Operativos - Módulo1 8
PROCESSOS CONCORRENTES
Processos que competem pela obtenção de um recurso único ou limitado.
Problemas
Starvation;
Deadlock;
Inconsistência / Corrupção de dados.
9
Sistemas Operativos - Módulo1 9
STARVATION
Alguns processos permanecem indefinidamente à espera.
Exemplo: em consequência da política de escalonamento da CPU, um recurso pode ser
utilizado por um processo P1 e posteriormente por um outro processo P2,
deixando um terceiro processo P3
indefinidamente bloqueado sem acesso
ao recurso.
Sistemas Operativos - Módulo1 10
DEADLOCK
Quando dois processos se bloqueiam mutuamente.
Exemplo: o processo P1 acede ao recurso R1, e o processo P2 acede ao recurso R2. Todavia,
num determinado momento, o processo P1 necessita do recurso R2 e o processo P2 necessita do
recurso R1, mas estes não se encontram disponíveis.
Sistemas Operativos - Módulo1 11
INCONSISTÊNCIA/CORRUPÇÃO DE DADOS
O acesso concorrente a dados partilhados pode criar situações de inconsistência desses dados.
Exemplo: dois processos que têm acesso a uma mesma estrutura de dados não devem poder
actualizá-la sem que haja algum processo de sincronização no
acesso, caso contrário podem ocorrer
estados de inconsistência.
Sistemas Operativos - Módulo1 12
INCONSISTÊNCIA/CORRUPÇÃO DE DADOS - SOLUÇÃO
Mecanismos de sincronização.
Mecanismos de protecção (implementados na maioria dos sistemas multiprogramáveis),
denominados por modos de acesso.
Sistemas Operativos - Módulo1 13
JOB CONTROL
Funcionalidade que permite ao utilizador iniciar programas e executá-los em background, enquanto
executa outros programas em foreground.
Sistemas Operativos - Módulo1 14
CHAMADAS AO SISTEMA
Uma preocupação que surge na maior parte dos projetos de sistemas operativos é a
implementação de mecanismos de proteção do núcleo e do acesso aos seus serviços.
Caso uma aplicação, com acesso ao núcleo, realize uma operação que o danifique,
todo o sistema poderá ficar comprometido e inoperante.
O utilizador (ou processo), quando deseja solicitar algum serviço do sistema, faz uma
chamada a uma das suas rotinas (ou serviços) através de chamadas ao sistema (system
calls).
As chamadas ao sistema são a porta de entrada para se ter acesso ao núcleo do
sistema operativo. Para cada serviço existe uma chamada ao sistema associado; cada
sistema operativo tem o seu próprio conjunto (biblioteca) de chamadas, com nomes,
parâmetros e formas específicas de ativação.
Sistemas Operativos - Módulo1 15
CHAMADAS AO SISTEMA (CONT.)
System Núcleo Hardware
Processo
Call
Fig. 1.3 Chamada ao sistema (system call)
Através dos parâmetros fornecidos pelas chamadas ao sistema, o pedido é processado e
uma resposta é retomada à aplicação. O mecanismo de ativação e comunicação entre a
aplicação e o sistema é semelhante ao mecanismo implementado quando um programa
modular ativa um dos seus procedimentos ou funções.
Sistemas Operativos - Módulo1 16
CHAMADAS AO SISTEMA (CONT.)
As chamadas ao sistema podem ser divididas em três grupos de função:
Gestão de processos
Criação e eliminação de processos
Alteração das características do processo
Sincronização e comunicação entre processos
Gestão da memória
Alocação e libertação de memória
Gestão de entrada/saída
Operação de entrada/saída
Manipulação de arquivos e diretórios
Sistemas Operativos - Módulo1 17
PROTEÇÃO E FIABILIDADE
Nos sistemas multiprogramáveis, onde diversos utilizadores partilham os mesmos recursos, deve
existir um mecanismo no SO que garanta a integridade dos dados pertencentes a cada utilizador
ou processo.
Problemas como um processo aceder (acidentalmente ou não) à área de memória reservada a
outro processo ou ao próprio sistema operativo tornariam o sistema pouco fiável.
Assim, nas rotinas do núcleo são implementados mecanismos de proteção aos diversos recursos
que são partilhados, como
Memória
Dispositivos de E/S
CPU
Caso um processo tente aceder a posições de memória fora da sua área, um erro do tipo violação
de acesso ocorre e o programa é encerrado.
Sistemas Operativos - Módulo1 18
PROTEÇÃO E FIABILIDADE
O mecanismo para o controlo de acesso à memória varia em função do tipo de gestão de memória
implementada pelo sistema.
Existe um outro problema quando um programa reserva um periférico para realizar alguma
operação.
Nesta situação, como, por exemplo, na execução de um scanner, nenhum outro programa deve
interferir até que o programa liberte o seu recurso.
A partilha de dispositivos E/S deve ser controlada de forma centralizada pelo SO.
Sistemas Operativos - Módulo1 19
PROTEÇÃO E FIABILIDADE
Para solucionar esses problemas, o SO deve implementar mecanismos de proteção que controlem
o acesso concorrente (deadlock) aos diversos recursos do sistema.
Esse mecanismo de proteção, implementado na maioria dos sistemas multiprogramáveis,
denomina-se: Modos de Acesso
Sistemas Operativos - Módulo1 20