Sie sind auf Seite 1von 54

Introdução  aos  Sistemas  

Operacionais

Prof.  João  Marcos  B.  Cavalcanti


john@icomp.ufam.edu.br
Agenda

n Conceitos  Básicos
n Tipos  de  Sistemas  Operacionais
n Histórico
¡ Geração  
n Breve  Evolução
n Referências

2
Conceitos  Básicos
Sistema  de  Computação

n Um sistema de computação é
constituído basicamente por:
¡ Hardware (processador, memória, I/O,
periféricos, entre outros).
¡ Software (programas como editores de
texto, navegadores, jogos, etc.).
¡ Entre esses componentes reside uma
camada de software multi-­facetada,
chamada Sistema Operacional.
4
Sistema  de  Computação
editor  de   reprodutor   editor  
textos de  mídia gráfico
Estudar  os  as  
fucionamento  
dos  sistemas  
aplicativos operacionais  fdf  
modernos,  
dando  dfddd  
sdsdsdsdsdsd

Sistema  Operacional

hardware

discos memória portas   rede 5


Fonte:  [Maziero  2011] USB
O  que  é  um  
Sistema  Operacional?

n Um programa que age como


intermediário entre um usuário de um
sistema de computação e o hardware
n Ou seja, um S.O. controla e coordena
o uso dos recursos de hardware (CPU,
memória, dispositivos de E/S, ...) pelos
programas de aplicação destinados
aos usuários.
6
Objetivos  de  um  
Sistema  Operacional

n Quais os objetivos de um S.O.?


¡ Executar programas de aplicação e
facilitar
¡ Tornar o sistema de computação
conveniente ao uso
¡ Tornar eficiente o uso dos recursos de
hardware.
n Resumo: fornecer “abstração e
gerência” de recursos 7
Objetivos  de  um  
Sistema  Operacional

n Abstração de Recursos
¡ Uma vez que manipular recursos de
hardware em um sistema de computação
pode ser difícil e complexo devido a
fatores com, por exemplo, o padrão de
comunicação das interfaces.
¡ O S.O. tem a função (tarefa) de definir
interfaces abstratas para os recursos do
hardware.
8
Objetivos  de  um  
Sistema  Operacional

n Com a abstração, o S.O. consegue:


¡ Prover interfaces de acesso aos
dispositivos, mais simples que as 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. 9
Objetivos  de  um  
Sistema  Operacional

n Gerência de Recursos
¡ Os programas aplicativos usam o
hardware para atingir seus objetivos.
¡ Em um sistema com várias atividades
simultâneas, podem surgir conflitos no
uso do hardware (dois ou mais
aplicativos precisam dos mesmos
recursos).

10
Objetivos  de  um  
Sistema  Operacional

n Gerência de Recursos
¡ Cabe ao S.O. definir políticas para
gerenciar o uso dos recursos de
hardware pelos aplicativos e resolver
eventuais disputas e conflitos.

11
Objetivos  de  um  
Sistema  Operacional

n Gerência de Recursos
¡ O uso do processador e da memória
RAM do computador, a fila de impressão
e até a detecção e mitigação de ataques
de negação de serviço (DoS) são
exemplos de atividades de gerência de
recursos do S.O.

12
Tipos  de  
Sistemas  Operacionais

13
Tipos  de  
Sistemas  Operacionais

n Os sistemas operacionais podem ser


classificados segundo diversos
parâmetros e perspectivas, como
tamanho, velocidade, suporte a
recursos específicos, acesso à rede,
etc.
Tipos  de  
Sistemas  Operacionais

n Alguns  tipos  são:  


¡ Batch: antigos sistemas operacionais.
Todos os programas a serem executados
eram colocados em uma fila, com seus
dados e demais informações para a
execução.

15
Tipos  de  
Sistemas  Operacionais

¡ 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.

16
Tipos  de  
Sistemas  Operacionais

¡ Distribuído: os recursos de cada máquina


estão disponíveis globalmente, de forma
transparente aos usuários.
¡ Ao executar uma aplicação, o usuário
interage com ela, mas não sabe onde ela
está executando ou armazenando seus
arquivos: o sistema é quem decide, de
forma transparente.

17
Tipos  de  
Sistemas  Operacionais

¡ Multi-­usuário: deve suportar a


identificação do “dono” de cada recurso e
impor regras de controle de acesso.
¡ Desktop: voltado ao atendimento do
usuário doméstico e corporativo.

18
Tipos  de  
Sistemas  Operacionais

¡ Servidor: permite 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.

19
Tipos  de  
Sistemas  Operacionais

¡ Embarcado: opera em hardware com


recursos escassos.
¡ Tempo real: deve ter comportamento
temporal previsível.
¡ A estrutura interna de um SO 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.
20
Histórico
Gerações

n 1ª. Geração (1945/1955) Sistemas Batch


simples
n 2ª. Geração (1955/1965) Sistemas Batch
Off-­Line
n 3ª. Geração (1965/1980) Sistemas Batch
com Spooling
n 4ª. Geração (1975/*) Computadores
pessoais
n Outras Gerações
22
1ª.  Geração
Sistemas  Batch

n Necessidade de um operador
¡ Programas e dados eram lidos via cartão
¡ Programas similares eram lidos em
sequência
n Primeiro S.O. rudimentar
n Uso de um programa (Monitor
Residente) em memória para controlar
a transferência de controle entre Jobs
1ª.  Geração
Sistemas  Batch

n Problemas
¡ Como o monitor sabe a natureza de um
job ou qual programa executar?
¡ Como o monitor distingue um job de outro
job ou entre dados e um programa?
n Solução
¡ Cartões  de  controle
1ª.  Geração
Sistemas  Batch

n Cartões especiais que diziam o que o


monitor devia executar

n Caracteres especiais distinguem


cartões de controle dos cartões de
dados e de programas
1ª.  Geração
Sistemas  Batch

n Exemplo  de  cartões  de  controle

Fonte:  [Tanenbaum  2007]


1ª.  Geração
Sistemas  Batch

n Monitor Residente é composto por:


¡ Interpretador de cartão de controle,
responsável por ler executar as
instruções dos cartões.
¡ Loader, responsável pela carga de
programas na memória.
¡ Device drivers, controlam dispositivos de
entrada e saída.
1ª.  Geração
Sistemas  Batch

n Problema  do  Monitor  Residente


¡ Baixa  performance:  
n atividades de CPU e E/S não simultâneas;;
leitora de cartões lenta
n Solução
¡ Operação  Off-­line
n Carregar  os  jobs na  memória  através  de  fita  
n Saída  da  memória  para  a  fita
2ª.  Geração
Sistemas  Batch  Off-­Line

n Operação  Off-­Line
3ª.  Geração
Sistemas  Batch  c/  Spooling

n Spooling
¡ Torna simultânea a execução de jobs.
¡ Próximo Job é lido e armazenado em
disco (job queue).
¡ Saída do Job anterior é feita do disco
para a impressora.
¡ Job pool (estrutura de dados).
3ª.  Geração
Sistemas  Batch  c/  Spooling

disco

Leitor  de  cartão impressoras


CPU
3ª.  Geração
Sistemas  Batch  c/  Spooling

n Batch Multiprogramado
¡ Vários jobs são mantidos na memória
simultaneamente
¡ A CPU é multiplexada entre eles.
0
Sistema  
Operacional

Job 1

Job 2

Job 3

Job 4
512k
3ª.  Geração
Sistemas  Batch  c/  Spooling

n Multiprogramação

CPU

I/O Job  1
Job  2
Job  3
CPU

I/O
4ª.  Geração  
Computadores  Pessoais

n Computadores Pessoais
¡ Originalmente dedicados a um único
usuário.
¡ Introduziram novos dispositivos de E/S
como teclado, mouse, display,
impressoras, etc.
¡ Características marcantes: conveniência
do usuário e interatividade.

34
Outras  Gerações

n Sistemas  Paralelos
n Sistemas  de  Tempo  Real
n Sistemas  Distribuídos
Outras  Gerações

n Sistemas  Paralelos
¡ Sistemas multiprocessadores com mais
de uma CPU em comunicação próxima e
constante.
¡ Sistemas Fortemente Acoplados (Tightly
coupled system)
n Processadores compartilham a memória e o
clock.
n A comunicação geralmente se dá via
memória compartilhada.
Outras  Gerações

n Como vantagens, os sistemas


paralelos apresentam:
¡ Aumento de vazão ou throughput
(volume de saída por unidade de tempo).
¡ Economia no uso de dispositivos
compartilhados.
¡ Aumento de confiabilidade
n Tolerância a falhas.
Outras  Gerações

n Os sistemas paralelos são


classificados em:
¡ Multiprocessamento  Simétrico  (SMP)
n Cada processador roda uma cópia do S.O.
n Muitos processo podem executar ao mesmo
tempo sem degradação de performance.

CPU CPU ... CPU

Memória
Outras  Gerações

n Os sistemas paralelos são


classificados em:
¡ Multiprocessamento  Assimétrico
n Cada  processador  tem  uma  tarefa  específica.
n Processador “mestre” escalona e aloca o
trabalho entre os processadores “escravos”.
n Mais  comum  em  sistemas  de  grande  porte.
Outras  Gerações

n Sistemas de Tempo Real


¡ Geralmente utilizados como
controladores em aplicações dedicadas.
n Controle de experimentos científicos.
n Sistemas de imagens médicas.
n Sistema de controle industrial.
n Aeronaves.
¡ Restrições de tempo estritas e bem
definidas.
Outras  Gerações

n Os  sistemas  de  tempo  real  podem  ser  


classificados  em:
¡ Hard  real-­time  system.
n Memória  secundária  limitada  ou  ausente.
n Dados  armazenados  em  memória  principal.
n Conflitam com sistemas de tempo
compartilhado, não suportados por S.O. de
propósito geral.
Outras  Gerações

n Os  sistemas  de  tempo  real  podem  ser  


classificados  em:
¡ Soft  real-­time  system
n Utilidade  limitada  em  sistemas  críticos.
¡ Exemplo:  controle  industrial.
n Útil para aplicações que necessitam de
recursos avançados de sistemas
operacionais (multimídia, realidade virtual e
aumentada).
Outras  Gerações

n Sistemas Distribuídos
¡ Distribuem a computação por vários
processadores físicos.
¡ Sistemas Fracamente Acoplados
(Loosely coupled system):
n Cada processador tem sua própria memória
local.
n Se comunicam via troca de mensagem
através de uma rede.
Outras  Gerações

n Os sistemas distribuídos podem ser


classificados em:
¡ Sistemas  Operacionais  de  Rede
n Compartilhamento de Arquivos;; Esquemas
de comunicação;; Execução independente
para cada computador.
¡ Sistemas  Operacionais  Distribuídos
n Menos  autonomia  entre  os  computadores.
n Dão a impressão de que um único S.O.
controla a rede.
Atualmente...    (2016)
n Sistemas Operacionais cada vez maiores:
milhões de linhas de código
n Complexidade -­ Coordenar de forma eficiente:
¡ Concorrência

¡ Dispositivos de I/O

¡ Compartilhamento de Memória

¡ Compartilhamento de Memória Secundária

¡ Acesso à rede

¡ Segurança
Breve  Evolução  dos  
Sistemas  Operacionais
Breve  Evolução  dos  
Sistemas  Operacionais
n Anos 40: cada programa executava sozinho e
tinha total controle do computador.
n Anos 50: os sistemas de computação fornecem
“bibliotecas de sistema” (system libraries) que
encapsulam o acesso aos periféricos, para facilitar
a programação de aplicações.
n 1961: o grupo do pesquisador Fernando Corbató,
do MIT, anuncia o desenvolvimento do CTSS –
Compatible Time-­Sharing System [Corbató et al.,
1962], o primeiro sistema operacional com
compartilhamento de tempo.
Breve  Evolução  dos  
Sistemas  Operacionais
n 1965: a IBM lança o OS/360, um sistema
operacional avançado, com compartilhamento de
tempo e excelente suporte a discos.
n 1965: um projeto conjunto entre MIT, GE e Bell
Labs define o sistema operacional Multics, cujas
ideias inovadoras irão influenciar novos sistemas
durante décadas.
n 1969: Ken Thompson e Dennis Ritchie,
pesquisadores dos Bell Labs, criam a primeira
versão do UNIX.
Breve  Evolução  dos  
Sistemas  Operacionais
n 1981: a Microsoft lança o MS-­DOS, um sistema
operacional comprado da empresa Seattle
Computer Products em 1980.
n 1984: a Apple lança o sistema operacional
Macintosh OS 1.0, o primeiro a ter uma interface
gráfica totalmente incorporada ao sistema.
n 1985: primeira tentativa da Microsoft no campo dos
sistemas operacionais com interface gráfica,
através do MS-­Windows 1.0.
Breve  Evolução  dos  
Sistemas  Operacionais
n 1987: Andrew Tanenbaum, um professor de
computação holandês, desenvolve um sistema
operacional didático simplificado, mas respeitando
a API do UNIX, que foi batizado como Minix.
n 1987: IBM e Microsoft apresentam a primeira
versão do OS/2, um sistema multitarefa destinado a
substituir o MS-­DOS e o Windows. Mais tarde, as
duas empresas rompem a parceria;; a IBM continua
no OS/2 e a Microsoft investe no ambiente
Windows.
Breve  Evolução  dos  
Sistemas  Operacionais
n 1991: Linus Torvalds, um estudante de graduação
finlandês, inicia o desenvolvimento do Linux,
lançando na rede Usenet o núcleo 0.01, logo
abraçado por centenas de programadores ao redor
do mundo.
n 1993: a Microsoft lança o Windows NT, o primeiro
sistema 32 bits da empresa.
n 1993: lançamento dos UNIX de código aberto
FreeBSD e NetBSD.
Breve  Evolução  dos  
Sistemas  Operacionais
n 2001: a Apple lança o MacOS X, um sistema
operacional derivado da família UNIX BSD.
n 2001: lançamento do Windows XP.
n 2004: lançamento do núcleo Linux 2.6.
n 2006: lançamento do Windows Vista.
Referências
Referências
n Operating System Concepts. A. Silberschatz, P.
Galvin e G. Gagne. 8th edition. John Wiley & Sons,
Inc. ISBN-­13: 9780470128725 (2008).
n Modern Operating Systems. A.S. Tanenbaum. 3rd
edition. Prentice-­Hall, ISBN-­13 978-­0136006633
(2007).
n Livro de Sistemas Operacionais. Carlos A. Maziero.
Disponível em
http://www.ppgia.pucpr.br/~maziero/doku.php/so:livr
o_de_sistemas_operacionais. 2011

54

Das könnte Ihnen auch gefallen