Mudanças entre as edições de "SOP-EngTel (página)"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 88: Linha 88:
 
== Slides ==
 
== Slides ==
  
* [https://discovirtual.ifsc.edu.br/index.php/s/UX2AXsOP2jPPCiK Introdução a Sistemas Operacionais]
+
* [http://docente.ifsc.edu.br/arliones.hoeller/sop/slides/SOP29005-parte1.pdf Introdução a Sistemas Operacionais]
* [https://discovirtual.ifsc.edu.br/index.php/s/5HBPhD6HhncEKBf Escalonamento de Processos]
+
* [http://docente.ifsc.edu.br/arliones.hoeller/sop/slides/SOP29005-parte2.pdf Escalonamento de Processos]
* [https://discovirtual.ifsc.edu.br/index.php/s/5NEcMIArRivZStb Comunicação entre Processos]
+
* [http://docente.ifsc.edu.br/arliones.hoeller/sop/slides/SOP29005-parte3.pdf Comunicação entre Processos]
* [https://discovirtual.ifsc.edu.br/index.php/s/6uov3PYCMOWZEZZ Coordenação de Processos (Programação Concorrente)]
+
* [http://docente.ifsc.edu.br/arliones.hoeller/sop/slides/SOP29005-parte4.pdf Coordenação de Processos (Programação Concorrente)]
* [https://discovirtual.ifsc.edu.br/index.php/s/eCS40FKrBS5ZJoU Gerenciamento de Memória]
+
* [http://docente.ifsc.edu.br/arliones.hoeller/sop/slides/SOP29005-parte5.pdf Gerenciamento de Memória]
* [https://discovirtual.ifsc.edu.br/index.php/s/LQvUq3dY02NFZz9 Gerenciamento de Arquivos]
+
* [http://docente.ifsc.edu.br/arliones.hoeller/sop/slides/SOP29005-parte6.pdf Gerenciamento de Arquivos]
* [https://discovirtual.ifsc.edu.br/index.php/s/kcERZZCTQQrT0L4 Gerenciamento de Entrada e Saída]
+
* [http://docente.ifsc.edu.br/arliones.hoeller/sop/slides/SOP29005-parte7.pdf Gerenciamento de Entrada e Saída]
  
 
== Listas de exercícios ==
 
== Listas de exercícios ==

Edição das 14h10min de 26 de novembro de 2015

Sistemas Operacionais - 2015-2

Professor: Arliones Hoeller

  • Encontros: Quintas às 15:40 e sextas às 13:30 no Lab. de Programação.
  • Atendimento
    • Terças das 10:35 às 11:30
    • Quintas das 14:25 às 15:20

Notas

Aluno P0 P1 T0 T1 Exs Final
122005023-7
132002623-0
132002999-0
131004419-8
131005150-0
131001281-4
121000492-5
121000484-4
132004514-6
122001832-5
132002264-2
131005334-0
132004278-3

Entrega das Avaliações Secundárias

Aluno S0 S1 S2 S3
122005023-7 OK
132002623-0 OK
132002999-0 OK
131004419-8 OK
131005150-0 OK
131001281-4 OK
121000492-5 OK
121000484-4 OK
132004514-6 OK
122001832-5 OK
132002264-2 OK
131005334-0 OK
132004278-3 OK

Material de aula

Slides

Listas de exercícios

As listas de exercícios são compostas por exercícios selecionados do livro do Silberschatz, 8a edição. Há 10 volumes deste livro na biblioteca do campus.

SILBERSCHATZ, Abraham; GALVIN, Peter; GAGNE, Greg. Fundamentos de sistemas operacionais. 8. ed. Rio de Janeiro: LTC, 2011. 515 p., il. ISBN 9788521617471.

Exercícios selecionados:

  • Capítulo 1: 1-3, 6-8, 10, 13, 14, 17, 22, 23, 25.
  • Capítulo 2: 1-8, 12, 13, 15, 17, 22, 25.
  • Capítulo 3: 1, 3, 6-10, 13, 15
  • Capítulo 4: 1, 4, 7, 8, 10-13
  • Capítulo 5: 1-3, 5, 6, 9, 10, 13-15, 21
  • Capítulo 6: 1, 2 (utilizar semáforos POSIX), 6, 8, 11-15, 18, 20, 21, 25, 29, 39.
  • Capítulo 8: 1-6, 9-21, 23.
  • Capítulo 9: 1-8, 14-16, 19-23, 28.
  • Capítulo 10: 1-20
  • Capítulo 11: 1-7
  • Capítulo 12: 1-7, 13-14 (desafio).

Projeto

Esta disciplina utiliza um projeto contínuo, no qual os alunos desenvolvem um aplicativo que emula um sistema operacional no espaço de usuário no Linux. Este projeto é chamado de BOOOS - Basic Object Oriented Operating System.


Conteúdo

Unidade 01: Introdução

Unidade 01: Introdução

Apresentação do Curso

Visão geral de funções, responsabilidades e estruturas de um SO

Arquitetura de sistemas operacionais e modelos de programação

Unidade 02: Processos

Unidade 02: Processos

Gerência de tarefas; contextos, processos e threads

Escalonamento de tarefas

Comunicação entre Processos

Coordenação de processos

Unidade 03: Memória

Unidade 03: Memória

Introdução ao Gerenciamento de Memória

Memória Principal

Memória Virtual


Unidade 04: Armazenamento

Unidade 04: Armazenamento

Interface do Sistema de Arquivos

Implementação do Sistema de Arquivos

Estrutura de Armazenamento em Massa

Gerenciamento de Entrada e Saída

Projetos

TerminALL - FORK/WAIT/EXEC na prática - Prazo: 12/11/2015

Você deve utilizar as chamadas de sistema fork, wait e exec para implementar em C++ um interpretador de comandos. Os requisitos do projeto são apresentados na figura abaixo.

TerminALL-requisitos.png

Uma estrutura geral do sistema é dado pelo diagrama de classes abaixo. Este diagrama é uma versão inicial e, certamente, incompleto. O sistema final de vocês provavelmente terá novos métodos ou assinaturas diferentes para os métodos que estão ali.

TerminALL-classes.png

Para embasar seu trabalho, estude as seguintes man pages.

  • man fork
  • man wait
  • man exec
  • man gethostname
  • man getlogin
  • man getpid
  • man 2 kill

Entrega: Quinta, 12/11/2015, por email, em duplas. Entregar o código-fonte do projeto, acompanhado de relatório curto com o diagrama de classes atualizado (implementado) e uma descrição de como o sistema foi testado.

Um versão do projeto com classes VAZIAS E INCOMPLETAS pode ser baixada aqui.