UFABC - MCTA026-13 - Sistemas Operacionais
Primeiro Quadrimestre de 2019
Índice
Turmas: NA1MCTA026-13SA e NA2MCTA026-13SA
Professores: Emilio Francesquini e Fernando Teubl Ferreira
E-mail: e.francesquini@ufabc.edu.br
Avisos
- Notas finais (incluíndo Rec.) divulgadas.
↑ novidades
- Sala da prova de recuperação: A-113-0
- A prova de recuperação será no dia 10/06/2019 das 19:00 às 21:00. Sala A-113-0
- Notas finais disponíveis! A data da Rec. será divulgada aqui em breve. Fiquem atentos!
- Atenção: Aqueles que fizeram a sub e querem que a prova seja corrigida têm até domingo para me avisar por e-mail. Notas finais do projeto online.
- Notas As notas finais da P2 já estão disponíveis:
- Aula de laboratório extra para auxílio à implementação do projeto: 03/05 - 19h00 às 21h00 Sala L403-2.
- 10, 11 e 12 disponíveis. Listas de exercícios
- Listas de exercício 8 e 9 disponíveis.
- Atenção: a nossa aula de amanhã dia 24/04/2019 será excepcionalmente na Sala 407-2. Será uma aula exclusiva para tirar dúvidas sobre o projeto de programação.
- Prazo do projeto de programação adiado para 05/05/2019
- P1 disponíveis. Notas da
prof.emilio.ufabc@gmail.com
Excepcionalmente o atendimento hoje será feito
online. Você poderá me encontrar no Google Hangouts no seguinte
endereço: - Exercício 06 até o início da aula de 10/04. Conforme anunciado na aula de 03/04, os alunos que não leram as instruções da prova para ganhar meio ponto poderão fazê-lo ao entregar por e-mail a solução do
- Listas de exercício 5 a 7 disponíveis.
- lista de capítulos/seções que caem na prova 1. Colocada na na págia a
- sistema de issues do projeto de programação adicionado. Ache sua equipe! Link para o
- 2, 3 e 4 disponíveis. Listas de Exercício
- Listas de Exercício 0 e 1 no ar.
- projeto BrisaFS no ar! Enunciado do
- Atenção: Devido aos transtornos causados pelas chuvas a aula de hoje foi cancelada. Retomamos as atividades dia 13/03/2019.
- Página online
Informações Gerais
Aulas Teóricas (Turmas NA1 e NA2)
- Segundas das 21:00 às 23:00, Semanal, Sala S-311-3
- Quartas das 19:00 às 21:00, Quinzenal I, Sala S-311-1
Aulas Práticas
- Quartas das 19:00 às 21:00, Quinzenal II
- Turma NA1 - Prof. Emilio Francesquini, Sala 407-2
- Turma NA2 - Prof. Fernando Teubl Ferreira, Sala 409-2
Atendimento
- Presencial
- Horários de atendimento
- Nos horários listados abaixo não é preciso confirmar ou marcar, apenas apareça! :-)
- Terça-feira, das 18:00 às 20:00, Sala 531-2.
- Sexta-feira, das 16:00 às 18:00, Sala 531-2.
- Agendado por e-mail
- Verifique minha agenda e sugira pelo menos dois possíveis horários!
- Em sala de aula - Após as aulas
- Horários de atendimento
- Online
- Por e-mail.
Sobre a Disciplina
MCTA026-13 - Sistemas Operacionais
- TPI: 3-1-4
- Recomendação: Arquitetura de Computadores
Objetivos
Permitir o aluno conhecer as funções e estruturas básicas de um sistema operacional, como sistemas de arquivos, técnicas de gerência de processos e memória, controle de processadores e dispositivos
Conteúdo Programático
Conceituação; Evolução Histórica; Estruturação de Sistemas Operacionais; A Função do Gerenciamento; Gerenciamento de Processos, Memória, Serviços, Dispositivos, Dados: Desempenho e Arquivos; Características de um Sistema Operacional; Tópicos de Sistemas Operacionais.
Fonte: Projeto Pedagógico do BCC 2017
Datas Importantes
- Prova 1 - 01/04/2019
- A P1 vai cobrir todas as aulas até dia 27/03. A lista abaixo é apenas uma indicação sobre onde concentrar os seus estudos. A prova, contudo, pode cobrar qualquer assunto que tenha sido abordado durante as aulas teóricas ou práticas.
- No início de cada uma das listas de exercício há uma lista de termos e conceitos cuja definição você deve saber. #ficaadica
Os números de capítulos e seções abaixo se referem ao [SGG] - Operating System Concepts, 9th Edition.
Capítulo Título Seções 1 Introduction 1.1 até 1.9 2 Operating-system Structures Todas 3 Processes 3.1 a 3.5 10 Mass-Storage Structure 10.1 até 10.5, 10.7 11 File-System Interface Todas 12 File-System Implementation 12.1 até 12.5 13 I/O Systems 13.1 até 13.5
- Prova 2 - 10/05/2019
- A P2 vai cobrir todos os assuntos tratados durante o curso durante as aulas teóricas ou práticas, contudo com especial enfoque nos assuntos não cobertos pela P1.
- Faça as listas de exercícios e atente-se aos termos e conceitos cuja definição você deve saber presentes no início de cada uma delas.
Os números dos capítulos e seções abaixo se referem ao [SGG] - Operating System Concepts, 9th Edition.
Capítulo Título Seções 4 Threads 4.1 até 4.6 5 Process Synchronization 5.1 até 5.7 7 Deadlocks 7.1 até 7.4, 7.5 (7.5.1, 7.5.2), 7.6 (7.6.1), 7.7 8 Main Memory 8.1 até 8.5 9 Virtual Memory 9.1 até 9.7
- Prova Substitutiva - 14/05/2019
- Conteúdo: tudo que foi coberto na P1 e P2.
- Prova de Recuperação - A definir (Q2 2019)
- Conteúdo: tudo que foi coberto na P1 e P2.
- Projeto -
28/04/2019→ 05/05/2019
Listas de Exercícios
Projeto de Programação
- BrisaFS -
28/04/2019→ 05/05/2019- Utilize o sistema de issues em https://github.com/ufabc-bcc/2019.Q1.SO.BrisaFS/issues/ para tirar dúvidas, discutir o enunciado, encontrar colegas para sua equipe, … Não esqueça de assinar as notificações!
Aulas
Sem. | Data | Assunto | Referências | Material |
---|---|---|---|---|
1ª | 11/02 - Aula 1 | Apresentação do Curso; Introdução | [SGG] Cp. 1; [TB] Cp. 1 | Apresentação do Curso; Introdução |
13/02 - Aula 2 | Uma visão geral sobre sistemas computacionais | [SGG] Cp. 1; [TB] Cp. 1 | Introdução | |
2ª | 18/02 - Aula 3 | Estruturas de Sistemas Operacionais | [SGG] Cp. 2; [TB] Cp. 1 | Estruturas de SOs |
20/02 - Aula 4 (Prática 1) | Introdução ao uso do Linux | Intro. Linux | ||
3ª | 25/02 - Aula 5 | Sistemas de arquivos | [SGG] Cp. 11; [TB] Cp. 4 | Interfaces do SAs |
27/02 - Aula 6 | Implementações de Sistemas de Arquivos; Apresentacao Projeto | [SGG] Cp. 12; [TB] Cp. 4 | Implementação de SAs | |
4ª | 04/03 - Carnaval | Não haverá aula. Reposição 7/5 | ||
06/03 - Carnaval | Não haverá aula. Reposição 9/5 | |||
5ª | 11/03 - Aula 7 | Não haverá aula devido aos transtornos ocasionados pelas chuvas | ||
13/03 - Aula 8 | Estruturas de armazenamento em massa | [SGG] Cp. 10; [TB] Cp. 5 | Estruturas de Armazenamento | |
6ª | 18/03 - Aula 9 | Sistemas de E/S | [SGG] Cp. 13; [TB] Cp. 5 | Sistemas de E/S |
20/03 - Aula 10 (Prática 2) | Arquivos | Roteiro; Código | ||
7ª | 25/03 - Aula 11 | Processos Parte 1 | [SGG] Cp. 3; [TB] Cp. 2 | Processos |
27/03 - Aula 12 | Processos Parte 2 | [SGG] Cp. 3; [TB] Cp. 2 | Processos | |
8ª | 01/04 - Aula 13 | Prova 1 | ||
03/04 - Aula 14 (Prática 3) | Processos e Sinais | Roteiro; Código | ||
9ª | 08/04 - Feriado Municipal SA | Não haverá aula. Reposição 10/5 | ||
10/04 - Aula 15 | Threads | [SGG] Cp. 4; [TB] Cp. 2 | Threads | |
10ª | 15/04 - Aula 16 | Mutexes/Semáforos/Monitores | [SGG] Cp. 5; [TB] Cp. 2 | Sincronização; Exemplos |
17/04 - Aula 17 (Prática 4) | Sincronização na prática | Roteiro; Código; Exemplos | ||
11ª | 22/04 - Aula 18 | Deadlocks | [SGG] Cp. 7; [TB] Cp. 2 | Deadlocks |
24/04 - Aula 19 | Auxílio à implementação do projeto de programação | |||
12ª | 29/04 - Aula 20 | Gerenciamento de memória | [SGG] Cp. 8; [TB] Cp. 6,3 | Memória Principal |
01/05 - Dia do Trabalho | Não haverá aula. Reposicao 14/5 | |||
13ª | 07/05 - Aula 21 Reposição da aula de Seg. 04/03 - Terça 21h00 S-311-3 | Gerenciamento de Memória + Memória virtual | [SGG] Cp. 8,9; [TB] Cp. 3 | Memória Principal; Memória Virtual |
09/05 - Aula 22 Reposição da aula de Qua. 06/06 - Quinta 19h00 S-311-1 | Memória Virtual + Revisão | [SGG] Cp. 9; [TB] Cp. 3 | Memória Virtual | |
10/05 - Aula 23 Reposição da aula de Seg. 08/04 - Sexta 21h00 S-311-3 | Prova 2 | |||
14ª | 14/05 - Aula 24 Reposição da aula de Qua. 01/05 - Terça 19h00 S-311-1 | Prova Substitutiva |
Critério de avaliação
Honestidade Acadêmica
Entre outros, o código de ética da UFABC estabelece em seu artigo 25 que é eticamente inaceitável que os discentes:
I - fraudem avaliações;
II - fabriquem ou falsifiquem dados;
III - plagiem ou não creditem devidamente autoria;
IV - aceitem autoria de material academico sem participação na produção;
V - vendam ou cedam autoria de material acadêmico próprio a pessoas que não participaram da produção.Muitos ainda têm dúvidas sobre a interpretação das regras definidas pelo Código de Ética da UFABC. Por esta razão, diversos professores elaboraram um documento (disponível aqui) com vários exemplos e esclarecendo a interpretação das regras acima. Abaixo uma versão resumida. Sempre consulte o documento completo ou converse com o seu professor em caso de dúvidas!
- Regra 1 - Você não pode enviar para avaliação um trabalho que não seja de sua própria autoria ou que seja derivado/baseado em soluções elaboradas por outros.
- Regra 2 - Você não pode compartilhar a sua solução com outros alunos nem pedir aos seus colegas que compartilhem as soluções deles com você.
Regra 3 - Nos trabalhos enviados para avaliação você deve indicar eventuais assistências que você tenha recebido.
ATENÇÃO: todos os trabalhos enviados para avaliação poderão ser verificados por um sistema automatizado de detecção de plágio.
Qualquer violação às regras descritas acima implicará:
- Descarte dos conceitos atribuídos a TODAS as tarefas avaliativas regulares de TODOS os envolvidos, causando assim suas reprovações automáticas com conceito F.
- Possível denúncia à Comissão de Transgressões Disciplinares Discentes da Graduação, a qual decidirá sobre a punição adequada à violação que pode resultar em advertência, suspensão ou desligamento, de acordo com os artigos 78-82 do Regimento Geral da UFABC.
- Possível denúncia apresentada à Comissão de Ética da UFABC, de acordo com o artigo 25 do Código de Ética da UFABC.
A avaliação da disciplina será composta por duas notas principais, uma referente à teoria e outra à prática. Considere:
- \(N_F\) é a nota final;
- \(N_{\text{Teo}}\) é a nota da teoria;
- \(N_{\text{Pra}}\) é a nota da prática.
A nota final (\(N_F\)) será determinada pela média harmônica ponderada de \(N_{\text{Teo}}\) e \(N_{\text{Pra}}\) com pesos 3 e 2 respectivamente:
\begin{equation*} N_F = \frac{5}{\frac{3}{\max\{0.1, N_{\text{Teo}}\}} + \frac{2}{\max\{0.1, N_{\text{Pra}}\}}} \end{equation*}O conceito final (\(C_F\)) será obtido de acordo com a equação abaixo:
\begin{equation*} C_F = \begin{cases} \textbf{O} ,& \text{se ausência total exceder 25%}\\ \textbf{F} ,& \text{se } N_F \in [0,0;5,0) \\ \textbf{D} ,& \text{se } N_F \in [5,0;6,0) \\ \textbf{C} ,& \text{se } N_F \in [6,0;7,0) \\ \textbf{B} ,& \text{se } N_F \in [7,0;8,5) \\ \textbf{A} ,& \text{se } N_F \in [8,5;10,0] \\ \end{cases} \end{equation*}O gráfico abaixo mostra a relação entre \(N_{\text{Teo}}\) e \(N_{\text{Pra}}\) e os conceitos:
Avaliação Teoria
A nota da teoria \(N_{\text{Teo}}\) será será formada por duas provas \(P_1\) e \(P_2\). Todas as provas serão efetuadas em sala de aula, sem qualquer tipo de consulta.
Haverá também uma prova subsitutiva \(P_S\) que será aberta a todos os interessados, ainda que eles tenham feito tanto a \(P_1\) quanto a \(P_2\).
Atenção
A nota da \(P_S\) será utilizada obrigatoriamente em substituição à menor nota entre \(P_1\) e \(P_2\) ainda que isto diminua a nota final do aluno!
Assim, a nota de teoria (\(N_{\text{Teo}}\)) será calculada conforme a seguinte fórmula:
\begin{equation*} N_{\text{Teo}} = \begin{cases} \frac{2 \cdot P_S + 3 \cdot P_2}{5} ,& \text{caso tenha feito a } P_S \text{ e } P_1 < P_2 \\ \frac{2 \cdot P_1 + 3 \cdot P_S}{5} ,& \text{caso tenha feito a } P_S \text{ e } P_2 \leq P_1 \\ \frac {2 \cdot P_1 + 3 \cdot P_2}{5} ,& \text{caso contrário} \end{cases} \end{equation*}Avaliação Prática
A avaliação da prática será através de um projeto de implementação de código. A sua nota será dada pela qualidade do código (organização, documentação, …) e pelo número de milestones (definidos no enunciado) alcançados.
Recuperação
Conforme Resolução ConsEPE nº 182 fica assegurado a todos os alunos com \(C_F\) igual a D ou F o direito a fazer uso de mecanismos de recuperação.
A recuperação será feita através de uma prova \(P_R\), sem consulta, e a sua nota será utilizada para compor a o conceito pós-recuperação \(C_R\) conforme as equações abaixo:
\[N_R = \frac{P_R + N_F}{2}\]
Caso 1 \(C_F = D\):
\begin{equation*} C_R = \begin{cases} \textbf{C} ,& \text{se } N_R \geq 6,0 \\ \textbf{D} ,& \text{caso contrário} \end{cases} \end{equation*}Caso 2 \(C_F = F\):
\begin{equation*} C_R = \begin{cases} \textbf{D} ,& \text{se } N_R \geq 5,0 \\ \textbf{F} ,& \text{caso contrário} \end{cases} \end{equation*}Notas
Recursos Online
- R. Arpaci-Dusseau and A. Arpaci-Dusseau. Operating Systems: Three Easy Pieces. Livro gratuito.
- Página da disciplina MC504 Sistemas Operacionais na Unicamp ministrada pela Profª. Islene Calciolari Garcia. Inclui provas antigas, ótimas para estudo. #ficaadica.
- E. Cardoso, M. Magalhães e L. Faina. Apostila Introdução aos Sistemas Operacionais. FEEC - Unicamp.
- A. B. Downey. The Little Book of Semaphores. Livro gratuito.
Bibliografia
Básica
Os principal texto utilizado neste curso será o SGG.
[SGG]
- Abraham Silberschatz, Peter B. Gagne, Greg Gagne.
- EN: Operating System Concepts With Java. 8th Edition.
- PT: Sistemas Operacionais com Java. 8ª Edição.
- Link Biblioteca: http://biblioteca.ufabc.edu.br/index.php?codigo_sophia=106880
- A 7ª Edição mantém um bom nível de compatibilidade e pode ser utilizada caso não haja disponibilidade da versão mais nova da biblioteca: http://biblioteca.ufabc.edu.br/index.php?codigo_sophia=4028
Este livro (SGG) é equivalente ao livro abaixo. A única diferença é a linguagem de programação utilizada nas explicações (Java vs. C):
- Abraham Silberschatz, Peter B. Gagne, Greg Gagne.
- EN: Operating System Concepts. 9th Edition.
- PT: Fundamentos de sistemas operacionais. 9ª Edição.
- Link Biblioteca: http://biblioteca.ufabc.edu.br/index.php?codigo_sophia=105314
- 8ª Edição (com um bom nível de compatibilidade): http://biblioteca.ufabc.edu.br/index.php?codigo_sophia=5756
Complementar
Para nos aprofundarmos em alguns dos assuntos dados em aula, ocasionalmente faremos referências aos seguintes livros:
[TB]
- Andrew S. Tanenbaum, Herbert Bos
- PT: Sistemas operacionais modernos. 4ª Edição.
- Link Biblioteca: http://biblioteca.ufabc.edu.br/index.php?codigo_sophia=103184
- EN: Modern Operating Systems.
- Infelizmente a versão mais nova disponível na biblioteca é a 3ª edição: http://biblioteca.ufabc.edu.br/index.php?codigo_sophia=3624
- PT: Sistemas operacionais modernos. 4ª Edição.
[BC]
- Daniel P. Bovet, Marco Cesati. Understanding the Linux Kernel. 3rd Edition.
- Link biblioteca: http://biblioteca.ufabc.edu.br/index.php?codigo_sophia=3586
Última atualização: 2019-06-30 21:32
Emacs 26.2 (Org-mode 9.2.4)