操作系统

作者:解琛
时间:2020 年 9 月 7 日

二、研究安排

2.1 参考教材

2.2 操作系统原理与实现

围绕操作系统内核的原理进行研究。

[操作系统] 二、研究安排

重点是对图中红色圈出的部分进行研究。

  • 包含了操作系统的系统结构,操作系统是一个大型软件,我们需要了解其构成的形式;
  • 操作系统主要是通过中断来响应外设的请求,同时通过系统调用为应用提供一些相应的支持。

接着就是关注操作系统内部的一些实现,围绕 CPU 和内存进行研究,通过操作系统的管理,更有效的利用这方面的资源。

  • 操作系统结构;
  • 中断及系统调用;
  • 内存管理
  • 进程管理
  • 处理机调度
  • 同步互斥

最后是和 I/O 相关, I/O 包含了文件系统,是存储系统的一部分。

还有一些是其他一些外部设备(比如打印机),了解一下。

  • 文件系统
  • I/O 子系统

2.3 基础实验

2.3.1 uCore

这是清华计算机系,近十年一直学习的比较基础的实验内容。

基于 x86 用 C 编写一个操作系统。

  • 实验零:操作系统实验准备;
  • 实验一:系统软件启动过程;
  • 实验二:物理内存管理;
  • 实验三:虚拟内存管理;
  • 实验四:内核线程管理;
  • 实验五:用户进程管理;
  • 实验六:调度器;
  • 实验七:同步互斥;
  • 实验八:文件系统。

2.3.2 rCore

基于 RISC-V 这种新的 CPU 上面,用 Rust 语言编写操作系统。

对于 RISC-V 这种 CPU,比 x86 简单不少,做出了很多操作系统开发的支持,相对会比较简单些。

用 Rust 代替 C,其学习的难度稍稍大了些,其编程可靠性和安全性都有其独特之处。

  • 第一章:独立式可执行程序;
  • 第二章:最小化内核;
  • 第三章:中断;
  • 第四章:内存管理;
  • 第五章:内存虚拟化;
  • 第六章:内核线程;
  • 第七章:线程调度;
  • 第八章:进程;
  • 第九章:文件系统;
  • 第十章:同步互斥。

2.4 课程设计

在各种 CPU 平台上对操作系统进行移植。

  • RISC-V;
  • x86-32;
  • x86-64;
  • MIPS;
  • ARM。

对操作系统内核功能的实现和拓展。

  • GUI;
  • 驱动;
  • 内核可加载模块;
  • 微内核。

围绕操作系统分析工具进行研究和探讨。

  • 错误分析;
  • 行为分析;
  • 模拟器。

围绕操作系统的实验设计进行研究和探讨。

  • uCore;
  • rCore;
  • zCore。

围绕操作系统的新方向进行探索。

  • Rust;
  • go 语言;
  • 内核语言。

相关文章:

  • 2021-12-09
  • 2021-10-19
  • 2022-02-26
  • 2021-10-01
  • 2021-09-29
  • 2021-10-20
  • 2021-07-20
  • 2021-11-08
猜你喜欢
  • 2022-12-23
  • 2021-11-27
  • 2021-10-15
  • 2021-04-17
  • 2021-04-24
  • 2022-12-23
相关资源
相似解决方案