Repositório contendo notas de aulas da matéria de Fundamentos de Sistemas Computacionais, ofertada pelo Departamento de Ciência da Computação da Universidade de Brasília e ministrada pela Profa. Dra. Alba Melo.
Todo o conteúdo aqui é baseado nos slides providos pela professora, em sua página pessoal e nas bibliografias indicadas nos slides, listadas na seção de referências bibliográficas deste documento.
Este repositório foi iniciado no 2º semestre de 2017.
- Centralizar todo o conteúdo da matéria em um só lugar;
- Prover desambiguações e extensões acerca de conceitos mal explicados nos slides disponibilizados;
- Prover definições canônicas para os conceitos da matéria;
- Prover um resumo mais eficaz para as provas com consulta da matéria.
Todo conteúdo está escrito em Latex, dividos em duas partes referentes às duas frentes da matéria: Organização e Arquitetura de Computadores e Sistemas Operacionais.
Você deve ter instaladas no seu ambiente as seguinte depedências do Latex:
geometry
hyperref
babel
inputenc
subcaption
mdframed
enumitem
graphicx
parskip
amsmath
float
Para gerar todos os documentos, basta acessar a pasta do projeto e rodar o comando:
make
Para gerar somente a parte de Organização e Arquitetura de Computadores, rode:
make oac
Para gerar somente a parte de Sistemas Operacionais, rode:
make so
Para gerar os documentos em Windows, tome vergonha na cara, instale um Linux e rode os comandos acima.
É extramamente desejável que alunos da matéria e outros interessados venham a contribuir com este repositório. Definitivamente, não oculte conteúdo em um repositório privado ou na sua máquina. Centralize tudo aqui, compartilhe com todos. Não seja egoísta.
Para você contribuir, dê um fork neste repositório, realize as alterações desejadas, commite para o seu repositório e abra um pull request. Explique brevemente o motivo e se tudo estiver de acordo, eu dou um merge. Se a sua contribuição for muito contraditória, ela será debatida aqui no fórum do Github mesmo.
Você também pode contribuir fazendo requisições diversas:
- Inserção de novos conceitos introduzidos na disciplina ao longo dos semestres;
- Melhorar explicações;
- Destrinchamento de um dado conceito;
- Sugestões na formatação dos textos e documento em geral;
- Imagens mais intuitivas, legíveis e didáticas;
- Exercícios de fixação de conteúdo que não constam nos anexos dos documento;
- Qualquer coisa que você achar útil.
Para isto, basta abrir uma issue no repositório. Da mesma forma, você é encorajado e fechar issues já criadas, criando pull requests que resolvam as mesmas.
Qualquer contribuição é válida e, de quebra, você ganha seu nome na lista de contribuições do repositório.
É extremamente importante que sejam reunidos todo e qualquer exercício sobre as matérias deste curso aqui. Eles são a base para fazer um bom estudo antes da prova, uma vez que várias questões tem sacadas capiciosas.
Mandem todo e qualquer exercício, de preferência resolvido, via pull request.
Apesar de achar a Alba uma boa professora e o conteúdo apresentado decente, eu não aconselho a usar este material como forma de aprofundamento nos conteúdos aqui presentes, dado que isto é um resumo de slides de uma professora complementados com a literatura da época.
Se você quer se aprofundar nesta área, use os livros e papers clássicos e do estado da arte.
- D. A. Patterson & J. L. Hennessy Computer Organization and Design: The Hardware/Software Interface (5th Edition)
- J. L. Hennessy & D. A. Patterson Computer Organization and Design: A Quantitative Approach (5th Edition)
- W. Stallings Computer Organization and Archteture (5th Edition)
- D. Culler Parallel Computer Archteture
- A. S. Tanenbaum Modern Operating Systems (3rd Edition)
- A. Silberchatz, P. B. Galvin & G. Gagne Operating System Concepts (9th Edition)