CS162

CS162: Operating Systems and Systems ProgrammingUC伯克利大学的一门本科生计算机课程。该课程的目的是教授操作系统的基本概念与设计,以及对应的系统编程。 其中讨论的主题包括操作系统/系统编程,网络和分布式系统以及存储系统,例如多程序系统(进程,进程间通信和同步),内存分配(分段,分页),资源管配和调度, 文件系统,网络(套接字,分层,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 ?

我(博主)本来计划的是通过阅读Andrew S. Tanenbaum 的 Modern Operating Systems 和 Operating Systems Design and Implementation(就是linus读的那本)对操作系统入个门。但是在读前一本的时候觉得目录安排的太杂(不连贯),于是在网上查了一下,发现确实有一些人反映了这个问题,而且很多大学都没有采用该作者的书目作为教材。加上我对微内核不怎么感冒(或许以后会打脸),在逛Amazon、豆瓣、知乎、各大高校网站后选择了如下两本教材作为入门书籍:

  1. Operating Systems: Principles and Practice
  2. Operating Systems: Three Easy Pieces 注:这本书的作者坚持Textbooks Should Be Free ,所以该书的所有资源都可以免费在网上下载,而且书还在不停的更新,我读完第一本后会来读这本,是研究生的教材。

另外,我一开始就打算通过BSD系列研究工业级内核(听说结构规整),而UC伯克利又恰好使用第一本教材当作本科生操作系统课程的教材,于是决定使用第一本教材+CS162进行学习。

Why this page?

在学习的过程中,我会将自己在完成书上的课后习题的答案和课程作业/实验中遇到的问题、解决方案贴到博客上来(分类:Computer Systems)。为了避免在每一篇对应的博文中都贴出“why this page and what is this”的说明,我单独将此作为一个博文发出,以便在后续博文的前言中以链接的形式贴出。

对应博文中所有来自于书籍作者或UC伯克利的代码都属于对应的作者,我不能负责。至于我写的代码您想怎么用就怎么用。

如果您希望和我一起自学这门课程/书籍,可以通过邮箱联系我:me_AT_liqiuhao_DOT_com.

如果您发现了对应博文中的错误,请在文后留言,感激不尽。

最后,这篇文章也是立个flag,希望它不会倒 😉

版权声明:本文为liqiuhao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/liqiuhao/p/9535172.html