rCore-Tutorial-Book-v3
rCore-Tutorial-Book-v3 copied to clipboard
rCore-Tutorial-Book-v3/chapter0/3os-hw-abstract
操作系统抽象 — rCore-Tutorial-Book-v3 0.1 文档
https://rcore-os.github.io/rCore-Tutorial-Book-v3/chapter0/3os-hw-abstract.html
最后一句 😊
这样就可以把文件看出是对外设的一种统一抽象
进程这一章节最后一张图 os 下第四个矩形是不是应该写:恢复A上下文?
好奇制作图片用到的工具和使用的字体,看起来蛮舒服的
excalidraw
中断 异常 章节图片:"回复上下文"应该是"恢复上下文"
异常控制流部分
“如果出现也外设中断或CPU异常” 应该是 “如果出现外设中断或CPU异常”
进程的第二张图片,看到读写section和只读section划分到了一起,之前在http://docs.linuxtone.org/ebooks/C&CPP/c/ch20s01.html 一书中的这个页面了解到只读section在默认ld的脚本中是和text section链接在一起形成代码段的。所以进程的第二张图片,描述内存布局这个地方是不是有一些小问题。
进程的第二张图片,看到读写section和只读section划分到了一起,之前在http://docs.linuxtone.org/ebooks/C&CPP/c/ch20s01.html 一书中的这个页面了解到只读section在默认ld的脚本中是和text section链接在一起形成代码段的。所以进程的第二张图片,描述内存布局这个地方是不是有一些小问题。
只读数据段 .rodata 实际上并不会和代码段 .text 合并到一起,它们和可读写数据段 .data 都是分开的。这里将 .rodata 和 .data 放在一起我认为并没错,因为它们仍然是两个不同的段。这个 后面的章节 可能会更清楚一点。
下一章提到的“基于操作系统的四个抽象”,在这一章来看是哪四个抽象并不显然,应该说的是执行环境,进程,虚拟地址,文件,建议调整一下目录的层次结构。
执行环境 (Execution Environment) 是一个内涵很丰富且有一定变化的一个术语,
可以去掉最后的“一个”。
CPU在执行过程中,可以在不同层次的执行环境之间可以切换,这称为 执行环境切换 。
可以去掉最后的“可以”。
进程的第二段第一句 站在计算机系统和操作系统的角度来看,就可以把“幻觉”去掉。其实,进程是应用程序的一次执行过程。并且在这个歌执行过程中
并且在这个歌执行过程中 --> 去掉"歌" 并且在这个执行过程中
这图是怎么画的, 感觉很给力啊。 我用官方的,字体并不是涂鸦风格。
有画图的地址分享下吗?
请问这个文档有pdf格式吗?这手册真是太好看啦。
做的真是太棒啦,我也想要pdf版本的
用心了,非常好!!!
拍案叫绝!个人愚见:可以把这本书和Operating Systems: Three Easy Pieces这本书搭配在一起看。Operating Systems: Three Easy Pieces这本书是英文写的,英文表述很直接,非常容易抓住补表述的意思。现在这个教程可以用来加深理解Operating Systems: Three Easy Pieces。重点的重点其实就是借助这个教程作者的认知重新解构一次知识。
这本书应该是参考过Operating Systems: Three Easy Pieces的,不过个人感觉这本书写的更好,重点内容更突出,真希望早一点看到这本书!
太妙了,在进程这一小节里,使用“幻觉”而不是“假象”。因为“幻觉”是主观的,而“假象”是客观的。在宏观下,每个进程都在“同时”运行着,这本是一种人的主观感觉,所以使用“幻觉”,太严谨了。
真的寫得太好了,非常受用!!!
对于该小节的第二张图片,有一点小建议:hypervisor的定义本身是高于supervisor的,这一点在图片中有明确的体现;但是对于hypervisor本身,依据其执行环境是可以分为type1(bare-metal hypervisor)以及type2(hosted hypervisor)两种类型的,对于KVM而言,对于其究竟是type1还是type2 hypervisor这个问题有比较大的争议——一方面KVM作为Linux module存在使得Linux本身成为了type1的hypervisor,而从另一个角度来看,(在通用计算机领域下)KVM仍然需要和其他服务竞争资源,因此也可以认为它是type2类型的hypervisor——这一点在图片中没有得到体现,或许可以用文字描述加以说明?第二点,qemu作为模拟器而存在,和KVM这类hypervisor还是存在较大差异,但是在图片中被归类为hypervisor。 这是我的一点小看法,可能不受用,谢谢。
第一张图中API应该在ABI上面。可以参考下这个

@cs-xiyan 哪里的图?
勘误建议: 控制流上下文 标题下的: 那么这个属于某个应用程序的控制流可简称为某进程上下文 改为 那么这个属于某个应用程序的控制流的上下文可简称为某进程上下文