关于 CS162课程 与 Operating Systems: Principles and Practice教材
Posted liqiuhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于 CS162课程 与 Operating Systems: Principles and Practice教材相关的知识,希望对你有一定的参考价值。
CS162
CS162: Operating Systems and Systems Programming 是UC伯克利大学的一门本科生计算机课程。该课程的目的是教授操作系统的基本概念与设计,以及对应的系统编程。 其中讨论的主题包括操作系统/系统编程,网络和分布式系统以及存储系统,例如多程序系统(进程,进程间通信和同步),内存分配(分段,分页),资源管配和调度, 文件系统,网络(套接字,分层,API,可靠性),事务,安全性和隐私。要求学生了解C、java、以及数据结构的相关知识,并最好学习过一些汇编。
该课程中包含作业(HW Assigned)和项目实验(Project),其中所有的项目都使用的是Pintos。课程要求项目实验需要以团队的形式完成,可以是3人或4人(建议为4人小组)。
该课程指定(Required)的教科书为Operating Systems: Principles and Practice (2nd Edition) ,推荐(Recommended)的教科书为Operating System Concepts 9th Edition ,进阶书籍为Understanding the Linux Kernel, Third Edition 以及 Linux Kernel Development (3rd Edition) 。
更多关于该门课程的资料,例如课件、进度安排、注意事项、实验指导可以访问该门课程现在的官网),以及历年的存档。
Operating Systems: Principles and Practice
Operating Systems: Principles and Practice 是一本设计为本科生第一门操作系统课程的教材用书。其由两位知名的操作系统研究人员撰写,被几十所顶级大学所使用,例如清华、斯坦福、UC伯克利、CMU等。这本教科书提供了从高层概念到底层代码的讲解,并为课后习题提供了大量的示例作为指导,同时关注了工业界中很多先进的技术。
更多有关于该教材的资料,例如提供的配套资源、建议的阅读安排可以访问其官网。
Why I choose CS162 (2018 Fall)?
我(博主)本来计划的是通过阅读Andrew S. Tanenbaum 的 Modern Operating Systems 和 Operating Systems Design and Implementation(就是linus读的那本)对操作系统入个门。但是在读前一本的时候觉得目录安排的太杂(不连贯),于是在网上查了一下,发现确实有一些人反映了这个问题,而且很多大学都没有采用该作者的书目作为教材。加上我对微内核不怎么感冒(或许以后会打脸),在逛Amazon、豆瓣、知乎、各大高校网站后选择了如下两本教材作为入门书籍:
- Operating Systems: Principles and Practice
- Operating Systems: Three Easy Pieces 注:这本书是研究生的教材,其作者坚持Textbooks Should Be Free ,所以该书的所有资源都可以免费在网上下载,而且书还在不停的更新,我读完第一本后会来读这本。
另外,我打算以后使用BSD系列研究工业级内核(听说结构规整),而UC伯克利又恰好使用第一本教材当作本科生操作系统课程的教材,于是决定使用第一本教材+CS162 (18秋)进行学习。
Why this page?
在学习的过程中,我会将自己在完成书上的课后习题的答案和课程作业/实验中遇到的问题、解决方案贴到博客上来(分类:Computer Systems)。为了避免在每一篇对应的博文中都贴出“why this page and what is this”的说明,我单独将此作为一个博文发出,以便在后续博文的前言中以链接的形式贴出:
对应博文中所有来自于书籍作者或UC伯克利的代码都属于对应的作者,我不能负责。至于我写的代码您想怎么用就怎么用。
如果您希望和我一起自学这门课程/书籍,可以通过邮箱联系我:me_AT_liqiuhao_DOT_com.
如果您发现了对应博文中的错误,请在文后留言指出,感激不尽。
以上是关于关于 CS162课程 与 Operating Systems: Principles and Practice教材的主要内容,如果未能解决你的问题,请参考以下文章