Linux操作系统类的内容

下学期我将担任操作系统课程的助教。实验室将专门处理Linux内核

  1. 您认为Linux内核的哪些概念/组件在本课程中最重要
  2. 你希望你的研究中遗漏了什么

任何关于Linux内核或整个操作系统设计的建议都将不胜感激

我的列表

  1. 操作系统关注的是:物理机器的抽象和扩展资源管理
  2. 构建过程是如何工作的即,特定于体系结构/机器代码的东西是如何植入的
  3. 系统调用如何工作以及模块如何连接
  4. 内存管理/虚拟内存/分页和所有其他
  5. 进程如何在POSIX和其他系统中诞生、生存和消亡
  6. 用户空间与内核线程以及进程/线程之间的区别是什么
  7. 为什么单片内核设计越来越令人厌烦,还有哪些替代方案
  8. 调度(以及一些可选/特定于域的调度程序)
  9. I/O驱动程序开发及其动态加载方式
  10. 启动的早期阶段以及内核如何设置环境
  11. 时钟、无mmu系统等问题
  12. 。。。我可以继续
  13. 我几乎忘记了IPC和Unix的“一切都是文件”设计决策
  14. POSIX,为什么它存在,为什么它不应该存在

最后,让他们通过tanenbaum的现代操作系统,并对其他一些内核进行案例研究,比如Mach/Hurd的微内核设置,可能还有一些分布式和外内核的东西

我再确认一下,也可以对过去的Linux有一个大致的了解

对于那些超级极客来说,操作系统的历史以及为什么它们是这样的

发表评论