1
SOP - TADSFundamentos de Sistemas
Operacionais
Prof. Ricardo José [email protected]
Material cedido por:Prof. Rafael Rodrigues Obelheiro
Prof. Maurício Aronne Pillon
Cronograma
• Introdução
• Histórico dos SOs• Conceitos de SO
2
Introdução [1/3]
• Complexidade dos sistemas computacionais modernos:– Muitos recursos a serem controlados:
• Hardware � Memória, Processador, Dispositivos de E/S• Software � Aplicativos que interagem com o hardware
– A programação em linguagem de máquina pode ser uma tarefa árdua;
• Ex.: A busca de um arquivo no disco pode ser sofrível, com inúmeras variáveis consideradas;
– O hardware é complexo, os recursos, são complicados de lidar e apresentam interfaces difíceis
• Como seria programar considerando cada parâmetro e particularidade de cada recurso?
Introdução [2/3]
• O que é um sistema operacional?• Duas visões para essa pergunta:
– Uma máquina estendida• Esconde os detalhes complicados do funcionamento do
hardware
• Oferece uma interface mais amigável para as aplicações– Uma espécie de Máquina Virtual
– Um gerenciador de recursos• Cada programa utiliza o recurso durante um tempo• Cada programa ocupa um certo espaço no recurso
3
Introdução [3/3]
• Camadas do Sistema operacional
Cronograma
• Introdução• Histórico dos SOs
• Conceitos de SO
4
Histórico dos SOs [1/15]
• Podemos dividir em 4 gerações:– Primeira geração (1945-1955)
• Válvulas, painéis de programação
– Segunda geração (1955-1965)• Transistores, sistemas em lote (batch)
– Terceira geração (1965-1980)• CIs, multiprogramação
– Quarta geração (1980 – Dias atuais)• Computadores pessoais
Histórico dos SOs [2/15]
• Primeira Geração (1945-1955):– Howard Aiken (Harvard), John von Neumann (Princeton), J.
Presper Eckert e William Mauchley (Pensilvânia) e Konrad Zuse(Alemanha) construíram máquinas de calcular;
– Sistema totalmente mecânico (relés lentos), ciclo medidos em segundos;
– A primeira evolução foi substituir relés por válvulas– O mesmo grupo de pessoas, projetava, construía, programava,
operava, realizava a manutenção de cada máquina• Engenharia, Desenvolvimento, Operação e Suporte
– Programação feita com código absoluto, muitas vezes conectando plugs em painéis
– Não haviam ainda sistemas operacionais• Os próprios usuários
5
Histórico dos SOs [3/15]• ENIAC
Histórico dos SOs [4/15]
• Quadro de Plugues IBM 402
6
Histórico dos SOs [5/15]
• Segunda Geração (1955-1965):– Introdução do transistor (substituição das válvulas)– Computadores passaram a ser mais confiáveis
• Fabricados e comercializados na expectativa de tivessem uma vida útil maior, executando algum trabalho importante
– As funções foram bem separadas:• Projetistas, Fabricantes, Programadores e técnicos de
manutenção– Passaram a ser denominadas de computadores de
grande porte (mainframes)– Devido ao alto custo do equipamento, buscou-se uma
maneira de reduzir o desperdício• Adotou-se o sistema em lote (batch)
Histórico dos SOs [6/15]• Sistema em lote (batch)
– 1401 � Máquina inferior, mas suficiente para ler, copiar fitas e imprimir saída
– 7094 � Muito superior, mas cara, melhor utilizar em operações mais complexas
a) Os programadores levavam os cartões para o 1401
b) O 1401 gravava o lote de jobs em fitac) O operador levava a fita de entrada para o 7094d) O 7094 executava o processamento
e) O 1401 imprimia as saídas
7
Histórico dos SOs [7/15]
• Estrutura de um job típico
Histórico dos SOs [8/15]• Terceira geração: famílias de computadores
– Na segunda geração os computadores eram radicalmente entre si, e se tornavam incompatíveis:
• IBM 7094: Cálculo intensivo, orientado a palavra• IBM 1401: Processamento comercial, orientado a caracter
– Estas diferenças representavam:• Custos significativos ao fabricante;• Custos e inconveniências para os usuários que precisavam migrar de
plataforma– A IBM introduziu a família 360
• Primeiros computadores a usar CIs (circuitos integrados)• Série de máquinas: Porte do 1401 � Porte do 7094• Idéia principal é propiciar compatibilidade de software e hardware
– O SO devia executar tanto nas máquinas pequenas quanto nas grandes
– Os requisitos e características diferentes se tornaram um pesadelo para os desenvolvedores:
• Milhões de linhas de Assembly, milhares de programadores• Corrigia-se um bug, gerava-se outro;• Fred Brooks, escreveu um livro contando suas experiências com esse
projeto: The Mythical Man-Month
8
Histórico dos SOs [9/15]• Sistema Multiprogramado (3ª Geração)• No 7094, quando um job parava para aguardar uma E/S, a CPU
simplesmente mantinha-se ociosa;– Em cálculos científicos � Baixa ociosidade– Dados comerciais � 80-90% do tempo era destinado a E/S � Ociosidade– Solução: Dividir a memória em 3 partes
• Enquanto uma tarefa esperava a conclusão da E/S outra poderia ser processada
• Deu origem aos sistemas de tempo compartilhado (timesharing)
Histórico dos SOs [10/15]
• 3ª Geração � MULTICS• MULTiplexed Information and Computing Service
• Computador Utilitário capaz de atender a centenas de usuários simultâneos– CPU equivalente a um 386, maior capacidade de E/S;
• O projeto foi um fracasso comercial (menos de 100 instalações), contudo, com usuários fiéis (até a década de 90)
• Extremamente influente no ponto de vista técnico– Lançou diversas idéias usadas até hoje
• Servidor de internet centralizado, onde máquinas mais simples são conectadas, a maior parte do trabalho ocorre no servidor
– Em alguns casos ainda superior• Tratamento de E/S
9
Histórico dos SOs [11/15]
• 3ª Geração � UNIX– Ken Thompson (Bell Labs) e o PDP-7 (origem do UNIX)
• Minicomputador, escreveu uma versão monousuário do MULTICS � UNIX;
– Código amplamente divulgado• Várias organizações desenvolveram suas próprias versões
– System V � AT&T– BSD � Universidade da Califórnia em Berkeley
– Para evitar incompatibilidade entre versões o IEEE lançou um padrão de desenvolvimento o POSIX
– Sistema feito por programadores para programadores– Características principais:
• Ferramentas de desenvolvimento cooperativo• Interfaces simples, elegantes, consistentes e sem “frescuras”• Conceito de ferramentas de software: pequenos programas que
desempenham funções específicas e que podem ser combinados
Histórico dos SOs [12/15]
• 3ª Geração � Thompson, Ritchie e um PDP-11
10
Histórico dos SOs [13/15]• 4ª Geração � Computadores pessoais (microcomputadores)
– Os microcomputadores não eram muito diferentes do PDP-11, porém eram muito mais baratos
– Desenvolvimento de CIs em larga escala (large scale integration - LSI), que são chips contendo milhares de transistores em um centímetro quadrado de silício
– Em 1974, a Intel lançou o 8080, primeira CPU de 8 bits de propósito geral
– Em 1977, a Digital Research (Gary Kildall) reescreveu o CP/M (ControlProgram for Microcomputers) para rodar em outras CPUs além do 8080
– Nos anos 80, a IBM solicitou a um desconhecido desenvolvedor de interpretador Basic, Bill Gates, o contato de uma empresa que pudesse desenvolver um SO para o IBM PC
– Bill Gates comprou o DOS (Disk Operating System) e vendeu à IBM o DOS/Basic. A Microsoft ainda contratou o desenvolvedor do DOS, Tim Paterson, lançando o conhecido MS-DOS
Histórico dos SOs [14/15]
• 4ª Geração � Computadores pessoais (microcomputadores)– CP/M e MS-DOS, entre outros, eram todos baseados na
digitação de comandos– Doug Engelbart (Stanford) inventou uma interface gráfica
voltada para o usuário (GUI - Graphical User Interface)– O Apple Macintosh foi o primeiro SO a incorporar esta idéia– Devido ao sucesso comercial da Apple, a Microsoft também
resolveu incorporar esta idéia– Os computadores tornaram-se cada vez mais poderosos
• Em vez das pessoas esperarem pelo computador, o computador e que espera por elas
• Necessidade de SOs mais sofisticados– Surgimento de redes de computadores, com sistemas
operacionais de rede e sistemas operacionais distribuídos
11
Histórico dos SOs [15/15]
• Tipos de Sistemas Operacionais– SOs para mainframes
• Processamento simultâneo de muitas tarefas e E/S– SOs para servidores
• Servir múltiplos usuários de uma vez, compartilhar recursos de hardware e software
– SOs para multiprocessadores– SOs para computadores pessoais– SOs de tempo real:
• Tempo é parâmetro fundamental– SOs embarcados:
• Controlam dispositivos que não aceitam aplicativos de usuários (eletrodomésticos)
• Vídeos complementares• http://www.youtube.com/watch?v=gQbTea
yG6Dg• http://www.youtube.com/watch?v=5ocq6_
3-nEw• http://www.youtube.com/watch?v=Nb_W3
Llc9KQ
12
Cronograma
• Introdução• Histórico dos SOs• Conceitos de SO
Conceitos de SO [1/7]
• Processos– Um processo é basicamente um programa em execução– Cada processo possui um espaço de endereçamento
• Faixa de endereços na memória onde ele pode ler e escrever
– Cada entrada na tabela de processos possuí informações sobre o estado do processo (Executando, Bloqueado, Pronto)
– Processos podem se comunicar � Comunicação interprocessos(IPC)
– Árvores de processos• Um processo não surge do nada, ele é filho de outro processo.
13
Conceitos de SO [2/7]
• Deadlock– Situações que surgem na interação entre
processos onde o progresso é impossível:a) Deadlock potencialb) Deadlock real
Conceitos de SO [3/7]
• Gerência de memória– Define como a memória principal é alocada
para os processos– Implementa mecanismos de proteção– Lida com espaços de endereçamento
maiores do que a memória disponível �Memória virtual
14
Conceitos de SO [4/7]
• Gerência de Arquivos– Define uma interface mais refinada para
armazenamento persistente de informações– A maior parte dos sistemas utiliza o conceito de
arquivos organizados em hierarquias de diretórios
Conceitos de SO [5/7]
• Chamadas de sistema– As chamadas de sistema compõem a interface que
o SO oferece às aplicações– Executam no contexto do SO, usando o modo
privilegiado do processador– Tipos de chamada de sistema:
• Processos: Criar, sincronizar, terminar• Memória: Alocar, desalocar• Arquivos e diretórios: criar, ler, escrever, definir
permissões• ...
15
Conceito de SO [6/7]• Chamadas de sistema POSIX
Conceito de SO [7/7]• Chamadas de sistema API Win32
16
Próxima Aula
• Revisão de Hardware
– Cap. 1.4
• Estruturas de sistemas operacionais– Cap. 1.7
Bibliografia
• Andrew S. Tanenbaum. Sistemas Operacionais Modernos, 3a Edição. Capítulo 1.Pearson Prentice-Hall, 2009.
Top Related