Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
socm:start [2021/04/09 10:21] – [Sobre livros abertos] mazierosocm:start [2022/04/29 09:25] (atual) maziero
Linha 1: Linha 1:
 +====== Sistemas Operacionais: Conceitos e Mecanismos ======
 +
 +/* Entrada velha, que apaguei por erro
 +| **Referência**: | [[https://www.researchgate.net/publication/332233385_Sistemas_Operacionais_Conceitos_e_Mecanismos|MAZIERO, C. Sistemas Operacionais: Conceitos e Mecanismos. Editora UFPR, 2019. 456 p. ISBN 978-85-7335-340-2]]. |
 +*/
 +
 +| **Referência**: | [[https://www.researchgate.net/publication/343921399_Sistemas_Operacionais_Conceitos_e_Mecanismos|MAZIERO, C. Sistemas Operacionais: Conceitos e Mecanismos. Editora da UFPR, 2019. 456 p. ISBN 978-85-7335-340-2]]. |
 +
 +
 +===== Apresentação =====
 +
 +Os sistemas operacionais são elementos fundamentais para o funcionamento de praticamente qualquer sistema de computação, dos minúsculos sistemas embarcados e telefones celulares aos gigantescos centros de processamento de dados das grandes empresas. Apesar da imensa diversidade de sistemas operacionais existentes, eles tentam resolvem problemas de mesma natureza e seguem basicamente os mesmos princípios.  
 +
 +Conhecer Sistemas Operacionais a fundo não é algo reservado a hackers, mas importante para todo profissional de computação, pois os mecanismos implementados pelo sistema operacional afetam diretamente o comportamento e o desempenho das aplicações. Além disso, o sistema operacional é uma peça chave na configuração de serviços de rede e na segurança do sistema. 
 +
 +Existem muitos livros de sistemas operacionais disponíveis no mercado, quase todos excelentes, escritos por profissionais reconhecidos mundialmente. Entretanto, bons livros de Sistemas Operacionais podem custar centenas de reais, o que os torna inacessíveis a uma parcela significativa da população. Este livro seria apenas mais uma opção nas livrarias, não fosse por um pequeno detalhe: foi concebido como um **Livro Aberto**, desde seu início. Um livro aberto (do inglês //Open Book//) é um livro amplamente disponível na Internet em formato digital, sem custo.
 +
 +Este livro é o resultado de vários anos de trabalho como professor da disciplina de Sistemas Operacionais na UFPR, UTFPR e PUCPR. Embora eu o tenha redigido sozinho, ele nunca teria se tornado uma realidade sem a ajuda e o apoio de muitas pessoas. A todas elas, muito obrigado!
 +
 +===== Conteúdo =====
 +
 +| {{http://creativecommons.org/images/public/somerights20.png }} Este livro está disponível sob a licença [[http://creativecommons.org/licenses/by-nc-sa/3.0/deed.pt_BR|Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported]]. Em resumo, você deve creditar a obra da forma especificada pelo autor ou licenciante (mas não de maneira que sugira que estes concedem qualquer aval a você ou ao seu uso da obra). **Você não pode usar esta obra para fins comerciais**. Se você alterar, transformar ou criar com base nesta obra, você poderá distribuir a obra resultante apenas sob a mesma licença, ou sob uma licença similar à presente. |
 +
 +Livro completo:
 +
 +  * {{socm-livro.pdf|Em formato A4}} (também disponível no [[https://www.researchgate.net/publication/343921399_Sistemas_Operacionais_Conceitos_e_Mecanismos|ResearchGate]])
 +  * {{socm-livro-a5.pdf|Em formato A5}} (com margens menores, para e-readers, tablets, etc)
 +  * [[Errata|Histórico e errata]]
 +  * [[socm-velho:start|Versão antiga deste livro]]
 +
 +Capítulos individuais e material complementar:
 +
 +^ Capítulo ^  texto  ^  slides  ^  vídeo  ^
 +| Páginas iniciais, sumário | {{socm-00.pdf}} | ||
 +^ Parte I: Introdução ^^^^
 +| 1: Conceitos básicos | {{socm-01.pdf}} | {{socm-slides-01.pdf}} | {{socm-video-01.mkv}} |
 +| 2: Estrutura de um SO | {{socm-02.pdf}} | {{socm-slides-02.pdf}} | {{socm-video-02.mkv}} |
 +| 3: Arquiteturas de SOs | {{socm-03.pdf}} | {{socm-slides-03.pdf}} | {{socm-video-03.mkv}} |
 +^ Parte II: Gestão de tarefas ^^^^
 +| 4: O conceito de tarefa | {{socm-04.pdf}} | {{socm-slides-04.pdf}} | {{socm-video-04.mkv}} |
 +| 5: Implementação de tarefas | {{socm-05.pdf}} | {{socm-slides-05.pdf}} | {{socm-video-05.mkv}} |
 +| 6: Escalonamento de tarefas | {{socm-06.pdf}} | {{socm-slides-06.pdf}} | {{socm-video-06.mkv}} |
 +| 7: Tópicos em gestão de tarefas | {{socm-07.pdf}} | {{socm-slides-07.pdf}} | {{socm-video-07.mkv}} |
 +^ Parte III: Interação entre tarefas ^^^^
 +| 8: Comunicação entre tarefas | {{socm-08.pdf}} | {{socm-slides-08.pdf}} | {{socm-video-08.mkv}} |
 +| 9: Mecanismos de comunicação | {{socm-09.pdf}} | {{socm-slides-09.pdf}} | {{socm-video-09.mkv}} |
 +| 10: Coordenação entre tarefas | {{socm-10.pdf}} | {{socm-slides-10.pdf}} | {{socm-video-10.mkv}} |
 +| 11: Mecanismos de coordenação | {{socm-11.pdf}} | {{socm-slides-11.pdf}} | {{socm-video-11.mkv}} |
 +| 12: Problemas clássicos | {{socm-12.pdf}} | {{socm-slides-12.pdf}} | {{socm-video-12.mkv}} |
 +| 13: Impasses | {{socm-13.pdf}} | {{socm-slides-13.pdf}} | {{socm-video-13.mkv}} |
 +^ Parte IV: Gestão da memória ^^^^
 +| 14: Hardware de memória | {{socm-14.pdf}} | {{socm-slides-14.pdf}} | {{socm-video-14.mkv}} |
 +| 15: Uso da memória | {{socm-15.pdf}} | {{socm-slides-15.pdf}} | {{socm-video-15.mkv}} |
 +| 16: Alocação de memória | {{socm-16.pdf}} | {{socm-slides-16.pdf}} | {{socm-video-16.mkv}} |
 +| 17: Paginação em disco | {{socm-17.pdf}} | {{socm-slides-17.pdf}} | {{socm-video-17.mkv}} |
 +| 18: Tópicos em gestão de memória | {{socm-18.pdf}} | {{socm-slides-18.pdf}} | {{socm-video-18.mkv}} |
 +^ Parte V: Gestão de entrada/saída ^^^^
 +| 19: Hardware de entrada/saída | {{socm-19.pdf}} | {{socm-slides-19.pdf}} | {{socm-video-19.mkv}} |
 +| 20: Software de entrada/saída | {{socm-20.pdf}} | {{socm-slides-20.pdf}} | {{socm-video-20.mkv}} |
 +| 21: Discos rígidos | {{socm-21.pdf}} | {{socm-slides-21.pdf}} | {{socm-video-21.mkv}} |
 +^ Parte VI: Gestão de arquivos ^^^^
 +| 22: O conceito de arquivo | {{socm-22.pdf}} | {{socm-slides-22.pdf}} | {{socm-video-22.mkv}} |
 +| 23: Uso de arquivos | {{socm-23.pdf}} | {{socm-slides-23.pdf}} | {{socm-video-23.mkv}} |
 +| 24: Sistemas de arquivos | {{socm-24.pdf}} | {{socm-slides-24.pdf}} | {{socm-video-24.mkv}} |
 +| 25: Diretórios e atalhos | {{socm-25.pdf}} | {{socm-slides-25.pdf}} | {{socm-video-25.mkv}} |
 +^ Parte VII: Segurança ^^^^
 +| 26: Conceitos básicos de segurança | {{socm-26.pdf}} |  |
 +| 27: Fundamentos de criptografia | {{socm-27.pdf}} |  |
 +| 28: Autenticação | {{socm-28.pdf}} |  |
 +| 29: Controle de acesso | {{socm-29.pdf}} |  |
 +| 30: Mecanismos de auditoria | {{socm-30.pdf}} |  |
 +^ Parte VIII: Virtualização ^^^^
 +| 31: O conceito de virtualização | {{socm-31.pdf}} |  |
 +| 32: Tipos de máquinas virtuais | {{socm-32.pdf}} |  |
 +| 33: Construção de máquinas virtuais | {{socm-33.pdf}} |  |
 +| 34: Virtualização na prática | {{socm-34.pdf}} |  |
 +
 +Os capítulos e slides da parte de Segurança estão migrando para um novo livro-texto sobre Segurança Computacional. Eles podem ser encontrados [[sc:start|nesta página]].
 +
 +<note warning>
 +**Não respondo e-mails pedindo respostas das questões**. Tomei esta decisão devido ao grande número de estudantes que me escrevem pedindo "respostas prontas" dos exercícios, para entregar a seus professores. A maioria das respostas podem ser encontradas facilmente no texto e/ou em outros livros de Sistemas Operacionais.
 +</note>
 +
 +===== Laboratório de SO =====
 +
 +Quem ministra aulas de laboratório de Sistemas Operacionais pode ter interesse em ler minha {{research:2001-tese-titular.pdf|tese de professor titular}} na PUCPR sobre aulas práticas de SO (ou um {{research:2002-sbcwei.pdf|artigo}} resumindo a tese, publicado no SBC WEI 2002). Pode também dar uma olhada nos projetos que desenvolvo com meus alunos, [[so:projetos_desenvolvidos|nesta página]].
 +
 +===== Sobre livros abertos =====
 +
 +Discussão sobre livros abertos:
 +
 +  * [[http://doi.acm.org/10.1145/1378727.1388950|Artigo]] na //Communications of the ACM//
 +  * [[http://www.maketextbooksaffordable.org]]
 +  * [[http://oreilly.com/openbook/]]
 +  * [[http://news.slashdot.org/article.pl?sid=08/08/19/1316227|Artigo na Slashdot]]
 +
 +Exemplos de livros de computação abertos:
 +
 +  * [[https://open.umn.edu/opentextbooks|Open Textbook Catalog]] da Universidade de Minnesota
 +  * [[http://www.cacr.math.uwaterloo.ca/hac/|Handbook of Applied Cryptography]], Alfred Menezes
 +  * [[https://www.cl.cam.ac.uk/~rja14/book.html|Security Engineering: A Guide to Building Dependable Distributed Systems]], Ross J. Anderson
 +  * [[http://pages.cs.wisc.edu/~remzi/OSTEP|Operating Systems: Three Easy Pieces]], R. Arpaci-Dusseau and A. Arpaci-Dusseau
 +  * [[https://www.iecc.com/linker/|Linkers and Loaders]], John Levine
 +  * [[http://oreilly.com/catalog/linuxdrive3/book/index.csp|Linux Device Drivers]], Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman
 +  * [[http://www.greenteapress.com/thinkpython/thinkCSpy/|How to Think Like a Computer Scientist - Learning with Python]], Allen Downey, Jeff Elkner e Chris Meyers
 +  * [[http://en.wikibooks.org/wiki/Wikibooks:Computing_department|Wikibooks on Computing]]
 +  * [[http://www.das.ufsc.br/~romulo/|Sistemas de Tempo-Real]], Jean-Marie Farines, Joni Fraga e Rômulo de Oliveira
 +  * [[http://valetterobert.free.fr/enseignement.d/livroweb101004.pdf|Redes de Petri]], Janete Cardoso e Robert Valette
 +  * [[https://greenteapress.com/wp/semaphores/|The Little Book of Semaphores]], Allen B. Downey
 +  * [[https://diveintosystems.org/|Dive into Systems]], S.Mathews, T. Newhall, K. Webb
  
  • socm/start.txt
  • Última modificação: 2022/04/29 09:25
  • por maziero