Você está na página 1de 20

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

Você também pode gostar