Você está na página 1de 9

Sistemas Operacionais

O que se espera de um sistema de computação?


• Execução de programas de usuários
• Permitir a solução de problemas

Sistema Operacional (SO) é um programa colocado entre o hardware


do computador e os programas dos usuários de forma a atingir esses
dois objetivos.

Programas
Sistema Operacional
Hardware

Estrutura do Sistema Computacional:


• O sistema computacional pode ser dividido em 4 componentes genéricos
– Hardware
• Recursos básicos (CPU, memória, dispositivos de E/S)

– Sistema Operacional
• Controla e coordena o uso do hardware entre vários programas

aplicativos e usuários
– Programas aplicativos e de sistema
• Define como os recursos de hardware são empregados na solução de

um problema (Processadores de texto, compiladores, browsers,


SGBDs, vídeos, jogos, etc)
– Usuários
• Pessoas, máquinas, outros computadores

Sistemas Operacionais – Aula 1 1


Componentes genéricos do Sistema Computacional:

Sistema Operacional: Conceito


• Um programa que controla a execução de programas aplicativos
• Interface entre aplicativos e hardware

Duas visões para definir o Sistema Operacional:


• SO é um alocador de recursos
–Gerencia todos os recursos
– Decide entre requisitos conflitantes para uso mais eficiente dos
recursos
• SO é um programa de controle
– Controla a execução dos programas para prevenir erros e uso
impróprio do computador
• Não existe uma definição completamente adequada

Sistemas Operacionais – Aula 1 2


Objetivos do Sistema Operacional
• Tornar mais conveniente a utilização de um computador
–“Esconder” detalhes internos de funcionamento
• Tornar mais eficiente a utilização de um computador
– Gerenciamento “justo” dos recursos do sistema
• Facilitar a evolução do sistema
– Desenvolvimento, teste e atualização de novas facilidades

Sistema Operacional: interface entre usuário/computador

Usuário
final
Programador

Aplicativos Projetista
de SO
Utilitários
Sistema Operacional
Hardware

Serviços oferecidos pelo Sistema Operacional


• Criação de programas (Editores, depuradores, compiladores)
• Execução de programas (Carga de programas em memória)
• Acesso a dispositivos de E/S
• Controle de acesso a arquivos
• Acesso a recursos de sistema (Proteção entre usuários)
• Contabilidade (Estatísticas, monitoração de desempenho, sinalizar
upgrades necessários de hardware)
• Detecção de erros
– Erros de hardware (erros de memória, falha de dispositivo de E/S)
– Erros de programação (acesso não autorizado a posições de memória)
– Aplicação solicita recurso que o SO não pode alocar
Sistemas Operacionais – Aula 1 3
As diferentes imagens de um Sistema Operacional
• Sistema operacional na visão do usuário:
–Imagem que o usuário tem do sistema
– Inferface oferecida ao usuário para ter acesso a recursos do sistema
– Chamadas de sistema
– Programas de sistema
• Sistema operacional na visão do projeto
– Organização interna do sistema operacional
– Mecanismos empregados para gerenciar recursos do sistema

Chamadas de sistema
• Forma que programas solicitam serviços ao sistema operacional
–Análogo a sub-rotinas
– Transferem controle para o sistema operacional invés de
transferir para outro ponto do programa
• É o núcleo (kernel) do sistema operacional que implementa as chamadas
de sistema
– Existem chamadas de sistema associadas a gerência do processador,
de memória, arquivos e de E/S
• Variação: micro-kernel
– Serviços básicos são implementados pelo micro-kernel
– O kernel implementa os demais serviços empregando esses serviços
básicos

Programas de sistema
• Programas executados fora do kernel (utilitários)
• Implementam tarefas básicas:
– Muitas vezes confundido com o próprio SO (por exemplo compiladores,
assemblers etc)
– Interpretador de comandos (ativado sempre que o SO inicia uma seção
de trabalho / interface gráfica de usuário)
Sistemas Operacionais – Aula 1 4
Histórico dos Sistemas Operacionais

Primórdios (década de 40): Sistema operacional inexistente


• O programador também é o operador

 Existe uma planilha para alocação de horário da máquina


 O programador controla todo o equipamento
 O programa acessa diretamente os periféricos

A evolução foi motivada por:


 Melhorar a utilização dos recursos
 Avanços tecnológicos (novos tipos de hardware)
 Adição de novos serviços

Sistema em lote (batch)


 Introdução de operadores profissionais
 Usuário não era mais o operador da máquina

 Job
 Programa a ser compilado e executado, acompanhado dos dados de

execução (cartões perfurados)


 Jobs são organizados em lote (batch)

 Jobs possuem necessidades semelhantes (ex. Mesmo compilador)

 Passagem entre jobs continua sendo manual


 Operador atento à console do computador
 Um job pode exigir a execução de vários programas

Evolução:
 Sequenciamento automático de jobs, transferindo o controle de um

job a outro
 Primeiro Sistema Operacional (rudimentar)

Sistemas Operacionais – Aula 1 5


Monitor residente (década de 50)
 É um programa que fica permanentemente em memória
 Função: automatizar a transição entre programas
 Funcionamento do monitor residente:
 Execução inicial

 Controle é transferido para o job (cartões controle)

 Quando um job termina o controle retorna ao monitor

 O monitor residente carrega o próximo programa

 Cartões de controle indicam o que fazer


• Identificação do usuário

• Tempo de execução

 Origem das linguagens de programação


 Monitor residente centraliza as rotinas de acesso aos periféricos
• As aplicações não acessam os periféricos diretamente

• Início da chamada de sistema

Sistema batch multiprogramado – multitarefa (década de 60)


 No monitor residente um programa é executado de cada vez
 Desperdício de tempo de CPU com operaç

Evolução:
 Manter diversos programas na memória ao mesmo tempo
 Enquanto um programa realiza E/S, outro pode ser executado

Desperdício CPU Multiprogramação

Requisição Término Requisição Término


E/S E/S E/S E/S

tempo tempo

Sistemas Operacionais – Aula 1 6


Multiprogramação
 Manter mais de um programa em “execução” simultaneamente

 O tempo do processador é dividido entre vários programas

 Na multiprogramação os periféricos são melhor utilizados

 O processador fica menos tempo parado

 Duas inovações de hardware possibilitaram o surgimento da


multiprogramação: interrupções e discos magnéticos
 Interrupções

• Sinalizações de eventos

• Aviso do periférico (início ou término)

 Discos magnéticos

• Acesso randômico a diferentes jobs no disco

• Melhor desempenho em acesso de E/S

Sistemas Timesharing (década de 70)


 Tipo de multiprogramação

 Além da multiprogramação, cada usuário possui um terminal

 Interação com o programa em execução

 Ilusão de possuir a máquina dedicada a execução de seu programa

 Divisão do tempo de processamento entre usuários

 Tempo de resposta é importante

Sistema Monousuário vs. Multiusuário


 Sistema monousuário - Projetados para serem usados por um único

usuário
 Ex. MS-DOS, Windows 3.x, Windows9x, Millenium

 Sistema multiusuário - Projetados para suportar várias sessões de

usuários em um computador
 Ex. Windows NT (2000), UNIX

Sistemas Operacionais – Aula 1 7


Sistema Monotarefa vs. Multitarefa
 Sistema monotarefa - Capazes de executar apenas uma tarefa de cada

vez
 Ex. MS-DOS

 Sistema multitarefa – Projetados ara suportar várias sessões de

usuários em um computador. Existem dois tipos de sistemas


multitarefas:
 Não preemptivos (cooperativo) - Ex. Windows 3.x, Windows9x

(aplicativos 16 bits)
 Preemptivos - Ex. Windows NT, OS/2, UNIX, Windows9x

(aplicativos 32 bits)

Sistemas Operacionais Distribuídos


 Distribuir a realização de uma tarefa entre vários computadores
interconectados através de algum tipo de rede de comunicação
 Sistema distribuído:
 Conjunto de computadores autônomos interconectados de
forma a possibilitar a execução de um serviço
 Existência de várias máquinas é transparente

 Software fornece uma visão única do sistema

 Palavra-chave: transparência

 Sistemas fracamente acoplados (loosely coupled system)


 Máquinas independentes

 Cada máquina possui seu próprio sistema operacional

 Comunicação é feita através de troca de mensagens entre

processos
 Vantagens:

 Compartilhamento de recursos

 Balanceamento de carga

 Aumento de confiabilidade

Sistemas Operacionais – Aula 1 8


Sistemas Operacionais paralelos
 Máquinas multiprocessadoras possuem mais de um processador
 Sistemas fortemente acoplados (tightly coupled system)
 Processadores compatilham memória e relógio comuns

 Comunicação é realizada através de memória

 Vantagens:
 Aumento de throughput (número de processos executados)

 Aspectos econômicos

 Aumento de confiabilidade

Graceful degradation


 Sistemas fail-soft

 Symmetric multiprocessing (SMP)


 Cada processador executa uma cópia idêntica do sistema
operacional
 Vários processos podem ser executados em paralelo sem perda
de desempenho para o sistema
 A maioria dos sistemas operacionais atuais suportam SMP
através do conceito de multithreading
 Asymmetric multiprocessing
 Cada processador executa uma tarefa específica: ex.
Processador mestre para alocação de tarefas a escravos

Sistemas Operacionais de tempo real


 Empregado para o controle de procedimentos que devem responder
dentro de um certo intervalo de tempo
 Ex. Experimentos científicos, tratamento de imagens médicas,

controle de processos etc.


 Noção de tempo real é dependente da aplicação (milisegundos, minuto,
horas etc)
 Dois tipos: Hard real time – tarefas críticas são completadas dentro
de um intervalo de tempo; e Soft real time – tarefa crítica tem maior
prioridade que as demais.
Sistemas Operacionais – Aula 1 9

Você também pode gostar