Escolar Documentos
Profissional Documentos
Cultura Documentos
Maro/2012
Apresentao - Objetivos
Familiarizar o aluno com os conceitos bsicos de um sistema operacional. Apresentar os elementos que compem um sistema operacional.
Incentivar o desenvolvimento de uma viso crtica em relao escolha, utilizao e anlise de desempenho de sistemas operacionais existentes.
2
Apresentao - Programa
Histrico. Conceitos bsicos. Estrutura de um Sistema Operacional. Gerncia de Processo e Processador. Programao Concorrente. Gerncia de Memria. Entrada e sada. Sistema de Arquivos. Sistemas com Mltiplos Processadores. Estudo de Casos atuais.
R. OLIVEIRA; S. TOSCANI; A.S. CARISSIMI, Sistemas Operacionais, 4 edio, Sagra Luzzato, 2010.
Apresentao - Bibliografia
A. SILBERSCHATZ; G. GAGNE; P.B. GALVIN, Fundamentos de Sistemas Operacionais, 8 edio, LTC, 2010. F.B. MACHADO; L.P. MAIA, Arquitetura de Sistemas Operacionais, 4 edio, LTC, 2007.
H.M. DEITEL; P.J. DEITEL; D.R. CHOFFNES, Sistemas Operacionais, 3 edio, Prentice Hall, 2005.
A. SILBERSCHATZ; G. GAGNE; P.B. GALVIN, Sistemas Operacionais com Java, 6 edio, Ed. Campus, 2004.
5
Critrios de avaliao
Duas provas tericas (NPr1 e NPr2) ; Listas de exerccios e um trabalho prtico (NTp); Um seminrio (NSe). Nota Final = (NPr1 + NPr2 + NTp + NSe)
Apresentao - Programa
Definio e objetivos Histrico Conceitos de hardware e software Tipos de Sistemas Operacionais Estruturas de Sistemas Operacionais
PROCESSOS
Diagrama de estados
Escalonamento de CPU Comunicao inter-processos Sincronizao inter-processos Regies crticas
Deadlocks
Apresentao - Programa
GERNCIA DE MEMRIA
SISTEMAS DE ARQUIVOS
Gerncia de espao em disco Tipos de estruturas de sistemas de arquivos Tipos de arquivos, nomes, estrutura interna Proteo, operaes
Apresentao - Programa
ENTRADA/SADA
Princpios de hardware e software Dispositivos de E/S Controladores de dispositivos Acesso direto memria (DMA) Discos magnticos
Linux Windows
Seminrios
Aula 1 - Roteiro
Por
Histrico
10
Por qu?
Alta Complexidade
11
Por qu?
Com tantos dispositivos, surge a necessidade de gerenciamento e manipulao desses diversos dispositivos
Tarefa difcil
SISTEMAS OPERACIONAIS
12
O que um SO?
Software responsvel por gerenciar dispositivos que compem um sistema computacional e realizar a interao entre o usurio e esses dispositivos. Hardware
Software
Arquitetura do Sistema
Sistemas de Banco
Compiladores Navegadores Web Editores
SISTEMA OPERACIONAL
Linguagem de Mquina
Micro Arquitetura
HARDWARE
Dispositivos Fsicos
14
Arquitetura do Sistema
Dispositivos fsicos:
15
Arquitetura do Sistema
CPU processamento; ULA (Unidade Lgica Aritmtica) operaes aritmticas. Essas operaes podem ser controladas por software (micro programas) ou por circuitos de hardware.
16
Arquitetura do Sistema
Linguagem de Mquina: conjunto de instrues interpretadas pelos dispositivos que compem a micro arquitetura;
Possui entre 50 e 300 instrues; Realiza operaes por meio de registradores; Baixo nvel de abstrao. Ex.: Assembly.
17
Sistema Operacional
Como mquina estendida (top-down) tornar uma tarefa de baixo nvel mais fcil de ser realizada pelo usurio.
18
Nmero de parmetros; Endereo de bloco a ser lido; Nmero de setores por trilha; Modo de gravao.
Visualizao do arquivo a ser lido e escrito; Arquivo lido e escrito; Arquivo fechado.
19
recursos
Ex.: Se dois processos querem acessar um mesmo recurso, por exemplo, uma impressora, o SO responsvel por estabelecer uma ordem para que ambos os processos possam realizar sua tarefa de utilizar a impressora. Uso do HD. Uso da memria.
20
Histrico
21
22
grupo de pessoas projetava, construa, programava, operava e fazia a manuteno de cada mquina; O acesso s mquinas era feito por meio de reserva de tempo: cada usurio fazia sua programao diretamente nos painis das mquinas hard-wired; Mquinas realizavam clculos numricos.
23
Operador responsvel por carregar montadores, compiladores, etc. e ativar job com o programa desenvolvido pelo programador
Operao: cada programa (job) ou conjunto de programas era escrito e perfurado pelo programador em um carto. O carto perfurado era entregue ao operador da mquina para que o mesmo fosse processado.
Sistemas em Batch (lote) Consistia em coletar um conjunto de jobs e fazer a gravao desse conjunto para uma fita magntica.
25
Programador leva Operador leva fita Jobs e gravao dosfita com Grava lote de jobs Execuo dos Operador Impresso dos leva 26 cartes para leitora em fita para processamento em fita de sada Resultados resultados resultados
que eram CPU-bound no tinham problema com relao ao tempo que se precisava esperar para realizar E/S. Aplicaes que eram IO-bound gastavam de 80 a 90% do tempo realizando E/S.
Multiprogramao
27
Multiprogramao
Dividir a memria em diversas partes e alocar a cada uma dessas partes um job. Manter na memria simultaneamente uma quantidade de jobs suficientes para ocupar 100% do tempo do processador, diminuindo a ociosidade. Importante: o hardware que protegia cada um dos jobs contra acesso indevidos de outros jobs.
28
separadas para E/S e processamento. Operadores precisavam ficar andando entre as mquinas.
Soluo
Spooling
29
Spooling
Possibilitar que a leitura de cartes de jobs fosse feita direta do disco. Assim que um job terminava, o sistema operacional j alocava o novo job a uma partio livre da memria direto do disco.
30
Mesmo com o surgimento de novas tecnologias, o tempo de processamento ainda era algo crtico. Para corrigir um erro de programao, por exemplo, o programador poderia levar horas pois cada job era tratado dentro de um lote.
Soluo
TimeSharing
31
Anos 60.
Primeiro sistema TimeSharing: CTSS (Compatible Time Sharing System) desenvolvido no MIT - IBM 7094 modificado.
Cada usurio tem a sensao de possuir o computador apenas para ele Ex.: Se 20 usurios esto conectados, mas apenas 3 esto processando de fato, o processador alocado apenas a esses 3 jobs.
32
Unics
Time Proposto
Sistemas Operacionais de Propsito Geral Sharing System por Ken Thompson no MULTICS
34
origem ao Unix
A IBM tentou utilizar o CP/M (Control Program/ Microcomputer), mas no conseguiu firmar acordo;
(Mac OS)
Lanado
Sistemas
Windows
1985 Iniciou
Multiprogramao
Linux
1991 Desenvolvido
Multiusurio
processo dividido em
Apresenta-se como um sistema operacional centralizado, mas que, na realidade, tem suas funes executadas por um conjunto de mquinas independentes.
Usurios conhecem a localizao dos recursos que esto utilizando e no tm a viso de um sistema centralizado
41
Importante:
42
JavaOS
Sistemas Operacionais Embarcados: telefones, aparelhos eletrodomsticos; PDAs (Personal Digital Assistants).
43
Sistemas Paralelos
Sistemas Paralelos