Aula 01 - Introducao Aos Sistemas Operacionais
Aula 01 - Introducao Aos Sistemas Operacionais
Aula 01 - Introducao Aos Sistemas Operacionais
1. Visão geral
• Um Sistema Operacional (SO) atua como um
intermediário entre o usuário de um computador e o
hardware do computador
u su á r i o s
Sist e m a O p e r a ci o n a l
H ardw a re
3
– fornecer um ambiente no
e analistas sistemas e
aplicativos
Usuários
qual o usuário possa
executar programas
Sistema Operacional
memória discos
Hardware
fitas
UCP
impressoras monitores
4
2. Definição
• Um Sistema Operacional, por mais complexo que
possa parecer, “é apenas um conjunto de rotinas
executado pelo processador, de forma semelhante
aos programas de usuário.” (MACHADO, MAIA,
2007).
• Principal função:
▫ Controlar o funcionamento de um computador,
gerenciando a utilização e o compartilhamento dos
seus diversos recursos, como processadores, memória
e dispositivos de entrada e saída
5
2. Definição (cont.)
• Um SO não é executado de forma linear como a
maioria das aplicações, com início, meio e fim
▫ Suas rotinas são executadas concorrentemente em
função de eventos assíncronos, ou seja, eventos que
podem ocorrer a qualquer momento
6
3. Histórico
• Década de 50
transistor, memória magnética, fitas
▫ Primeiro SO
chamado de MONITOR
desenvolvido em 1953 IBM 701
pelos usuários do IBM
701 do Centro de
Pesquisas da General
Motors
reescrito posteriormente
para o computador IBM 704
IBM 704
7
3. Histórico (cont.)
• Década de 50
▫ Linguagens de programação de alto nível permitiram que
outros SO fossem implementados
SOS (SHARE Operating System)
FMS (FORTRAN Monitor System)
IBSYS máquinas IBM
criaram o conceito de independência de dispositivos
▫ programador não implementa rotina específica de leitura e
gravação para cada dispositivo
Atlas
Desenvolvido pela Universidade de Manchester (Inglaterra)
▫ Memória hierarquizada
▫ Paginação por demanda para transferir informações da memória
secundária para a principal
8
3. Histórico (cont.)
• Década de 60
circuitos integrados
▫ Multiprogramação
▫ SO MCP (Master Control
Program)
desenvolvido para o
computador B-5000
▫ SO OS/360
desenvolvido para
computadores das linhas
System/360 da IBM
ainda não existia interação
do usuário com sistema
▫ Tempo compartilhado
9
3. Histórico (cont.)
• Década de 60
▫ SO CTSS (Compatible Time-Sharing System)
Desenvolvido para computador IBM 7094
suportava 32 usuários interativos
através de comandos interativos permitia compilar e executar
programas GE 645
base MULTICS
▫ SO MULTICS (Multiplexed
Information and Computing Service)
Desenvolvido para computador
GE 645
▫ SO Unix (1969)
Desenvolvido para PDP-7 por
Ken Thompson
10
3. Histórico (cont.)
• Década de 70 PDP 11
▫ Microprocessadores (Intel 4004, Intel
8080, Apple II)
▫ SO CP/M (Control Program Monitor)
da Digital Research
SO predominante nos primeiros SOs
▫ Curiosidades:
1971: Niklaus Wirth desenvolve a
linguagem Pascal
1975: Dennis Ritchie desenvolve a
linguagem C e, junto com Ken
Thompson, portam o SO Unix para o
computador PDP-11
11
3. Histórico (cont.)
• Década de 80, 90, 2000
▫ SO DOS (Disk Operating System)
▫ SO SunOS e Sun Solaris
▫ HP-UX, IBM-AIX
▫ Linux FreeBSD
▫ SOs para celulares, palmtops .....
12
Sistema Computacional
Hardware
13
Importante saber:
• Para que um computador comece a operar, precisa
dispor de um programa inicial para executar (programa
bootstrap)
▫ Programa armazenado na ROM (BIOS – Basic Input Otput
System)
▫ Inicializa todos os aspectos do sistema, dos registradores da
CPU, dos controladores de dispositivos e conteúdos da
memória
▫ Necessita saber como carregar o SO e como iniciar sua
execução
Programa deve alocar e carregar na memória o kernel (núcleo)
do SO. SO começa a executar o primeiro processo e aguarda
que ocorra algum evento interrrupção de hardware ou
software (chamada de sistema)
16
Tipos de
Sistemas Operacionais
5.1 Sistemas
Monoprogramáveis/monotarefa
• Sistema voltado a execução de um
único programa/tarefa (primeiros
SOs – década de 60 e 70)
▫ Qualquer outra aplicação, para
ser executada, deve aguardar o
término da corrente
UCP
programa/ • Processador, memória e
tarefa
periféricos exclusivamente
dedicados a execução de um único
programa
Memória Dispositivos
Principal de E/ S • Tarefa do SO passa a ser
unicamente transferir o controle de
um job (programa e dados) para
outro
• Desvantagem: memória
subutilizada, processador ocioso
18
5.2 Sistemas
Multiprogramáveis/Multitarefa
• Implementa o conceito de Multiprogramação:
▫ SO mantém vários jobs na memória simultaneamente, e a
CPU é dividida entre eles
Parte deles fica em uma fila de jobs no disco (todos os
processos residentes em disco aguardando alocação na
memória principal)
▫ SO seleciona e começa a executar um dos jobs na memória
Se job pode ter de aguardar que alguma tarefa seja concluída
SO passa para um novo job e o executa
▫ Se job tem que aguardar, CPU seleciona outro job e assim por
diante CPU nunca ficará ociosa
19
5.2 Sistemas
Multiprogramáveis/Multitarefa (cont.)
Sistemas Multiprogramáveis/
Multitarefa fornecem um
ambiente em que os diversos programa/
tarefa UCP
programa/
tarefa
programa/
tarefa
Sistemas Multiprogramáveis/Multitarefa X
Sistemas Monoprogramáveis/Monotarefa
Sistemas
Monoprogramados
Sistemas
Multiprogramados
20
21
5.2 Sistemas
Multiprogramáveis/Multitarefa (cont.)
• A partir do número de usuários que interagem com o
sistema, os sistemas multiprogramáveis são
classificados como:
▫ Monousuário
▫ Multiusuário
Um usuário Dois ou mais
usuário
Sistema Monoprogramado Monousuário Não
Sistema Multiprogramado Monousuário Multiusuário
22
5.2 Sistemas
Multiprogramáveis/Multitarefa (cont.)
• Classificados pela forma com que suas aplicações são
gerenciadas
Sistemas
Multiprogramáveis/
Multi tarefa
(a) job 2
Processamento
job 1
fita de entrada
cartões perfurados
(b) Processamento
relatório n
fita de saída
relatório 1
relatórios
25
Memória
UCP Principal UCP
Dispositivos Dispositivos
de E/ S de E/ S
Um único SO
32
link de comunicação
UCP UCP
Bibliografia
• SILBERSCHATZ, Abraham, GALVIN, Peter, GAGNE,
Greg. Fundamentos de Sistemas Operacionais. 8ª.
Ed. Rio de Janeiro : LTC, 2010.
• MACHADO, Francis B.; MAIA, Luiz Paulo. Arquitetura
de Sistemas Operacionais. 3ª ed. Rio de Janeiro :
LTC, 2002.