Sistemas Operacionais 2006.1
SO - Horário/Sala
Segundas: 8-10
Sextas: 10-12
Sala: Laboratório:
SO - Lista de discussão
Cadastre-se na lista:
sofatec@grupos.com.br
Ao enviar e-mail à lista, coloque no início do subject: [fatec-so]
SO - Ementa
Histórico, conceitos e tipos de sistemas operacionais. Sua estrutura e o seu contexto dentro do software básico. Conceito de processo. Gerenciamento de processos e da CPU. Escalonamento de processo, monoprocessamento e multiprocessamento. Concorrência e sincronização de processos. Gerenciamento de memória (real e virtual). Gerenciamento de entrada/saída. Alocação de recursos e Deadlocks. Gerência de arquivos. Estudos de casos.
SO - Objetivos Programáticos
Apresentar os conceitos básicos de um sistema operacional convencional: conceito de processo, escalonamento de processos, gerência de processador, gerência de entrada e saída, gerência de memória e gerência de arquivos.
SO - Programa
| UNIDADE | ASSUNTO |
|---|---|
| 1 | Introdução aos Sistemas Operacionais |
| 1.1 | Funções de um sistema operacional |
| 1.2 | Conceitos básicos |
| 2 | Processos |
| 2.1 | Definição e estrutura de processos |
| 2.2 | Estados de um processo |
| 2.3 | Escalonamento de processos |
| 2.4 | Fluxo de execução de um processo |
| 2.5 | Multithreading |
| 2.6 | Comunicação entre processos |
| 3 | Impasses |
| 3.1 | Definição de impasses |
| 3.2 | Técnicas para o tratamento de impasses |
| 4 | Gerência de Memória |
| 4.1 | Gerência de memória sem swap ou paginação |
| 4.2 | Swapping |
| 4.3 | Memória virtual |
| 4.4 | Algoritmos de reposição de páginas |
| 4.5 | Segmentação |
| 5 | Entrada/Saída |
| 5.1 | Hardware e software de entrada/saída |
| 6 | Sistemas de Arquivos |
| 6.1 | Arquivos e diretórios |
| 6.2 | Implementação de sistemas de arquivos |
| 6.3 | Segurança e mecanismos de proteção da informação |
| 7 | Implementação de programas em C para Linux |
SO - Plano de Aulas
| Data | Assunto | Material | Referências | Local |
|---|---|---|---|---|
| 03/02 | Anunciar URL da disciplina; Apresentação da disciplina; Avisar para todos olharem as datas importantes; Apresentar os objetivos da disciplina; Apresentar o conteúdo da disciplina; Apresentar o processo de avaliação da disciplina; Apresentar a motivação para a disciplina; | Motivação | Sala | |
| 06/02 | 1. Introdução aos Sistemas Operacionais; (1.1, 1.2, 1.3, 1.4) | Introdução parte 1 | Paramos no slide 17 | Sala |
| 10/02 | cont. 1. Introdução aos Sistemas Operacionais | Parte 2 | Sala | |
| 13/02 | 2.1 Processos | Processos | fork.c, StackOverflow.java | Sala |
| 17/02 | Miniteste 1 2.2 Threads | Threads | Sala | |
| 20/02 | Miniteste 2 2.3 Comunicação interprocessos (2.3.1, 2.3.2, 2.3.3, 2.3.4) | Comun. Interprocessos - Espera ocupada | Sala | |
| 24/02 | cont 2.3 Comunicação interprocessos (2.3.5, 2.3.6, 2.3.7) | Semáforos, mutex e monitores | Sala | |
| 27/02 | Praia | |||
| 03/03 | cont 2.3 Comunicação interprocessos; Troca de mensagens e Barreiras (2.3.8, 2.3.9) | Troca de mensagens e barreiras | Troca de mensagem | Sala |
| 06/03 | Projeto 1 | Exclusão Mútua | Ajuda, exclusao.c | |
| 10/03 | 2.4 Problemas Clássicos de IPC (2.4.1) | Jantar dos filósofos | Programa exemplo | |
| 13/03 | cont 2.4 Problemas Clássicos de IPC (2.4.2) | Leitores e Escritores | Lab | |
| 17/03 | cont 2.4 Problemas Clássicos de IPC (2.4.3) | Barbeiro dorminhoco | ||
| 20/03 | 2.5 Escalonamento (2.5.1, 2.5.2, 2.5.3) | Introdução a escalonamento | ||
| 24/03 | cont 2.5 Escalonamento (2.5.4, 2.5.5, 2.5.6) | Introdução a escalonamento | Projeto 2 | |
| 27/03 | Prova 1 Entreda do Projeto 1 | Prazo encerrado-10/04 | Sala | |
| 31/03 | 3. Impasses (deadlocks) (3.1, 3.2, 3.3) | Deadlock parte 1 | Sala | |
| 03/04 | Miniteste 3 cont 3. Impasses (deadlocks) (3.4 ) | Deadlock parte 2 | Sala | |
| 07/04 | cont 3. Impasses (deadlocks) ( 3.5, 3.6, 3.7 ) | Deadlock parte 3 | Sala | |
| 10/04 | 4 Gerenciamento de Memória (4.1) | Gerenciamento de memória parte 1 | Sala | |
| 14/04 | Praia | |||
| 17/04 | cont 4 Gerenciamento de Memória (4.2) | Gerenciamento de memória - Memória Virtual | Sala | |
| 21/04 | Praia | |||
| 24/04 | cont 4 Gerenciamento de Memória (4.3.1) | Gerenciamento de memória - Algoritmos de troca de páginas | Sala | |
| 28/04 | cont 4 Gerenciamento de Memória (4.3.2, 4.3.3, 4.3.4) | Sala | ||
| 01/05 | Praia | |||
| 05/05 | Miniteste 4\ cont 4 Gerenciamento de Memória (4.5) | Sala | ||
| 08/05 | cont 4 Gerenciamento de Memória (4.6) | Sala | ||
| 12/05 | 4.8 Segmentação | Gerenciamento de memória - Segmentação | Sala | |
| 15/05 | 5. Entrada e Saída (5.1 e 5.2.1) | Entrada e Saída | Programa exemplo de ES, Comandos Linux | Sala |
| 19/05 | Miniteste 5 cont 5 Entrada e Saída (5.2.2, 5.2.3, 5.2.4 e 5.2.5) | Sala | ||
| 22/05 | 6. Sistemas de Arquivos; Arquivos e diretórios; Estrutura de sistemas de arquivos; Interfaces de sistemas de arquivos. (Seções 6.1 e 6.2) | Introdução a Sistemas de Arquivos | Sala | |
| 26/05 | Miniteste 6 Implementação de sistemas de arquivos; O sistema de arquivos do UNIX;\ (Seções ... e 10.6) | Sala | ||
| 29/05 | O sistema de arquivos do UNIX; Outros sistemas de arquivos; (Seções 10.6 e 11.7) | Sala | ||
| 02/06 | Confiabilidade de sistemas de arquivos; Recuperação de sistemas de arquivos; Administração e desempenho de sistemas de arquivos; (Seções ) | Sala | ||
| 05/06 | Segurança de sistemas; Princípios de projeto de sistemas visando segurança; Mecanismos de proteção; (Seções ) | Sala | ||
| 09/06 | Prova 3 | |||
| 12/06 | Reposição | |||
| 16/06 | ||||
| 19/06 | Prova Final | |||
| 23/06 | ||||
| 26/06 | ||||
| 30/06 | ||||
SO - Bibliografia
* Sistemas Operacionais Modernos, 2a. edição. A.S. Tanenbaum, Prentice-Hall, 2003. * Operating Systems, 4a. edição. W. Stallings, Prentice-Hall, 2000
SO - Avaliação
A avaliação constará de provas, mini-testes e projetos práticos, com os respectivos pesos discriminados na seção abaixo. Os projetos serão desenvolvidos em grupo de no máximo 2 alunos.
Avaliação 1: * (50%) 1a. Prova: Após encerramento da unidade 2. * (20%) Projeto 1: Criação e gerência de processos no Linux (assunto: escalonamento de processos) * (30%) Mini-testes: 3 mini-testes. Serão considerados apenas as 2 melhores notas. Miniteste 1 (após a Unidade 1), Miniteste 2 (após a Unidade 2.2) , Miniteste 3 (após a Unidade 3.2) Avaliação 2: * (50%) 3a. Prova – Após encerramento da unidade 6. * (20%) Projeto 2: Comunicação Inter-processos no Linux (assunto: seções críticas, entrada/saída) * (30%) Mini-testes: 3 mini-testes. Serão considerados apenas as 2 melhores notas. Miniteste 4 (após a Unidade 4.3), Miniteste 5 (após a Unidade 5.1), Miniteste 6 (após a Unidade 6.1).



