Sistema Operacional
Sistema Operacional
Sistema Operacional
Operacionais
Sistemas Operacionais 2
Introdução
Sistema Computacional = hardware + software
Software:
Programas do sistema: gerenciam a operação do
computador
Programas de aplicação: programas de usuário
Sistemas Operacionais 3
Definição
“É um programa de controle do
computador. O Sistema Operacional é
responsável por alocar recursos de hardware
e escalonar tarefas. Ele também deve prover
uma interface para o usuário - ele fornece
ao usuário uma maneira de acesso aos
recursos do computador.” Sobell.
Sistemas Operacionais 4
USUÁRIOS
SISTEMA
OPERACIOANAL
HARDWARE
Sistemas Operacionais 5
Definição
“Um Sistema Operacional pode ser definido
como um gerenciador dos recursos que
compõem o computador (processador,
memória, I/O, arquivos, etc). Os problemas
centrais que o Sistema Operacional deve
resolver são o compartilhamento ordenado, a
proteção dos recursos a serem usados pelas
aplicações do usuário e o interfaceamento
entre este e a máquina.” Stemmer.
Sistemas Operacionais 6
Localização
Sistemas Operacionais 7
Principais atributos
Abstração de Hardware Máquina Virtual
(associações lógicas de dispositivos e controle
do endereçamento de memória);
Sistemas Operacionais 8
Principais atributos
Coordenar Recursos (maximização do uso
e proteção dos usuários)
- Concorrência;
- Proteção de memória;
- Acesso a arquivos.
Controle
- Interações usuário - recurso;
- Interações usuário - usuário.
Padronização de serviços.
Sistemas Operacionais 9
Sistema operacional
S.O. é a porção de software que roda em
modo kernel ou modo supervisor
protege o hardware da ação direta do
usuário.
Os demais programas rodam em modo
usuário e fazem chamadas ao kernel para
terem acesso aos dispositivos.
Sistemas Operacionais 10
Funções do S.O.
S.O. visto como máquina estendida
Fornecer uma abstração de alto nível dos
recursos de hardware da máquina, livrando o
programador dos detalhes de funcionamento
dos mesmos.
Sistema Operacional funciona como uma
máquina virtual.
Visão top-down.
Sistemas Operacionais 11
Exemplo
Fornecer uma visão dos discos como uma
coleção hierárquica de arquivos, identificados
por nomes e manipuláveis por funções de
abertura/fechamento e leitura/escrita,
escondendo os detalhes de acionamento dos
motores das unidades, posicionamento dos
cabeçotes, quantidade de trilhas e tamanho dos
setores dos discos.
Sistemas Operacionais 12
Funções do S.O.
S.O. visto como um gerente de recursos
Fornecer um esquema de alocação dos recursos
(processadores, memórias, I/O, etc) entre os
processos concorrentes.
Estabelecer critérios de uso dos recursos e ordem
de acesso aos mesmos, impedindo violação de
espaço de memória de processos concorrentes e
tentativas de acesso simultâneo a um mesmo
recurso gerência e proteção dos dispositivos.
Visão bottom-up.
Sistemas Operacionais 13
Tipos de sistemas operacionais
Os tipos e sua evolução estão intimamente
relacionados com a evolução do Hardware e
das aplicações por ele suportadas.
A evolução dos S.O. para PCs e WS
popularizou vários conceitos e técnicas, antes
só conhecidos em ambientes de grande porte.
Sistemas Operacionais 14
Tipos de sistemas operacionais
Tipos de Sistemas
Operacionais
Sistemas Operacionais 15
Sistemas monoprogramáveis /
monotarefa
Execução de um único programa (job);
Qualquer outro programa, para ser
executado, deveria aguardar o término do
programa corrente;
Tipicamente relacionado ao surgimento dos
mainframes;
Sistemas Operacionais 16
Programa /
Tarefa
UCP
Memória
SISTEMAS
MONOPROGRAMÁVEIS /
MONOTAREFA
Dispositivos
de E/S
Sistemas Operacionais 17
Sistemas multiprogramáveis /
multitarefa
Sistemas Operacionais 18
Programa /
Tarefa
UCP
Programa /
Tarefa
Memória
Dispositivos Sistemas
de E/S Multiprogramáveis /
Multitarefa
Programa /
Programa /
Tarefa
Tarefa
Sistemas Operacionais 19
CLASSIFICAÇÃO
Sistemas
Multiprogramáveis / Multitarefa
Sistemas Operacionais 20
Sistemas com múltiplos
processadores
Caracterizam por possui duas ou mais UCPs
interligadas, trabalhando em conjunto;
O fator chave neste tipo de S.O. é a forma
de comunicação entre as UCPs e o grau de
compartilhamento da memória e dos
dispositivos de I/O;
Sistemas Operacionais 21
Sistemas com Múltiplos
Processadores
Sistemas Sistemas
Fortemente Fracamente
Acoplado Acoplado
Sistemas Operacionais 22
Sistemas Fortemente Acoplados
Existem dois ou mais processadores compartilhando
uma única memória e controlados por apenas um único
SO.
Sistemas Simétricos
todos os processadores tem a mesma função,
podendo executar o SO independentemente
Sistemas Assimétricos
processador primário, responsável pelo controle
dos demais processadores (secundários) e pela
execução do SO.
Sistemas Operacionais 23
Sistemas Fracamente Acoplados
Dois ou mais sistemas de computação interligados,
sendo que cada sistema possui o seu próprio SO.
Sistemas Operacionais de Rede
Cada nó possui seu próprio HW, SW e SO.
Independente um do outro.
Sistemas Operacionais Distribuídos
Para o usuário e suas aplicações, é como se não
existisse uma rede de computadores, mas sim um
único sistema centralizado.
Sistemas Operacionais 24
Estrutura do S.O.
Formado por um conjunto de rotinas
(procedimentos) que oferecem serviços aos
usuários do sistema e suas aplicações, bem
como a outras rotinas do próprio sistema.
Esse conjunto de rotinas é chamado núcleo
do sistema ou kernel (cérebro).
Sistemas Operacionais 25
Kernel
Tratamento de interrupções;
criação e eliminação de processos;
sincronização e comunicação entre processos;
escalonamento e controle dos processos;
gerência de memória;
gerência do sistema de arquivos;
operações de entrada e saída
contabilização e segurança do sistema.
Sistemas Operacionais 26
System calls
Mecanismo de proteção ao núcleo do
sistema e de acesso aos seus serviços.
O usuário (ou aplicação), quando deseja
solicitar algum serviço do sistema, realiza
uma chamada a uma de suas rotinas (ou
serviços) através da system calls (chamadas
ao sistema).
Sistemas Operacionais 27
System call
H
a
r
Aplicação System Call Núcleo d
w
a
r
e
Sistemas Operacionais 28
Grupos de funções
Gerência de Processos
criação e eliminação de processos;
alteração das características do processo;
sincronização e comunicação entre processos;
Gerência de Memória
Alocação e desalocação de memória;
Gerência de I/O
Operações de I/O;
Manipulação de arquivos e diretórios.
Sistemas Operacionais 29
Modos de acesso
Existem certas instruções que não podem ser
colocadas diretamente à disposição das aplicações,
pois a sua utilização indevida ocasionaria sérios
problemas à integridade do sistema.
As instruções que têm o poder de comprometer o
sistema são conhecidas como instruções
privilegiadas (modo kernel), enquanto as
instruções não-privilegiadas são as que não
oferecem perigo ao sistema.
Registrador da UCP, que indica o modo de acesso
corrente.
Sistemas Operacionais 30
Chamada a uma rotina do
sistema
Programa
Usuário A Programas
dos usuários
System Call executam
Memória Programa no modo
principal Usuário B usuário
SO executa
Rotina do no modo
Sistema Kernell
Sistemas Operacionais 31
Sistemas monolíticos
Não há estruturação visível;
SO é escrito como uma coleção de processos
cada processo podendo fazer chamadas a qualquer
outro;
Os serviços (system calls) são requisitados através
da colocação dos parâmetros em lugares definidos
(pilhas e registradores) e da execução de uma
chamada de sistema especial (TRAP) ao kernel ;
Sistemas Operacionais 32
Sistemas monolíticos
aplicação aplicação
Modo usuário
Modo Kernel
System Calls
Hardware
Sistemas Operacionais 33
Sistemas em camadas
Camadas sobrepostas;
Cada módulo oferece um conjunto de funções
que podem ser utilizadas por outros módulos.
THE, Dijkstra, 1968
Sistemas Operacionais 34
S.O. em camadas vistas como anéis
concêntricos
anéis mais internos são mais privilegiados que
os externos;
prodedimentos de anéis externos executavam
chamadas de sistema TRAP para utilizar os
serviços dos anéis internos;
proteção dos segmentos de memória.
Sistemas Operacionais 35
Camadas concêntricas
usuário
supervisor
Executivo
kernel
Sistemas Operacionais 36