|
Curso: Licenciatura em Engenharia Electrotécnica e de
Computadores Fui pela última vez o regente desta disicplina em 1997/98.
DocentesAulas teóricasFrancisco José de Oliveira Restivo, Professor Associado
Aulas teórico-práticasJoão António Correia Lopes, Professor Auxiliar
ObjectivosIntroduzir os conceitos fundamentais dos sistemas operativos actuais, quer do ponto de vista funcional quer do ponto de vista arquitectural. Formar programadores de sistema em UNIX.
ProgramaAulas TeóricasConceitos Fundamentais: Evolução Histórica dos Sistemas Operativos; Tipos de Sistemas Operativos; Linguagem de Comandos e Chamadas ao Sistema; Requisitos Funcionais; Processos: Conceito de Processo; Ponto de Vista do Programador; Ponto de Vista do Sistema Operativo; Process Control Block (PCB); Estado dos Processos; Serviços de Gestão de Processos; Escalonamento; Algoritmos de Escalonamento; Avaliação da Performance; Sincronização entre Processos: Exclusão Mútua; Semáforos; Requisitos em Hardware; Problemas Clássicos; Comunicação e Sincronização entre Processos: Regiões Críticas; Monitores; Mensagens; Encravamentos (deadlock): Prevenir, Evitar; Detectar e Recuperar; Gestão de Memória: Alocação Contígua: Partições Estáticas; Partições Dinâmicas; Segmentação; Protecção e Partilha da Memória; Gestão da Memória: Alocação não Contígua: Paginação; Memória Virtual: Algoritmos de Substituição; Requisitos em Hardware; Protecção e Partilha da Memória; Gestão de Ficheiros: Linguagem de Comandos; Serviços do Sistema Operativo; Organização dos Discos; Gestão dos Discos: Alocação Contígua e Alocação não Contígua; Segurança e Protecção: Autenticação; Protecção e Controlo de Acessos; Criptografia; Virus; Sistemas Multi-processador: Classificação; Interligações; Tipos de Sistema Operativo; Programação Paralela; Sincronização; Sistemas Distribuídos: Redes; Protocolos de Comunicação e Modelo OSI; Exclusão Mútua; Encravamentos; Sistemas Operativos. Aulas Teórico-PráticasIntrodução ao curso (Programação avançada no ambiente UNIX). Introdução ao UNIX. História das diversas implementações; standards; arquitectura do UNIX; perspectiva do utilizador; introdução ao Kernel. Serviços fornecidos pelo UNIX: login & shells; ficheiros e directórios; entrada/saída (E/S); programas e processos; tratamento de erros; identificação de utilizadores; sinais; datas; system calls & library functions. Ficheiros e E/S: descritores de ficheiros; funções para manipulação de ficheiros; estruturas de gestão de ficheiros; partilha de ficheiros; utilização de fcntl(). Manuaseamento de ficheiros e directórios: tipos de ficheiros; utilização de lstat(); tamanho de ficheiros; sistemas de ficheiros; links; permissões; definição do modo; datas; criação e leitura de directórios; sincronização de discos e ficheiros. Controlo de terminais: comunicação série; a estrutura termios; funções para controlo de terminais; atributos de terminais; modos de funcionamento. Biblioteca standard de E/S: streams & FILE; buffering; ficheiros temporários; E/S formatado. Ambiente do processo: a função main(); terminação; argumentos da linha de comando; manipulação do ambiente; mapa de memória de um programa em C; alocação de memória; setjmp (), longjmp() e stack frames; variáveis automatic, register & volatile; recursos. Controlo de processos: identificadores de processos; criação de processos ; utilização de fork(); partilha de ficheiros; terminação. Substituição de processos; utilização de exec(); mudanças de identificação. Relação entre processos: login por terminal; sessõees; terminal de controlo; gestão de processos; influencia de job control. Sinais: tratamento de sinais; utilização de signal(); sinais e chamadas ao sistema; conjuntos de sinais; utilização de sigsuspend() Comunicação interprocessos: pipes; coprocessos; FIFO; comunicação clientes - servidor; IPC do sistema V; filas de mensagens; semáforos; memória partilhada.
MetodologiaAulas TeóricasExposição detalhada da matéria e resolução de problemas ilustrativos. Aulas Teórico-PráticasExposição da matéria e resolução dos exercícios necessários à sua compreensão clara. Estímulo à abertura de contas numa máquina UNIX, para a resolução de exercícios e comunicação com o docente. Em duas aulas, resolução de pequenos trabalhos individuais, com incidência na avaliação final. AvaliaçãoUma prova escrita em duas partes de 60 minutos, a primeira, sem consulta de elementos de estudo, referente à matéria das aulas teóricas e a segunda referente à matéria das aulas práticas. O peso de cada uma das partes da prova escrita na classificação é de 50% E = 0.5T + 0.5P A classificação dos trabalhos individuais é considerada na classificação final, com um peso variável entre 0 e 20%, conforme a classificação da prova escrita F = E + 0.01(20 - E)I (todas as classificaçõs entre 0 e 20).
Textos de ApoioO texto base para o estudo da parte teórica desta disciplina é
Para a parte prática, além dos elementos fornecidos, recomenda-se
Recomenda-se ainda qualquer dos seguintes livros para o estudo da parte teórica desta disciplina
As transparências de Silberschatz & Gavin
Os exames 1996/97 (parte teórica)
(veja aqui como imprimir ficheiros PostScript)
E pode ver aqui as últimas classificações na disciplina. Na Internet
|
|
|
||
|
Página criada por Francisco J. Restivo. Modificada pela última vez em 1999-12-09. |
||