15
1 Page 1 Sistemas Operativos – DEI - IST Sistemas Operativos 2015 / 2016 [email protected] Sistemas Operativos – DEI - IST Corpo Docente Tagus Paulo Ferreira (responsável, teóricas) José Costa Francisco Raposo Alameda: João Barreto (responsável, teóricas) José Costa Renato Nunes Miguel Coimbra

Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

  • Upload
    doduong

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

1

Page 1

Sistemas Operativos – DEI - IST

Sistemas Operativos

2015 / 2016

[email protected]

Sistemas Operativos – DEI - IST

Corpo Docente

• Tagus

– Paulo Ferreira (responsável, teóricas)

– José Costa

– Francisco Raposo

• Alameda:

– João Barreto (responsável, teóricas)

– José Costa

– Renato Nunes

– Miguel Coimbra

Page 2: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

2

Page 2

Sistemas Operativos – DEI - IST

Objectivos (1)

• Conhecer os conceitos fundamentais subjacentes aos sistemas operativos, com ênfase nos seus mecanismos e algoritmos, assim como a estrutura interna dos sistemas operativos mais relevantes.

Sistemas Operativos – DEI - IST

Page 3: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

3

Page 3

Sistemas Operativos – DEI - IST

“Porquê SO, se eu provavelmente nunca

trabalharei dentro de um sistema operativo?”

Sistemas Operativos – DEI - IST

Objectivos (2)

Programar, ao nível sistema, usando todas as funcionalidades dos sistemas operativos tendo em conta os modelos de programação sequencial e concorrente.

Page 4: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

4

Page 4

Sistemas Operativos – DEI - IST

Exemplo: browser e servidor web

• De que formas é que o sistema operativo ajuda a programas estas aplicações?

Sistemas Operativos – DEI - IST

Ainda não ficaram convencidos?

Page 5: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

5

Page 5

Sistemas Operativos – DEI - IST

Alguns exemplos de outros alunos que fizeram a cadeira de

SO

Sistemas Operativos – DEI - IST

O que SO faz a um aluno de 2º ano...

Page 6: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

6

Page 6

Sistemas Operativos – DEI - IST

O que SO fez a outro aluno de 2º ano...

Sistemas Operativos – DEI - IST

Ok, como é que isto vai funcionar?

Page 7: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

7

Page 7

Sistemas Operativos – DEI - IST

Bibliografia

• Sistemas Operativos, Editora FCA – 2ª Edição

• Alternativas a comprar: biblioteca, pedir emprestado a colegas

• 1ª Edição também serve – Atenção que tem pequenas gralhas

Sistemas Operativos – DEI - IST

Método de Avaliação (1)

• A avaliação da disciplina tem 2 componentes:

• teórica (50%)

• projecto (50%).

• A nota mínima para aprovação à cadeira é de 10 (dez) valores.

Page 8: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

8

Page 8

Sistemas Operativos – DEI - IST

Método de Avaliação (2)

• Componente Teórica – 3 testes ou 1 exame – testes = 15% + 15% + 20%, ou exame = 50% – Nota mínima de 9,0 valores

• Quer o exame quer a média das notas dos três testes

– Quem entrega o 1º teste opta pela realização de testes e não poderá realizar o 1º exame

– Data do 3º teste coincide com a data do 1º exame. – Data do 2º exame

• qualquer aluno pode realizar esse exame para obter a nota mínima ou para melhorar a sua nota actual

• Os alunos que tiverem optado pela realização de testes poderão repescar um dos testes, em vez de realizarem o exame

Sistemas Operativos – DEI - IST

Método de Avaliação (3)

• Componente Projecto – Grupos de 3 alunos

– Nota mínima de 10 valores

– Feito em 5 fases fases ao longo do semestre • F1…F4: peso de 17.5% cada uma

• F5: peso de 30.0%

• Será dado o código da solução no final de cada fase

• Inscrições:

– Abrem hoje às 17h30

– Grupos incompletos ou alunos sem grupo:

• Sessão de speed-dating na 5ª-feira 14h30 no QA 02.3 (durante o intervalo no final da aula de SO, não se atrasem!)

Page 9: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

9

Page 9

Sistemas Operativos – DEI - IST

Método de Avaliação (4) • Componente Projecto

– Avaliação do projecto: • Avaliação intermédia feita após cada uma das fases

– Durante a aula de laboratório

• No final do semestre, discussão final • Em todas as avaliações, terão que estar presentes todos os elementos

do grupo

– Nota é individual • Qualidade do programa • Desempenho individual na discussão do projecto • Participação nas aulas práticas • Acompanhamento do progresso dos projectos feito pelos docentes

das aulas práticas

– Avaliações intermédias são indicativas! • Avaliação final, pode confirmar as notas intermédias, baixar

ou mesmo chumbar

Sistemas Operativos – DEI - IST

Método de Avaliação (5)

• Nota Final: • NF = 0.5E + 0.5P ou NF = 0.25T1 + 0.25 T2 + 0.5 P • P = 0.175 (P1 + P2 + P3 + P4) + 0.3 P5

• Aproveitamento de notas anteriores • a nota do Projecto do ano passado pode ser reaproveitada este ano.

• Época Especial

• Componente teórica: Exame (peso de 50% na nota final); • Componente Laboratorial: projecto feito nos laboratórios ao longo do

semestre (peso de 50% na nota final); pode ser usada a nota do projecto feito no ano lectivo anterior.

• Apenas a discussão poderá ser realizada nesta época.

• Trabalhadores-estudante

• Avaliados de forma análoga aos restantes

Page 10: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

10

Page 10

Sistemas Operativos – DEI - IST

Datas • Testes e Exames

– 1º Teste: 24 de Outubro

– 2º Teste: 21 de Novembro

– 3º Teste/1º Exame: 6 de Janeiro

– 2º Exame/Repescagem: 27 de Janeiro

• Projecto feito em 5 fases: – Exercício 1: 28 Set - 9 Out (23h59)

– Exercício 2: 12 - 23 Out

– Exercício 3: 26 - 30 Out

– Exercício 4: 2 - 13 Nov

– Exercício 5: 16 - 4 Dez

– Avaliações intermédias: em algumas aulas de lab (a anunciar em breve)

– Visualização e discussão final: 7 a 18 de Dezembro

Sistemas Operativos – DEI - IST

Programa

• Evolução dos sistemas operativos.

• Concorrência e gestão de processos.

• O núcleo de um sistema multiprogramado.

• Despacho e escalonamento.

• Sincronização entre processos.

• Semáforos, algoritmos de sincronização.

• Sistema de ficheiros.

• Comunicação entre processos.

• Gestão de memória.

• Memória virtual.

• Algoritmo de gestão de memória do sistema operativo.

• Entradas/saídas.

Page 11: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

11

Page 11

Sistemas Operativos – DEI - IST

O que se passa na LEIC-A com SO?

Em cada 10:

• 1 perde-se no projeto

• 2 perdem-se na teórica

Sistemas Operativos – DEI - IST

Esforço ao Longo do Semestre

LEIC-A 2013/14

Laboratórios + 2h30 de trabalho

autónomo por semana

Aulas Teóricas + 1h de estudo autónomo após

cada teórica

Page 12: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

12

Page 12

Sistemas Operativos – DEI - IST

Depende de vocês!

– Apareçam nas aulas (teóricas+laboratórios)

• Os alunos de SO que assistem regularmente às teóricas têm em média 3 valores a mais no teste/exame

– Antes/Após cada teórica, rever a aula e preparar a próxima

• Livro

• Sugestões de trabalho dadas na aula/site

• Todas as semanas, começando já na nesta !!!!

– Reservem tempo para o projecto mal saia o enunciado

• Não deixem o projecto para os últimos dias

– Planeiem o semestre

Sistemas Operativos – DEI - IST

O que podem esperar das teóricas

• Teóricas focarão parte da matéria

– Restante matéria serão vocês que descobrirão fora da aula

• Isso deixa-nos tempo para coisas que vocês não têm noutro lado:

– Aprendizagem mais ativa (discussões, mini-trabalhos durante a teórica)

– Resolução de exercícios de exame

– Casos de estudo mais interessantes

• Teóricas muito próximas dos laboratórios

– Fundamentais para resolverem o projeto

Page 13: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

13

Page 13

Sistemas Operativos – DEI - IST

Atenção

• O projecto exige muito bom domínio de C

– Ter passado a IAED não chega

– É preciso dominar a 100%:

• a programação em C

• o ambiente Unix/Linux

• Rever os slides de C avançado de IAED • http://tinyurl.com/EsteAnoEQueVaiSer1

• http://tinyurl.com/EsteAnoEQueVaiSer2

• http://tinyurl.com/EsteAnoEQueVaiSer3

• Instalar Linux na vossa máquina

– Pode ser em vmware ou virtual box

Sistemas Operativos – DEI - IST

Se não responderam certo a todas as questões, então precisam rever a

matéria de IAED!

• Consultar slides no site de IAED.

• Tirar dúvidas nos horários de dúvidas de SO.

Page 14: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

14

Page 14

Sistemas Operativos – DEI - IST

Chamadas a Funções Sistema • Usar comando man para documentação sobre cada função • Exemplo: man pipe pipe(2) - Linux man page

Name

pipe - create pipe

Synopsis

#include <unistd.h>

int pipe(int filedes[2]);

Description

pipe() creates a pair of file descriptors, pointing to a pipe inode, and places them in the array pointed to by filedes. filedes[0] is for reading, filedes[1] is for writing.

Return Value

On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

Errors

EFAULT filedes is not valid. EMFILE Too many file descriptors are in use by the process. ENFILE The system limit on the total number of open files has been reached.

Necessário ter estes #include no nosso programa

Assegurar que os tipos de parâmetros são os mesmos

no programa chamador

Atenção a todos os valores de retorno possíveis

No caso de erro, algumas funções indicam mais

detalhe no inteiro errno

Algumas funções precisam também de opções adicionais de compilação/linkagem (Essas situações são indicadas também na man page.)

Sistemas Operativos – DEI - IST

GDB is your best

friend !

Page 15: Sistemas Operativos 2006 / 2007 - fenix.tecnico.ulisboa.pt · •Rever os slides de C avançado de IAED ... •Instalar Linux na vossa máquina –Pode ser em vmware ou virtual box

15

Page 15

Sistemas Operativos – DEI - IST

Para a próxima aula

• Ver “Linux: A Short Documentary” (youtube)

• Quais os 5 aspetos que mais valorizam mais quando escolhem um sistema operativo?

• Quando programavam em IAED, que ajuda do SO aproveitaram?

• Formar grupo e inscrever em turno

• Arranjar um livro de SO

• Instalar Linux (ou outro) na vossa máquina