|
UNIVERSIDADE FEDERAL DE UBERLÂNDIA |
|
Ficha de Componente Curricular
CÓDIGO:
|
COMPONENTE CURRICULAR: SISTEMAS OPERACIONAIS |
|
UNIDADE ACADÊMICA OFERTANTE: FACULDADE DE ENGENHARIA ELÉTRICA |
SIGLA: FEELT |
|
CH TOTAL TEÓRICA: 30 horas |
CH TOTAL PRÁTICA: 15 horas |
CH TOTAL: 45 horas |
OBJETIVOS
Definir conceitos básicos e avançados de sistemas operacionais, proporcionando aos discentes um conhecimento abrangente sobre o tema. Capacitar o discente a reconhecer as principais características de um sistema operacional, os principais componentes do mesmo e as técnicas aplicadas em cada um deles, bem como sua importância na gestão dos recursos de hardware. Ao término do curso o discente deve ser capaz de escolher um sistema operacional adequado para um determinado tipo de aplicação.
Ementa
História dos Sistemas Operacionais, Processos e Threads, Gerenciamento de Memória, Sistema de Entrada e Saída, Sistema de Arquivo e Estudo comparativo entre Sistemas Operacionais existentes. Sistemas Operacionais e nuvem.
PROGRAMA
1) Introdução
a. Definição e Características de um Sistema Operacional
b. Estrutura de um Sistema Operacional
i. Serviços do Sistema Operacional
ii. Chamadas de Sistemas
c. Projeto e Implementação do Sistema Operacional
i. Mecanismos e Políticas
ii. Implementação
iii. Estrutura do Sistema Operacional
1. Monolíticos
2. Camadas
3. Microkernels
4. Módulos
5. Máquinas virtuais
6. Cliente-sevidor
2) Gestão de Processos
a. Conceito de Processos
b. Estados de um Processo
c. Bloco de Controle de Processos
d. Escalonamento de Processos
e. Troca de contexto
f. Criação de Processos
g. Comunicação entre Processos
h. Threads
i. Motivação para o uso de Threads
ii. Modelos de Múltiplas Threads
iii. Bibliotecas de Threads
1. Posix Threads – Pthreads
2. Windows Threads
iv. Aspectos do uso de Threads
i. Escalonamento de processos
i. Ciclos de CPU e ES (Entrada e Saída)
ii. Conceitos de Preempção
iii. Algoritmos de Escalonamento
1. First Come, First Served – FCFS
2. Shortest Job First – SJF
3. Escalonamento por Prioridade
4. Round-Robin
5. Filas Multinível
iv. Escalonamento de Threads
j. Programação concorrente
k. Sincronização de processos
i. Região Crítica
ii. Semáforos
iii. Monitores
iv. Problemas Clássicos de Sincronismo
l. Deadlock
i. Caracterização do Deadlock
ii. Grafo de Alocação de Recursos
iii. Métodos para Tratamento de Deadlocks
iv. Prevenção de Deadlocks
v. Detecção de Deadlock
vi. Recuperação do Deadlock
3) Gestão de Memória
a. Carregamento absoluto e carregamento relocado
b. Alocação contígua
i. Partições fixas
ii. Partições variáveis
c. Alocação não-contígua
i. Paginação
ii. Segmentação
iii. Segmentação paginada
d. Memória virtual
i. Paginação por Demanda
ii. Algoritmos de substituição de página
iii. Trashing
4) Sistemas de Arquivos
a. Arquivos e diretórios
b. Estruturação de arquivos
c. Segurança em sistemas de arquivos
d. Implementação de sistemas de arquivos
e. Alocação de espaço em disco
i. Alocação contígua
ii. Alocação encadeada
iii. Alocação indexada
f. Gerência de espaço livre em discos
g. Múltiplos sistemas de arquivos.
h. Sistemas de Arquivos de Rede
5) Gestão de E/S
a. Controlador e driver de dispositivo
b. E/S programada
c. Interrupções
d. DMA (Direct Memory Access – Acesso Direto a Memória)
e. Organização de discos rígidos
f. Algoritmos de escalonamento de braço de disco
g. Sistemas RAID (Redundant Array of Independent Disks)
6) Estudos de Caso: Sistemas Operacionais de Propósito Específicos
a. Sistema Operacional Linux
b. Sistema Operacional Windows
7) Estudos de Caso: Sistemas Operacionais em Nuvem
a. Desktop Virtuais
b. Computação e Arquitetura Serverless
BIBLIOGRAFIA BÁSICA
1. SILBERSCHATZ, Abraham. Sistemas operacionais com Java. Rio de Janeiro: Campus, 2008. 673 p.
2. MACHADO, Francis B. Arquitetura de sistemas operacionais. 5. ed. Rio de Janeiro: Livros Técnicos e Científicos, 2013. 250 p.
3. TANENBAUM, Andrew S. Sistemas operacionais modernos. 2. ed. São Paulo: Prentice Hall, 2003. 695 p.
BIBLIOGRAFIA COMPLEMENTAR
1. DANESH, Arman. Dominando o Linux: a Bíblia. São Paulo: Makron Books, 2000. 574 p.
2. SILBERSCHATZ, Abraham. Fundamentos de sistemas operacionais. Rio de Janeiro: Livros Técnicos e Científicos, 2010. 515 p..
3. NEMETH, Evi. Manual completo do Linux: guia do administrador. 2. ed. São Paulo: Prentice Hall, c2007. xiv, 684 p.
4. NEGUS, Chris. Linux® edição especial : a Bíblia: boot up to Ubuntu®, Fedora KNOPPIX, Debian, SUSE e outras 11 distribuiçoes. Rio de Janeiro: Alta Books, c2008. 714 p.
5. BACH, Maurice J. The design of the UNIX operating system. Englewood Cliffs: Prentice Hall, 1990. 471p.
aprovação
Prof. Dr. Antônio Cláudio Paschoarelli Veiga Coordenador do Curso de Graduação em Engenharia Eletrônica e de Telecomunicações |
Prof. Dr. Sérgio Ferreira de Paula Silva Diretor da Faculdade de Engenharia Elétrica |
Documento assinado eletronicamente por Antonio Claudio Paschoarelli Veiga, Coordenador(a), em 22/03/2019, às 09:15, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015. |
Documento assinado eletronicamente por Sergio Ferreira de Paula Silva, Diretor(a), em 25/03/2019, às 07:09, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015. |
A autenticidade deste documento pode ser conferida no site https://www.sei.ufu.br/sei/controlador_externo.php?acao=documento_conferir&id_orgao_acesso_externo=0, informando o código verificador 1106060 e o código CRC 30C6CB01. |
Referência: Processo nº 23117.015883/2019-69 | SEI nº 1106060 |