Você está na página 1de 27

Sistemas Operacionais – Introdução e

Histórico

Instituto Federal de Educação, Ciência e


Tecnologia da Paraíba
Campus Campina Grande
David Candeia

Baseado no Material do Professor Henrique do Nascimento Cunha, MSc.


Introdução
● Sistema Computacional
– Um ou mais processadores
– Memória principal
– Discos
– Impressoras
– Teclado
– Monitor
– Interfaces de Rede
– Outros dispositivos de E/S
● Controle e uso correto de todos estes componentes -> SO
Introdução
● Podemos pensar na área de atuação do SO
observando a figura
– Hardware: chips, placas, discos, teclado, CPU,
registradores, caminho de dados, microprograma, etc.
– Dois modos de operação: núcleo x usuário
Introdução
– Dois modos de operação: núcleo x usuário
● Núcleo: pode executar qualquer instrução
● Usuário: subconjunto de instruções disponível
– Interface com usuário: Shell ou GUI -> dá início a outros programas
● OBS: sistemas embarcados podem não ter modo núcleo; sistemas
interpretados não tem essa distinção do hardware
– Em outros casos: programas de troca de senhas, sistema de arquivos executam em
modo usuário
Introdução
● Sistemas operacionais x sistemas de usuário
– Enormes, complexos, têm vida longa, milhões de linhas de
código
● 5 milhões de linhas: 50 linhas por página, 1.000 páginas por volume ->
100 volumes para conter o SO todo!
● Considerando bibliotecas compartilhadas o Windows tem mais de 70
milhões de linhas de código (excluindo softwares básicos como
Windows Explorer, Media Player e outros)
● Os sistemas evoluem:
– Windows 95/98/ME, Windows NT/2000/XP/Vista/Windows 7, Unix/System
V/Solaris/Free BSD
O que é um SO?
● Difícil definir com exata precisão
– Modo núcleo?
● Duas funções essenciais não relacionadas
– Fornecer a programadores recursos abstratos limpos ao
invés de recursos confusos
– Gerenciar recursos de hardware
O que é um SO?
● Máquina estendida (top-down)
– Discos rígidos SATA tem uma descrição de sua interface com mais de
450 páginas
● Sorte que temos os drivers!

– SOs fornecem mais um nível de abstração: arquivos


● Criar boas abstrações e então implementar e gerenciar os objetos abstratos criados
desse modo
● Fornecer interfaces aos programas de aplicativos (não estamos falando de interface
gráfica)
O que é um SO?
● Gerenciador de recursos (bottom-up)
– Alocação ordenada e controlada dos
processadores, memórias e dispositivos de E/S
– Exemplos:
● Três programas na memória tentando imprimir?
● Um player de música e um Word consumindo memória?
● Arquivos compartilhados entre usuários?
– Multiplexação
● Tempo: revezamento de uso no tempo
● Espaço: cada cliente tem direito a parte do recurso
Histórico
● Evolução muito ligada à evolução dos computadores
● Primeira Geração (1945 a 1955)
– Charles Babbage, máquina de calcular puramente mecânica
● Depois ele percebeu a necessidade de um software para sua máquina analítica
Histórico
● Primeira Geração (1945 a 1955)
– Pouco progresso em computador digital até
Segunda Guerra Mundial
● Acelerar procedimentos manuais para fins militares
– Máquinas de calcular (meados da década de
40)
● Howard Aiken, John Von Neumann, entre outros...
● Relés Mecânicos muito lentos de início
● Válvulas na sequência
● Tempo de resposta medido em segundos
Histórico
● Primeira Geração (1945 a 1955)
– Um mesmo grupo de pessoas: projetistas,
construtores, programadores e operadores
– Não havia linguagens de programação e muito
menos S.O.
– Tempo de uso restrito
– Cálculos numéricos de tabelas
Histórico
● Segunda Geração (1955 a 1965)
– Cartões perfurados, uso de transistores
– Mainframes
– Separação entre projetistas, construtores,
programadores e operadores
– Apenas grandes corporações podiam comprar
● Governo
● Instituições de ensino
● Grandes empresas privadas
Histórico
● Segunda Geração (1955 a 1965)
Histórico
● Segunda Geração (1955 a 1965)
– FORTRAN, ALGOL, COBOL / linguagem de
montagem (assembly)
● Programas deixaram de ter relação direta com o
hardware
– Programas eram submetidos (jobs)
● O resultado era colhido depois
– Muito trabalho manual!
Histórico
● Segunda Geração (1955 a 1965)
– Sistemas em lote
● Vários jobs gravados em fita
Histórico
● Segunda Geração (1955 a 1965)
– SOs evoluíram para facilitar codificação,
submissão, execução e depuração
● Incorporaram suas próprias rotinas de entrada/saída
(input/output control system – IOCS)
● Surge então o conceito de independência de
dispositivo
– SOS (SHARE Operating System)
– FMS (Fortran Monitor System)
– IBSYS (máquinas IBM)
Histórico
● Terceira Geração (1965 a 1980)
– 2 tipos de computadores:
● Científicos, para cálculos numéricos e de
engenharia
● Comerciais, para uso em bancos e companhias de
seguros
– Alto custo
– Demanda por máquinas mais rápidas
Histórico
● Terceira Geração (1965 a 1980)
– Década de 60: marcou o surgimento do
conceito de multiprogramação
● Programas compartilhando a memória e
processador podendo executar um programa
enquanto outro executava uma leitura/gravação
Histórico
● Terceira Geração (1965 a 1980)
– Década de 70: marcou o surgimento do
conceito de multiprocessamento
● Arquiteturas com diversos processadores exigiram
dos SOs novos mecanismos de controle
Histórico
● Terceira Geração (1965 a 1980)
– IBM System/360
● Série de computadores
● Várias capacidades de processamento
● Software compatível
● Diferença entre preço e desempenho
● Uso de circuitos integrados em pequena escala
– OS/360
● S.O. monolítico
● Milhões de linhas de código
Histórico
● Terceira Geração (1965 a 1980)
– OS/360
● Diferença entre o OS/360 e os S.O. antigos era a
multiprogramação
● Ainda demorava muito para obter saída
● Time-sharing: cada usuário se conectava a partir de seu
terminal
– Ideia de um computador para centenas usuários
● MIT, Bell Labs e General Electric
● MULTICS (multiplexed information and computing
service)
Histórico
● Terceira Geração (1965 a 1980)
– Minicomputadores
● DEC PDP-1 e família
– $ 120 mil (5% do valor de um 7094 da IBM)
● PDP-7
– Ken Thompson criou uma versão despojada e monousuário
do MULTICS: Unix
– Várias organizações desenvolveram suas próprias e
incompatíveis versões: System-V, BSD
– Minix: pequeno clone com objetivo educacional
– Linus Torvalds
– Linux: versão gratuita do Minix e diferente da educacional
Histórico
● Quarta geração (1980 ao presente)
– Circuitos integrados de larga escala: LSI, VLSI
e ULSI
– Microcomputadores: computadores pessoais
● Diferença de preço
● IBM-PC, 80386 e 80486
● MS-DOS: Bill Gates vendeu o sistema para a IBM
Histórico
● Quarta geração (1980 a presente)
– Xerox e GUI
– Apple / Steve Jobs: Lisa e depois Apple
Macintosh
– Microsoft
● Windows 3.1
● Windows 95: aqui independente do DOS
● Windows 98
● Windows NT
– Linux
Histórico
● Quarta geração (1980 a presente)
– Década de 90: a Internet evoluiu e o TCP/IP
virou um padrão de mercado
● Exigiu suporte dos Sos
● Preocupações com gerência, segurança,
desempenho...
Histórico
● Quarta geração (1980 a presente)
– A partir de 2000:
● Sistemas operacionais proativos, incorporando
mecanismos automáticos de detecção e
recuperação de erros
● Processamento distribuído passou a ser explorado
pelos sistemas operacionais
Histórico
● Quarta geração (1980 a presente)
– Atualmente
● Sistemas operacionais muito específicos
● Windows 8 (desktop e dispositivos móveis) e 10
● MAC OSX
● Linux
● Android

Você também pode gostar