Escolar Documentos
Profissional Documentos
Cultura Documentos
Diego Passos
Informaes Bsicas
Horrio: teras e quintas, 16h. Salas: 442/235 Contato: Por e-mail: dpassos@ic.uff.br Pela pgina: http://www.midiacom.uff.br/~diego/sisop/ Ou no Laboratrio Midiacom (sala 408, bloco E). Avaliao: Duas provas. Mdia final m = (P1 + 2 * P2) / 3. Notas, avisos, etc, enviados por e-mail: Lista. Listas de exerccios: Ao final de cada aula. No fazem parte da avaliao.
Calendrio
29/03 Introduo e Conceitos 31/03 Processos 05/04 Segurana Inter-Processos 07/04 Programao Concorrente 12/04 Excluso Mtua 14/04 Sistemas Distribudos e Deadlock 19/04 Implementao de Processos e Threads 21/04 Feriado (Tiradentes) 26/04 Escalonamento 28/04 Escalonadores No-Preemptivos 03/05 Escalonadores Preemptivos 05/05 Escalonamento: Estudo de Casos 10/05 Reviso para P1 12/05 P1 17/05 Vista de Prova (P1) / Compiladores e Montadores 19/05 Entrada e Sada: Dispositivos e Tipos de Acesso 24/05 26/05 31/05 02/06 07/06 09/06 14/06 16/06 21/06 23/06 28/06 30/06 05/07 07/07 12/07 14/07 Entrada e Sada: Software Entrada e Sada: Estudo de Caso SBRC (No Haver Aula) SBRC (No Haver Aula) Gerenciamento de Memria e Tipos de Alocao Primitivos Segmentao e Paginao Memria Virtual Sistemas de Arquivo Linux e Windows 2000 Feriado (Corpus Christi) Reviso para P2 P2 Vista de Prova (P2) VS Vista de Prova (VS) ---
Bibliografia
"Sistemas Operacionais". Rmulo Oliveira, Alexandre Carissimi, Simo Toscani. 2a Edio. "Operating Systems Concepts". Silberschatz, Gavin, Gagne. Wiley. 6a Edio. "Modern Operating Systems". Andrew Tenenbaum. 2a Edio.
Conceitos
Servios de um SO
Execuo de Aplicaes. Acesso a dispositivos de E/S: Discos, interfaces de rede, placas de video, etc. Controle de acesso arquivos. Proteo de arquivos contra leitura e escrita por outros usurios.
Kernel vs. SO
Todo SO possui um ncleo ou kernel. O ncleo responsvel pelas funes mais bsicas do SO: Escalonamento. Gerenciamento de memria. Tratamento de interrupes. Outras funcionalidades podem ser implementadas "fora" do kernel. Manipulao de perifricos. Manipulao de acesso disco. Kernel monoltico vs. Micro-Kernel.
Processo
Uma aplicao uma tarefa do usurio a ser efetuada. Um programa descreve como tal tarefa deve ser executada. Um processo uma instncia de execuo de um programa. Um processo composto por: Cdigo do programa. Estado atual da execuo (valores de variveis, registradores, etc).
Espao de Endereamento
Nos SOs modernos, cada processo tem seu prprio Espao de Endereamento. Um espao de endereamento um conjunto de posies de memria disponveis para o processo. Variveis do processo so guardadas nele. Nos SOs atuais, o endereo utilizado nos programas apenas lgico: So mapeados para posies variadas na memria fsica. Ou seja, o endereo 367 de um processo diferente do endereo 367 de outro processo.
Escalonador
Componente do SO que aloca o recurso "processador". Em geral, h mais processos que processadores disponveis. O escalonador escolhe qual processo pode utilizar o processador a cada instante. Diversos critrios: Tempo de resposta. Vazo. Prioridades.
Histrico
Primeiros Computadores
O Sistema Operacional no existia. O usurio programava a mquina para sua aplicao e iniciava a execuo. A mquina ficava bloqueada at o fim da execuo. Ao final, usurio recolhia os resultados e um novo usurio recomeava o ciclo.
Evoluo do modelo anterior. Conceito de Job: Uma aplicao do usurio. Um funcionrio recebia os Jobs. Em carto perfurado, por exemplo. O funcionrio inseria os Jobs, sequencialmente, a medida que os anteriores acabavam. O funcionrio atuava como um SO bsico, distribuindo os recursos entre os vrios Jobs.
Monitores Residentes
O funcionrio substitudo por um pequeno programa. O Monitor. Usurio colocava seu job em uma fila dentro da mquina. O monitor pegava lia o primeiro Job, o carregava em memria e passava o controle total da mquina para ele. Ao final da execuo de um Job, o Monitor retornava execuo e selecionava o prximo da fila. Programas defeituosos paravam toda a fila: Era necessria interveno manual.
Fonte: "Sistemas Operacionais". Rmulo Oliveira, Alexandre Carissimi, Simo Toscani. 2a Edio.
Sistema de timesharing
Sistemas batch no tem bons tempos de resposta. Uma aplicao s executada aps todas as predecessoras. Seria interessante poder executar todas "ao mesmo tempo". Mas h mais processos que processadores. Soluo: compartilhar o tempo do processador. Cada processo ganha um quantum (ou slice) de tempo. Durante seu quantum, pode usar o processador. Ao final do quantum, um novo processo ganha a vez. Os quantuns so renovados periodicamente. Iluso para o usurio de que a mquina est sempre disponvel. Permitiu uso interativo.
Reviso
Para Lembrar
Definio de sistema operacional. Kernel monoltico vs. Micro-kernel. Sistemas batch. Monitor residente. Multiprogramao. Timesharing Sistema Paralelo vs. Sistema Distribudo.