Vous êtes sur la page 1sur 6

6,828: Aprender fazendo

6,828 ensina os fundamentos de sistemas operacionais de engenharia. Voc vai


estudar, em detalhe, a memria virtual, kernel e modo de usurio, chamadas de
sistema, threads, trocas de contexto, as interrupes, a comunicao entre
processos, coordenao de atividades simultneas, ea interface entre software e
hardware. Mais importante, voc vai estudar as interaes entre esses conceitos, e
como gerenciar a complexidade introduzida pelas interaes.
Para dominar os conceitos, 6,828 est organizado em trs partes: palestras, leituras
e um grande laboratrio. As palestras e leituras de familiariz-lo com os principais
conceitos. As foras de laboratrio, voc entender os conceitos em um nvel
profundo, uma vez que voc vai construir um sistema operacional a partir do
zero. Depois que o laboratrio, voc vai apreciar o significado dos objetivos do
projeto tais "reduzindo a complexidade" e "integridade conceitual".
As palestras so organizadas em dois blocos principais. O primeiro bloco apresenta
um sistema operacional, xv6 (x86 verso 6) , que uma re-implementao do Unix
Verso 6, que foi desenvolvido na dcada de 1970. Em cada palestra vamos tomar
uma parte do xv6 e estudar seu cdigo fonte; tarefas de casa vai ajudar voc a se
preparar para as palestras. No final do primeiro bloco (cerca de metade do termo),
voc vai entender o cdigo fonte para um sistema operacional bem projetado para
um PC baseado em Intel, que ajud-lo a construir o seu prprio sistema operacional.
O segundo bloco de palestras aborda os conceitos de sistemas operacionais
importantes inventados depois Unix v6. Vamos estudar os conceitos mais modernos
atravs da leitura de trabalhos de pesquisa e discuti-las em palestra. Voc tambm
vai implementar alguns desses conceitos mais recentes em seu sistema operacional.
Voc pode se perguntar por que estamos estudando um sistema operacional que se
assemelha Unix V6 em vez da verso mais recente e de Linux, Windows, ou BSD
Unix. xv6 grande o suficiente para ilustrar as idias de design e implementao
bsicos em sistemas operacionais. Por outro lado, xv6 muito menor do que
qualquer produo moderna S / O, e, correspondentemente, mais fceis de
entender. xv6 tem uma estrutura semelhante de muitos sistemas operacionais
modernos; uma vez que voc j explorou xv6 voc vai encontrar muita coisa que
familiar dentro kernels como o Linux.
O laboratrio o lugar onde a borracha encontra a estrada. No laboratrio, voc vai
internalizar os detalhes dos conceitos e suas interaes. Por exemplo, apesar de ter
visto a memria virtual em 6,004, 6,033, 6,828 e novamente em palestras, em
breve voc vai descobrir, durante os laboratrios, que voc realmente no entendo a
memria virtual e como ele interage com outros conceitos.
O laboratrio dividido em seis partes principais que dependem uns dos outros,
culminando em um sistema operacional primitivo sobre o qual voc pode executar
comandos simples atravs de sua prpria concha. Reservamo-nos a ltima palestra
para voc fazer uma demonstrao do sistema operacional para o resto da classe.

O sistema operacional que voc vai construir, chamado JOS , ter funes Unix-like
(por exemplo, fork, exec), mas implementada em um estilo exokernel (ou seja, as
funes do Unix so implementadas principalmente como biblioteca em nvel de
usurio em vez de built-in para o kernel).As principais partes do sistema operacional
JOS so:
1. Inicializao
2. Gerenciamento de memria
3. Ambientes de usurio
4. Multitarefa preemptiva
5. Sistema de arquivos, spawn, e shell
6. Driver de rede
7. Projeto Open-ended

Vamos fornecer cdigo esqueleto para peas de JOS, mas voc vai ter que fazer todo
o trabalho duro. Voc vai ter a liberdade de design para os detalhes das primeiras
atribuies e liberdade ao longo de todo o projeto nos ltimos atribuies. Voc vai
descobrir que xv6 ajuda a compreender muitos dos objetivos que voc est
tentando alcanar em JOS, mas que JOS ocupa um ponto muito diferente no espao
de design e implementao de xv6.
Os primeiros 6 atribuies so realizadas individualmente. A ltima atribuio uma
atribuio de equipe.
Ir desenvolver o seu sistema operacional JOS para um computador padro de 86 x
pessoal, o mesmo usado para xv6. Para simplificar o desenvolvimento, vamos
utilizar um simulador de mquina completa (QEMU) na classe de desenvolvimento e
depurao. Este simulador real o suficiente, no entanto, que voc ser capaz de
arrancar o seu prprio sistema operacional em hardware fsico, se desejar.
No final do laboratrio, voc ser capaz de encontrar o seu caminho em torno do
cdigo fonte da maioria dos sistemas operacionais, e mais geralmente, estar
confortvel com o software do sistema.Voc vai entender muitos sistemas
operacionais conceitos em detalhes e ser capaz de us-los em outros
ambientes. Voc tambm vai entender o processador x86 e da linguagem de
programao C tambm.

Agradecimentos
Teve 6,828 no existiria hoje se no fosse por um maravilhoso conjunto de TAs
passados (Josh Cates, Austin Clements, Russ Cox, Bryan Ford, Max Krohn, e Emil
SIT). Eles fizeram esta classe uma realidade. Coletivamente ns dedicamos 6,828
memria de Josh Cates; Esperamos que muitos alunos vo ser inspirado pelo

entusiasmo de Josh para sistemas operacionais, e citaram o sistema


operacional JOS . Agradecemos tambm aos alunos e pessoal docente de Harvard,
MIT (incluindo SIPB), UCLA, e NYU para suas muitas contribuies.

Perguntas
ou
comentrios
staff@pdos.csail.mit.edu .

sobre

6,828? Enviar

e-mail

para

os

PAs

em 6.828-

Top // 6,828 casa // ltima actualizao sexta-feira, 22-Aug-2014 16:21:39 EDT

Informaes Gerais
A inscrio no Catlogo // Quem deve tomar
6,828 // Comunicao // Grading // Labs //revises de cdigo // livros de
texto // Homework // colaborao // As reunies de classe //Staff // horrio
de expediente TA

MIT descrio do catlogo


Prereq .: C, 6,033, 6,005, 6,004 e
G (H)
3-6-3
6 EDP
6,828 estudos idias de design e implementao fundamentais na engenharia de
sistemas operacionais. Palestras so baseadas em um estudo do UNIX e trabalhos
de pesquisa. Os tpicos incluem a memria virtual, threads, trocas de contexto,
kernels, as interrupes, chamadas de sistema, a comunicao entre processos,
coordenao e a interao entre software e hardware.Trabalhos laboratoriais
individuais envolvem a implementao de um sistema operacional pequeno em C,
com um pouco de assembly x86.
Os alunos podem usar 6,828 para cumprir as exigncias de concentrao de
engenharia para sistemas de computadores.

Quem deve tomar 6,828?


6,828 destinado principalmente para idosos e estudantes M.Eng que querem
aprender sobre os sistemas operacionais em detalhe. Doutorandos tambm so bem
vindos, mas note que 6,828 noum assunto "core" para o TQE.

Comunicao
Vamos distribuir atribuies no web site do curso , e fazer todos os anncios atravs
de piazza. O web site do curso tem a programao para o termo.

Poltica Grading
Graus de 6,828 ir basear-se nos resultados de dois testes (um durante a durao e
uma fase final de semana) (30%); laboratrios de 1 a 5 (40%); atribuies casatrabalho, revises de cdigo, e participao nas aulas (em conjunto 15%); e
contestar problemas laboratrio e laboratrio projeto final (em conjunto 15%). Voc
deve enviar todos os laboratrios, a fim de passar a classe.

Labs
Para ligar-nos laboratrios, execute fazer handin em seu diretrio de laboratrio. O
handin deve ser recebido por 11:59 no dia em que o laboratrio devido. Voc pode
transformar em quantas vezes voc quiser. Vamos grau todas as suas apresentaes
e e-mail o resultado para voc em poucos minutos. Sua nota final e horas de atraso
(ver abaixo) baseiam-se apenas a ltima apresentao que voc fez para um
laboratrio.
Voc tem um total de 72 horas de atraso para usar ao longo do semestre, o que
voc pode dividir-se entre as tarefas de laboratrio no entanto que voc gosta; voc
no tem que pedir ou diga-nos.Cada dia de atraso superior a 72 horas tero uma
penalidade carta grau completo sobre a componente de exerccio de laboratrio de
sua nota geral. Estas horas tardias so destinados para casos em que voc fica para
trs devido a doena, entrevistas de emprego, do MIT eventos esportivos, prazos de
outras classes, etc. Para extenses sob circunstncias atenuantes (por exemplo,
voc est doente por uma semana), que exigem uma carta de um dos decanos do
estudante.

As revises de cdigo
Voc tambm ser obrigado a rever o cdigo de laboratrio de outros estudantes,
uma prtica padro utilizada para melhorar a qualidade do cdigo. Estes
comentrios sero distribudos aleatoriamente 36 horas aps o prazo de laboratrio
e ser devido uma semana aps a data-limite de laboratrio. Assim que a avaliao
for apresentado, o autor do cdigo receber uma cpia. O processo de reviso
duplo cego: tanto o autor do cdigo eo revisor so annimos. Comentrios devem
ser alguns pargrafos que sugerem trs possveis melhorias e identificar uma coisa

que o revisor aprendeu com cdigo de outro aluno. Como o trabalho de casa, vamos
verificar-off que voc colocar esforo razovel para eles.

Dever De Casa
Os trabalhos de casa so destinados a fazer voc pensar sobre o tema de palestras e
/ ou sujar as mos. Ns no fazemos grau suas respostas para correo, mas
apenas verificar-off que voc colocar esforo razovel para eles.

Livros didticos
6,828 baseia-se nos dois livros seguintes:

A Unix-like sistema simples, operacional ensino por R. Cox, F. Kaashoek, e R.


Morris.

A linguagem de programao C (segunda edio) por Kernighan e


Ritchie. Prentice Hall, Inc., 1988. ISBN 0-13-110362-8 de 1998.

Alm disso, a classe conta com toneladas de material de referncia sobre instrues
x86, especificaes de hardware de PC, etc, tudo que o material est disponvel
na pgina de referncia .

Colaborao
Voc pode no colaborar em testes. Voc est convidado para discutir o trabalho de
casa e laboratrios com outros alunos, mas todo o seu trabalho escrito e cdigo
deve ser o seu prprio e deve reconhecer cuidadosamente todas as contribuies de
idias por outros, seja por colegas de classe ou de fontes que voc leu. Ns
encorajamos interaes na Piazza.
No publique o seu laboratrio ou de casa solues em sites de acesso pblico da
web (como o GitHub) ou espaos de arquivo (como a sua pasta Athena Pblica).

As reunies de classe
As palestras sero realizadas na segunda-feira e quarta-feira 13:00 - 14:30 em 35225.

Pessoal

Professor
Frans Kaashoek
Assistentes de ensino
Cody Cutler
David Lawrence
Dan Weber
Lista Staff mailing
6.828-staff@pdos.csail.mit.edu , mas ns preferimos que voc usa Piazza sempre
que possvel.

TA horrio de expediente
Cody: sextas-feiras 10:30 - 12:30 no salo de 32 G9.
David: segundas-feiras 15:00 - 17:30 no salo de 32 G9.
Dan: teras-feiras 12:30 - trs horas no 32 G9 lounge. Compromissos com os ATs
fora das horas de expediente listados pode ser configurado via e-mail.

Perguntas ou comentrios sobre 6,828? Enviar e-mail para os PAs em 6.828staff@pdos.csail.mit.edu .

Top // 6,828 casa // ltima actualizao sexta-feira, 05-Sep-2014 09:12:08 EDT

Vous aimerez peut-être aussi