Você está na página 1de 52

Sistemas Operacionais
Sistema Operacional
Hardware
– Provê recursos para execução de instruções,
manipulação de dados
Programa de Aplicação
– Solução computacional de um problema
– Define a utilização dos recursos do sistema

PROBLEMA
– O hardware sozinho não oferece um ambiente de
utilização simples para resolução computacional de
Problemas.
Sistema Operacional
Problema Exemplo
Considere a implementação de um sistema
computacional onde duas entidades
(software) produz e consome dados da
memória, respectivamente.

Como sincronizar a produção e o consumo


de dados?
Sistema Operacional
Conceito de Sistema Operacional

Um Sistema Operacional... ... possibilita o uso eficiente e


controlado dos recursos de hardware.

... implementa políticas e estruturas de software de modo a


assegurar um melhor desempenho do sistema de computação
Sistema Operacional
DEFINIÇÕES:
1. conjunto de programas que trabalham de modo cooperativo
com o objetivo de prover uma máquina mais flexível e
adequada ao programador do que aquela apresentada pelo
hardware.

2. A program that controls the execution of application


Programs
3. An interface between applications and hardware

4. Programa que age como um intermediário entre o usuário de


um computador e o hardware deste computador”.
Sistema Operacional
DEFINIÇÕES
Alocador de Recursos
Gerencia e aloca recursos aos “usuários”

Programa de controle
Controla a execução de programas do usuário e
operações de dispositivos de E/S

Kernel
Programa que executa sempre que um programa
de aplicação não está executando
Sistema Operacional
Função do Sistema Operacional

Oferecer uma interface simplificada do sistema computacional


para o usuário
Fornece abstrações simplificadas
Exemplo: Arquivos no Windows

Gerenciar os recursos do hardware


Define, aplica e supervisiona políticas de acesso e utilização
dos recursos
Exemplo: Gerência do espaço de endereçamento
Sistema Operacional
Sistema Operacional
Sistema Operacional
•Exemplo:

•Afunção GetVersionEx
determina se seu
aplicativo está sendo
executado em uma
versão especial do
sistema operacional,
para verificar os
números de versão que
são maiores do que ou
igual a os números de
versão desejados.
Sistema Operacional
Exemplos de outras Funções:

http://msdn.microsoft.com/en-
us/library/windows/desktop/ms724953(v%3Dvs.85).aspx
&usg=ALkJrhhtxGzh4uAOXzK7w58Y_c-WJ81I5Q
Sistema Operacional
CARACTERÍSTICAS DESEJÁVEIS
• Eficiência
– Baixo tempo de resposta, pouca ociosidade da UCP e
alta taxa de processamento.

• Confiabilidade
– Pouca incidência de falhas e exatidão dos dados
computados.
Sistema Operacional
CARACTERÍSTICAS DESEJÁVEIS
Mantenabilidade
– Facilidade de correção ou incorporação de novas
características.
• Pequena dimensão
– Simplicidade e baixa ocupação da memória
• Concorrência
– Capacidade de manutenção de tarefas concorrentes
Sistema Operacional
CARACTERÍSTICAS DESEJÁVEIS

Compartilhamento de recursos
– Gerencia de recursos de hardware e software
compartilhados
Sistema Operacional
CARACTERÍSTICAS DESEJÁVEIS
Núcleo
Responsável pela gerência do processador, tratamento
de interrupções, comunicação e sincronização de
processos.

Gerente de Memória
– Responsável pelo controle e alocação de memória aos
processos ativos.
Sistema Operacional
Sistema de E/S
– Responsável pelo controle e execução de operações de E/S
e otimização do uso dos periféricos.
Sistema de Arquivos
– Responsável pelo acesso e integridade dos dados
residentes na memória secundária.
Processador de Comandos / Interface com o Usuário .
Responsável pela interface conversacional com o usuário.
Sistema Operacional

usuári os
progr amadores progr amas,
e anali stas si stemas e
apli cativos

Usuár ios

Sistema Operacional

memór ia discos

Har dw ar e

fi tas
UCP

i mpr essoras moni tor es


Sistema Operacional
Tipos de Sistemas Operacionais
Os vários tipos surgiram da evolução histórica
dos sistemas operacionais
Gerações de Sistemas operacionais
Tipos mais comuns
– SO de Computadores de Grande Porte
– SO de Servidores
– SO de multiprocessadores
– SO de Computadores Pessoais
– SO de Tempo Real
– SO de Embarcados
– SO de Cartões Inteligentes
Sistema Operacional
Tipos de Sistemas Operacionais
SO de Computadores de Grande Porte
– O hardware caracteriza-se por grande capacidade de E/S

Servidores WEB
– As operações caracterizam-se por execução
simultânea de muitas tarefas requerendo muita E/S

– Tarefas -• Lote -• Transações -• Tempo Compartilhado


Sistema Operacional
Tipos de Sistemas Operacionais
SO de Servidores
– São “computadores pessoais de grande
porte”
Permitem o compartilhamento de hardware e software
Prestam serviço a muitos usuários
– Impressão
– Arquivo
– Mensagens
– Web
Sistema Operacional
Tipos de Sistemas Operacionais
SO de multiprocessadores

– Gerenciam múltiplas CPUs


Podem ser multiprocessadores ou multicomputadores
A preocupação principal está em:
Sincronização e comunicação de processos
Sistema Operacional
Tipos de Sistemas Operacionais
SO de Tempo Real
– O atendimento ao tempo de resposta é a
principal preocupação
O tempo de resposta pode ser crítico ou não
Crítico

SO de Embarcados
Apresentam restrições quanto ao espaço de memória
ocupado e consumo de potencia Geralmente também
possuem restrição de tempo
Sistema Operacional
Histórico dos Sistemas Operacionais
Década de 40
Cada computador era único em termos de estrutura e função. Não havia
necessidade para um software operacional padronizado, portanto não existia
SO => a princípio o programador também operava o computador.

Depois passou a existir a figura do operador, que recebia do programador os


jobs (programas) junto com os dados de entrada (cartões perfurados). Depois
da execução o programador recebia uma listagem com as saídas do programa.

Perdia-se muito tempo para reparar a máquina e prepará-la para outra


execução => surge o esquema batch (lotes de jobs com necessidades
semelhantes).
Sistema Operacional
Histórico dos Sistemas Operacionais
Década de 50
Surge os primeiros monitores residentes com a função
de automatizar a transição entre as execuções dos
programas.

Esses monitores eram programas que ficavam


residentes na memória responsáveis por carregar e
iniciar automaticamente a execução do próximo
programa da fila.
Sistema Operacional
Histórico dos Sistemas Operacionais
Década de 90
Novas áreas de pesquisa se desenvolveram e ajudaram no
desenvolvimento da computação em conjunto com os avanços
tecnológicos. Dentre elas podemos citar: banco de dados, redes de
computadores, sistemas operacionais, sistemas distribuídos, entre
outros.
1990: lançado o Windows 3.0 para 386
1992: lançado o Windows NT
1995: lançado o Windows 95
1998: lançado o Windows 98
2000: lançado o Windows Me (Millenium Edition) => considerado uma
pequena revisão do Win98.
Sistema Operacional
Sistema Operacional
Década de 2000 Até o momento
CHROMIUM OS (Ainda não foi lançado)
ANDROID (Smart Phones, Tablet´s)
WINDOWS 7, XP, Vista, Me, NT,98,95
WINDOWS 2003/2008
MAC OS X
LINUX ( Distribuições)
SISTEMAS OPERACIONAIS EM NUVEM
TV/INTERNET
Sistema Operacional
Sistema Operacional
Sistema Operacional
Sistema Operacional
Sistema Operacional
Atividade 01

1- Faça uma pesquisa complementar a respeito da evolução dos


sistemas operacionais e aponte, através de tópicos, os eventos
mais importantes em cada época bem como os avanços
técnicos pertinentes.
Sistema Operacional
Atividade – 01

2 - Quais são os três principais propositos de um sistema operacional ?

3 - Quais são as principais diferencas ente sistemas operacionais de


mainframes e computadores pessoais ?

4 - Considerando varias definicoes de sistema operacional. Considere se o


sistema operacional deve incluir aplicações do tipo navegadores WEB e
programas de email. Argumente se o SO deve possuir ou não deve possuir
tais sistemas incorporados ?
SO – Conceitos básicos

O sistema operacional é uma camada de software


que opera entre o hardware e os programas
aplicativos voltados ao usuário final.

O sistema operacional é uma estrutura de


software ampla, que incorpora aspectos de
baixo nível (como drivers de dispositivos e
gerência de memória física) e de alto nível
(como programas utilitários e a própria interface
gráfica).
SO – Conceitos básicos

Arquitetura geral de um sistema computacional típico.


SO – Conceitos básicos

Os objetivos básicos de um sistema operacional podem


ser sintetizados em duas palavras-chave:

“abstração” e “gerência”
SO – Conceitos básicos

Abstração:

O sistema operacional deve definir interfaces


abstratas para os recursos do hardware.
SO – Conceitos básicos

Abstração: Objetivos.

Prover interfaces de acesso aos dispositivos, mais


simples de usar que as interface de baixo nível,
para simplificar a construção de programas
aplicativos.
Tornar os aplicativos independentes do
hardware.
Definir interfaces de acesso homogêneas para
dispositivos com tecnologias distintas.
SO – Conceitos básicos

Abstração: Exemplo: leitura de um arquivo em disquete.

1. verificar se os parâmetros informados estão corretos (nome do arquivo,


identificador do leitor de disquete, buffer de leitura, etc);

2. verificar se o leitor de disquetes está disponível;

3. verificar se o leitor contém um disquete;

4. ligar o motor do leitor e aguardar atingir a velocidade de rotação correta;

5. posicionar a cabeça de leitura sobre a trilha onde está a tabela de diretório;

6. ler a tabela de diretório e localizar o arquivo ou subdiretório desejado;

7. mover a cabeça de leitura para a posição do bloco inicial do arquivo;

8. ler o bloco inicial do arquivo e depositá-lo em um buffer de memória.


SO – Conceitos básicos

Gerência de recursos:

O sistema operacional deve definir políticas para gerenciar


o uso dos recursos de hardware pelos aplicativos, e
resolver eventuais disputas e conflitos.
SO – Conceitos básicos

Gerência de recursos:
Situações onde se faz necessária a gerência de recursos:

O uso desse processador deve ser distribuído entre os aplicativos


presentes no sistema, de forma que cada um deles possa executar na
velocidade adequada para cumprir suas funções sem prejudicar os
outros.
A memória RAM, que deve ser distribuída de forma justa entre as
aplicações.
A impressora é um recurso cujo acesso deve ser efetuado de forma
mutuamente exclusiva (apenas um aplicativo por vez ( solução:print
jobs – fila FIFO).
Impedir que todos os recursos do sistema sejam monopolizados por
um só usuário (quota de uso por usuário).
SO – Conceitos básicos

Resumindo:

Um sistema operacional visa abstrair o hardware


gerenciando seus recursos e provendo aos
aplicativos um ambiente de execução abstrato,
no qual o acesso aos recursos de hardware se dá
através de interfaces simples, independentes das
características de baixo nível do hardware, e no
qual os conflitos no uso do hardware são
minimizados.
SO – Tipos de sistemas.

Os sistemas operacionais podem ser classificados de


acordo com diversos parâmetros e perspectivas, como
tamanho, velocidade, suporte a recursos específicos,
acesso à rede, etc.
SO – Tipos de sistemas.

Batch (de lote) : os sistemas operacionais mais


antigos trabalhavam “por lote´´ , ou seja, todos os
programas a executar eram colocados em uma fila,
com seus dados e demais informações para a
execução. O processador recebia um programa
após o outro, processando-os em seqüência, o que
permitia um alto grau de utilização do
sistema.
SO – Tipos de sistemas.

De rede : um sistema operacional de rede deve


possuir suporte à operação em rede, ou seja, a
capacidade de oferecer às aplicações locais
recursos que estejam localizados em outros
computadores da rede, como arquivos e
impressoras. Ele também deve disponibilizar
seus recursos locais aos demais computadores, de
forma controlada. A maioria dos sistemas atuais
oferece esse tipo de funcionalidade.
SO – Tipos de sistemas.

Distribuído : em um sistema operacional distribuído, os


recursos de cada máquina estão disponíveis globalmente,
de forma transparente aos usuários. Ao lançar uma
aplicação, o uuário interage com sua janela, mas não
sabe onde ela está executando ou armazenando seus
arquivos: o sistema é quem decide, de forma transparente.
Os sistemas operacionais distribuídos já existem há tempos
( Amoeba [TKvRB91] e Clouds [DRJLAR91], por
exemplo), mas ainda não são
uma realidade de mercado.
SO – Tipos de sistemas.

Multi-usuário : Um sistema operacional multi-usuário deve


suportar a identificação do “dono” de cada recurso dentro
do sistema (arquivos, processos, áreas de memória,
conexões de rede) e impor regras de controle de acesso
para impedir o uso desses recursos por usuários não
autorizados.
Essa funcionalidade é fundamental para a
segurança dos sistemas operacionais de rede e
distribuídos.
Grande parte dos sistemas atuais são multi-usuários.
SO – Tipos de sistemas.

Desktop : um sistema operacional “de mesa” é


voltado ao atendimento do usuário doméstico
e corporativo para a realização de atividades
corriqueiras, como edição de textos e gráficos,
navegação na Internet e reprodução de mídias
simples. Sua principais características são a
interface gráfica, o suporte à interatividade e
a operação em rede. Exemplos de sistemas
desktop são o Windows XP, MacOS X e Linux.
SO – Tipos de sistemas.

Servidor : um sistema operacional servidor deve


permitir a gestão eficiente de grandes
quantidades de recursos (disco, memória,
processadores), impondo prioridades e limites
sobre o uso dos recursos pelos usuários e seus
aplicativos. Normalmente um sistema
operacional servidor também tem suporte a rede e
multi-usuários.
SO – Tipos de sistemas.

Embutido : um sistema operacional é dito


embutido (embedded) quando é construído para
operar sobre um hardware com poucos recursos
de processamento, armazena- mento e energia.
Aplicações típicas desse tipo de sistema
aparecem em telefones celulares,
controladores industriais e automotivos
Ex. µC/OS, Xylinx, LynxOS e VxWorks.
SO – Tipos de sistemas.

Tempo real : ao contrário da concepção usual, um


sistema operacional de tempo real não precisa ser
necessariamente ultra-rápido; sua característica
essencial é ter um comportamento temporal
previsível (ou seja, seu tempo de resposta deve ser
conhecido no melhor e pior caso de operação). A
estrutura interna de um sistema operacional de tempo
real deve ser construída de forma a minimizar
esperas e latências imprevisíveis, como tempos de
acesso a disco e sincronizações excessivas.
SO – Tipos de sistemas.

Tempo real :
soft real-time systems, nos quais a perda de prazos implica
na degradação do serviço prestado. Um exemplo seria
o suporte à gravação de CDs ou à reprodução de músicas.
hard real-time systems a perda de prazos pelo sistema
pode perturbar o objeto controlado, com graves
conseqüências humanas, econômicas ou ambientais.
Exemplos: controle de funcionamento de uma turbina de
avião a jato ou de uma caldeira industrial. QNX, RT-Linux e
VxWorks.

Você também pode gostar