5306O2 - Sistemas Operativos II (2004 - 2005)
Up one level- Docente Responsável
- Francisco Soares de Moura
- Docente Responsável pelas aulas teóricas
- Francisco Soares de Moura
- Docente(s) das aulas teórico práticas
- Alfranio Tavares Correia Junior
Horário de atendimento:
Teóricas: 3ª-feira, 09H45-10H45, ou a combinar por e-mail.
Exame final
- Introdução
- Gestão de ficheiros: objectivos, concretização, sistemas de ficheiros distribuídos
- Programação concorrente: modelos baseados em memória partilhada, mensagens, cliente-servidor.
- Programação em sistemas distribuídos: motivação, problemas, mecanismos de comunicação
- Introdução
- Concorrência e distribuição nos sistemas operativos e aplicações
- Gestão de ficheiros
- Objectivos, compromissos
- Concretização em Unix, Windows, etc.
- RAID e sistemas de ficheiros baseados em "diário".
- Sistemas de ficheiros distribuídos: NFS
- Programação concorrente
- Modelos baseados em memória partilhada, mensagens, e operações remotas
- Modelo cliente-servidor
- Resolução de exercícios
- Programação em sistemas distribuídos
- Motivação, problemas a resolver
- Mecanismos de comunicação
- Exercícios
- A. S. Tanenbaum, Modern Operating System,Prentice Hall, 1992.
- David R. Butenhof, Programming with POSIX Threads.
- W. Richard Steven, UNIX Network Programming - Volume 1; Networking APIs: Sockets and XTI.
- Get to Know Raid
- RAID primer
- Linux Magazine: Journaling File Systems
- The design and implementation of a log-structured file system
- Linux Links: File Systems
- POSIX Threads Programming
- R. Stevens, Advanced Programming in the Unix Environment,Addison Wesley, 1990.
- U. Vahalia, Unix Internals,Prentice Hall, 1996.
- Windows Services for UNIX
Esta disciplina surgiu pela primeira vez no ano lectivo de 1995/96, como consequência da restruturação das Licenciaturas em Engenharia de Sistemas e Informática e Matemática e Ciências da Computação. O seu programa é em parte coincidente com o do segundo semestre da antiga disciplina de Sistemas Operativos, embora tenham sido feitas actualizações consideráveis de modo a acompanhar a evolução dos sistemas operativos (e linguagens) actuais, sobretudo no que diz respeito ao suporte a aplicações distribuídas.
Nesta disciplina aprofundam-se os conhecimentos de programação concorrente adquiridos no primeiro semestre em Sistemas Operativos I e entra-se já no desenvolvimento de aplicações distribuídas baseadas no modelo cliente-servidor. Tira-se partido da mudança da componente de gestão de ficheiros do primeiro para o segundo semestre para ilustrar o modelo cliente-servidor e os sistemas de ficheiros para ambientes distribuídos (NFS). Usam-se ainda ficheiros para recordar a necessidade de exclusão mútua no acesso simultâneo a recursos, passando-se depois aos algoritmos clássicos de sincronização tipo "leitores-escritores" com prioridades, que são resolvidos com semáforos, mutexes, mensagens, etc, em sistemas operativos como o Linux, Solaris ou Windows XP. Capitaliza-se nos conhecimentos de processos, threads e mecanismos de comunicação para desenvolver servidores (acesso a bases de dados, impressoras, etc), que posteriormente são distribuídos de uma forma natural à custa da utilização de sockets. A disciplina termina com o desenvolvimento de pequenas aplicações distribuídas em Java.
Esta é uma disciplina cuja componente dita "teórica" é muito reduzida. Cobre essencialmente aspectos de gestão avançada de ficheiros, incluindo a percepção das vantagens da utilização de discos RAID e de sistemas de ficheiros baseados em "diário" (Log-strutured File Systems), descendo ainda ao escalonamento de pedidos de transferência de disco. Por este motivo, procura-se que uma parte das aulas teóricas seja de diálogo e síntese de conceitos, e dedica-se o resto das aulas à discussão de problemas de programação concorrente e distribuída, e à resolução de exames de anos anteriores. Pelo mesmo motivo, a cotação do exame final assenta essencialmente nos exercícios práticos.
- Apontamentos das Aulas Teóricas
- Pasta com documentos de apoio às Aulas Teóricas
- Exames SOII
- Sortido de exames de anos anteriores
- Aviso: Notas da 1ª e 2ª chamada
- As notas da 1ª e 2ª chamada já estão disponíveis para consulta no placard electrónico dos Serviços Académicos. A classificação dos alunos com indicação de R (reprovado) deve ser procurada no placard da LESI a partir do dia 13.