UFABC - MCTA026-13 - Sistemas Operacionais
Primeiro Quadrimestre de 2019

Índice

Permalink

Turmas: NA1MCTA026-13SA e NA2MCTA026-13SA
Professores: Emilio Francesquini e Fernando Teubl Ferreira
E-mail: e.francesquini@ufabc.edu.br


Avisos

  • [2019-06-30 dom] Notas finais (incluíndo Rec.) divulgadas.

↑ novidades

  • [2019-06-06 qui] Sala da prova de recuperação: A-113-0
  • [2019-06-04 ter] A prova de recuperação será no dia 10/06/2019 das 19:00 às 21:00. Sala A-113-0
  • [2019-05-19 dom] Notas finais disponíveis! A data da Rec. será divulgada aqui em breve. Fiquem atentos!
  • [2019-05-16 qui] Notas finais do projeto online. Atenção: Aqueles que fizeram a sub e querem que a prova seja corrigida têm até domingo para me avisar por e-mail.
  • [2019-05-14 ter] As notas finais da P2 já estão disponíveis: Notas
  • [2019-05-02 qui] Aula de laboratório extra para auxílio à implementação do projeto: 03/05 - 19h00 às 21h00 Sala L403-2.
  • [2019-05-01 qua] Listas de exercícios 10, 11 e 12 disponíveis.
  • [2019-04-24 qua] Listas de exercício 8 e 9 disponíveis.
  • [2019-04-23 ter] 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.
  • [2019-04-23 ter] Prazo do projeto de programação adiado para 05/05/2019
  • [2019-04-22 seg] Notas da P1 disponíveis.
  • [2019-04-16 ter] Excepcionalmente o atendimento hoje será feito online. Você poderá me encontrar no Google Hangouts no seguinte endereço: prof.emilio.ufabc@gmail.com
  • [2019-04-05 sex] 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 Exercício 06 até o início da aula de 10/04.
  • [2019-03-28 qui] Listas de exercício 5 a 7 disponíveis.
  • [2019-03-28 qui] Colocada na na págia a lista de capítulos/seções que caem na prova 1.
  • [2019-03-19 ter] Link para o sistema de issues do projeto de programação adicionado. Ache sua equipe!
  • [2019-03-18 seg] Listas de Exercício 2, 3 e 4 disponíveis.
  • [2019-03-14 qui] Listas de Exercício 0 e 1 no ar.
  • [2019-03-12 ter] Enunciado do projeto BrisaFS no ar!
  • [2019-03-11 seg] Atenção: Devido aos transtornos causados pelas chuvas a aula de hoje foi cancelada. Retomamos as atividades dia 13/03/2019.
  • [2019-01-08 ter] 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
  • Online

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/201905/05/2019

Listas de Exercícios

Projeto de Programação


Aulas

Sem. Data Assunto Referências Material
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
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
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
04/03 - Carnaval Não haverá aula. Reposição 7/5    
  06/03 - Carnaval Não haverá aula. Reposição 9/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
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
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
01/04 - Aula 13 Prova 1    
  03/04 - Aula 14 (Prática 3) Processos e Sinais   Roteiro; Código
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

warning.png 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:

Sorry, your browser does not support SVG.

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\).

important.png 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


Bibliografia

Básica

Os principal texto utilizado neste curso será o SGG.

div.png

sgg.jpeg sgg_pt.jpeg [SGG]

Este livro (SGG) é equivalente ao livro abaixo. A única diferença é a linguagem de programação utilizada nas explicações (Java vs. C):

sgg2.jpeg sgg2_pt.jpeg

Complementar

Para nos aprofundarmos em alguns dos assuntos dados em aula, ocasionalmente faremos referências aos seguintes livros:

div.png

tb.jpeg tb_pt.jpeg [TB]

div.png

bc.jpeg [BC]


Última atualização: 2019-06-30 21:32
Emacs 26.2 (Org-mode 9.2.4)

Autor: Emilio Francesquini

Created: 2019-06-30 dom 21:32