18/02/131FAFIMAN Introdução a Sistemas Operacionais Prof. Leandro Magno Material gentilmente...
Transcript of 18/02/131FAFIMAN Introdução a Sistemas Operacionais Prof. Leandro Magno Material gentilmente...
18/02/13 1FAFIMAN
Introdução a Sistemas Operacionais
Prof. Leandro Magno
Material gentilmente cedido pelo professorDr. Ronaldo Augusto de Lara Gonçalves
DIN – UEM
18/02/13 2FAFIMAN
Introdução a Sistemas Operacionais
Um Pouco de História
Interface Hardware/Software
Tipos de Sistemas Operacionais
Funcionalidades Básicas
18/02/13 3FAFIMAN
Um Pouco de História
Primeiros computadores: Máquinas fisicamente enormes. Programação através painel de controle, diretamente em linguagem de máquina. A execução era acompanhada através de lâmpadas no painel. Resultados em cartões perfurados. Primeiras linguagens FORTRAN e COBOL
18/02/13 4FAFIMAN
Primeiros Computadores
18/02/13 5FAFIMAN
Primeiros Sistemas Operacionais
ATLAS: Universidade de Manchester De 1950 a 1960 Processamento em Lotes Uso de Spooling Memória principal (98K)
18/02/13 6FAFIMAN
Primeiros Sistemas Operacionais
CTSS: Projetado pelo MIT ~1962 SO de tempo compartilhado Usado IBM7090 (MEM 32K) 5K p/ SO e 27K p/ usuário Permitia processos concorrentes Sistema bem sucedido -> MULTICS
18/02/13 7FAFIMAN
Primeiros Sistemas Operacionais
XDS-940: Univ da Califórnia (Berkeley) 1965 Processamento de tempo compartilhado Memória de usuário (16K) Memória principal (64K)
18/02/13 8FAFIMAN
Primeiros Sistemas Operacionais
THE: Technische Hogeschool (Holanda) 1967 Processamento em lote Memória de usuário (32K) Programas escritos em ALGOL Memória secundária (512K)
18/02/13 9FAFIMAN
Primeiros Sistemas Operacionais
RC 4000: Regnecentralen ~1970 SO fortemente centrado no núcleo Permitia processos concorrentes Provia troca de mensagens
18/02/13 10FAFIMAN
Primeiros Sistemas Operacionais
MULTICS: MIT, GE e Bell Labs. ~1965 Tempo Compartilhado Sistema de arquivos compartilhado Uso de paginação e segmentação 300 mil linhas de código Evoluiu para o UNICS -> UNIX
18/02/13 11FAFIMAN
Primeiros Sistemas Operacionais
OS/360: da IBM Para a família IBM/360, desde pequenas máquinas
comerciais até grandes máquinas científicas Conjunto único de programas para toda a família Facilitava manutenção e migração de programas
entre máquinas da família. Escrito em linguagem de montagem Milhões de linhas de código Não executava nada muito bem
18/02/13 12FAFIMAN
Interface Hardware/Software
Usuário
Aplicativos
Utilitários
Interface
ShellS.O.
kernel
BIOS
Unidade de Controle
Mem, Regs ePortas de E/S
18/02/13 13FAFIMAN
O usuário interage com aplicativos desenvolvidos por programadores que
fazem uso de utilitários tais como editores, compiladores, interpretadores, montadores
etc… Por baixo destes aplicativos e utilitários pode haver uma interface
amigável. Esta interface atuará sobre o sistema operacional (shell + kernel) que por
sua vez utilizará recursos da BIOS. Todas estas camadas por sua vez serão de fato
executadas pela unidade de controle (microprograma). Por último, estão os dispositivos físicos de entrada e saída,
registradores e memória.
18/02/13 14FAFIMAN
Utilitários
São também chamados de tool kits ou ferramentas, pois são programas que auxiliam o usuário na construção
de aplicações. Alguns bastantes utilizados são os tradutores, os
linkers e os depuradores.
18/02/13 15FAFIMAN
Tradutores
Gerador de Aplicação Compilador Interpretador Pré-Processador Montador
TRADUTORPrograma emLinguagem A
Programa emLinguagem B
18/02/13 16FAFIMAN
Gerador de Aplicações
Especificação
Gerador deAplicação
Programa Fonte
Compilador
Executável
18/02/13 17FAFIMAN
Organização de Um Compilador
Léxica
Sintática
Semântica
ANÁLISE
SÍNTESE
Tratamentode erros
Cód. Interm
Otimização
Cód. Objeto
Tabelas doCompilador
ProgramaFonte
18/02/13 18FAFIMAN
Montador
Assembler Linguagem de Máquina Memória
: : :
LD A,(10H) F210H 10
F2
E300
E301ADD A,B E4HE4E302JMP (E090H) A2H
E090H E303
E304
A2E305
90
E0
:
: :
18/02/13 19FAFIMAN
Linker
MÓDULO OBJETO
MÓDULO OBJETO
LINKER PROGEXEC
18/02/13 20FAFIMAN
Perguntas1 Como as camadas superiores de software
são executadas pelo hardware?
2. Mais então, o hardware não distingue se a instrução é do sistema operacional ou se é de uma aplicação qualquer?
3. Como as instruções de um programa são colocadas na memória, para serem executadas pelo hardware?
4. Mas então, um programa compilado para um tipo de arquitetura pode ser executado em outro tipo de arquitetura?
18/02/13 21FAFIMAN
Cont...
5. Mas, depois que um programa fonte foi compilado e está pronto para ser executado, quem o coloca na memória?
6. Mas quem coloca o S.O. na memória?
7. Mas quem carrega o Boot na memória?
8. Mas onde estão a BIOS e o Start Up?
18/02/13 22FAFIMAN
Resumindo ...
O hardware executa o Startup, que já está em posição pré-definida da memória ROM. O Startup busca o Boot que deve estar em uma posição pré-definida do disco e transfere o controle para ele. O Boot busca e transfere o controle para o SO. O SO busca e transfere o controle para a Aplicação
18/02/13 23FAFIMAN
Memória
Aplicação
S.O.
Boot
BIOS / Start Up
Unidade de Controle
18/02/13 24FAFIMAN
Exercício para Entregar
Resuma a aula de hoje.
18/02/13 25FAFIMAN
Tipos de Sistemas Operacionais
SO Monoprogramado (Monotarefa) Um processador Um processo Um usuário CPU ociosa durante E/S Simples implementação
18/02/13 26FAFIMAN
Tipos de Sistemas Operacionais
SO Multiprogramado (Multitarefa) Um ou mais processadores Um ou mais processos Um ou mais usuários Não fica ocioso durante E/S Implementação Mais Complexa Conceito de Time-slice
18/02/13 27FAFIMAN
SO Multiprogramado em Lote
Monoprocessador Paralelismo Lógico Linguagem JCL
// JOB
// FORTRANprograma escrito em FORTRAN// EXECdados de entrada do programa
// END
18/02/13 28FAFIMAN
SO Multiprogramado com Compartilhamento de Tempo
computadorcentral
terminais
polling
18/02/13 29FAFIMAN
SO Multiprogramado para Tempo Real
Tempo de resposta rígido Muito usado em controle de
processos Menos time-slice e mais prioridade Processos ativados por sensores Aplicação: usinas, refinarias, tráfego
aéreo etc...
18/02/13 30FAFIMAN
SO Multiprocessado (Multiprogramado para Multiprocessador)
Vários processadores Troca de mensagens Mono ou multiproigramação em cada
processador Paralelismo físico ou real Fracamente ou fortemente acoplado
18/02/13 31FAFIMAN
Fracamente Acoplado
CPU E/S CPUE/S
MEMprivada
MEMprivada
linha decomunicação
18/02/13 32FAFIMAN
Fortemente Acoplado
CPU E/S CPUE/S
MEM MEM
linha decomunicação
memóriacompartilhada
18/02/13 33FAFIMAN
Sistema Operacional Multiprogramado
Estruturado em Camadas
Hardware
Núcleo
Sistema Operacional
Aplicação
18/02/13 34FAFIMAN
Funcionalidades Básicas
- gerenciar os vários recursos disponíveis no sistema, para atender da maneira mais eficiente possível o usuário, e:
- gerenciar a execução dos programas do usuário, visando o melhor desempenho do sistema todo.
18/02/13 35FAFIMAN
Funções Específicas
Gerenciamento de I/O Gerenciamento de Arquivos Gerenciamento de Processos Gerenciamento de Memória Proteção do Sistema
18/02/13 36FAFIMAN
Monoprogramados: Desvantagem
P1
P2
processos
tempo
atividade
ociosidade
18/02/13 37FAFIMAN
Multiprogramados: Vantagem
P1
P2
atividade
ociosidade
processos
tempo
18/02/13 38FAFIMAN
Pergunta e Resposta
Qual poderia ser uma desvantagem para um usuário que quisesse submeter uma aplicação pequena em um sistema multiprogramado carregado de outras aplicações?
18/02/13 39FAFIMAN
Perguntas• Quem de fato executa as aplicações do usuário:
S.O. ou hardware?
• Como fica a memória nos sistemas moprogramados e multiprogramados?
• Quais são as possíveis combinações entre o número de terminais e o número de processadores? Como fica o SO?
• Compare SO monoprogramado e multiprogramado, analisando a E/S.
18/02/13 40FAFIMAN
Fatores Importantes para a Multiprogramação
Interrupção (trap ou via hardware)
programa
CPUdispositivo
de E/S
interrupçãode softwareinterrupção
de hardware
rotina deE/S
18/02/13 41FAFIMAN
Pergunta e Resposta
Voce poderia dar um exemplo de interrupção bastante comum na rede?
18/02/13 42FAFIMAN
Fatores Importantes para a Multiprogramação
Buffering
buffer
MEM
E/SCPU
SS
E E
18/02/13 43FAFIMAN
Pergunta e Resposta
Qual o relacionamento da técnica de buffering e as velocidades da CPU e dos dispositivos de E/S?
18/02/13 44FAFIMAN
Fatores Importantes para a Multiprogramação
Spooling (Simultaneous Peripherical Operating On Line )
Programa
Arquivode spool
SistemaOperacional
Impressão
18/02/13 45FAFIMAN
Pergunta e Resposta
Como relacionar buffering e spooling?
18/02/13 46FAFIMAN
Tarefa
Resumam a aula de hoje