内容简介 · · · · · ·
本书从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。书中不仅关注代码本身,同时关注完成这些代码的思路和过程。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。读者可以根据路线图逐步完成各部分的功能,从而避免了一开始就面对整个操作系统数万行代码时的迷茫和挫败感。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。本书分上下两篇,共11章。其中每一章都以前一章的工作成果为基础,实现一项新的功能。而在章的内部,一项大的功能被分解成许多小的步骤,通过完成每个小的步骤,读者可以不断获得阶段性的成果,从而让整个开发过程变得轻松并且有趣。
本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。
Orange'S的创作者
· · · · · ·
-
于渊 作者
作者简介 · · · · · ·
于渊自述
性懒,好静,涉猎甚广,然所精者少。遇所好之事,譬如程序,必沉迷其中,恍恍然如癫如痴。
读书非多,然每读必思,偶有心得,自得其乐。遇知其所云者,欣然以为知音,必邀之共饮,所饮不必多,喜闻觥筹铿锵之声,与谈笑交错,快意淋漓。
本性固执,喜钻研,求本质,不满于浮光掠影,故凡可能之事,必躬亲而后快。以求甚解之心,究操作系统之原委,并亲为之,耗时数月,咸雏形。回顾此历程,自有一番甘苦,乃以此记录,与同道分享。虽有贻笑方家之虑,然凡此种种,皆切身之感受,所感所想,点滴皆为领悟,故心下坦然。若恰能为后来者借鉴一二,心当甚慰。
目录 · · · · · ·
第1章 马上动手写一个最小的“操作系统”
1.1 准备工作
1.2 十分钟完成的操作系统
1.3 引导扇区
1.4 代码解释
1.5 水面下的冰山
1.6 回顾
第2章 搭建你的工作环境
2.1 虚拟计算机Bochs
2.2 QEMU
2.3 平台之争:Windows还是*nix
2.4 GNU/Linux下的开发环境
2.5 Windows下的开发环境
2.6 总结
第3章 保护模式(Protect Mode)
3.1 认识保护模式
3.2 保护模式进阶
3.3 页式存储
3.4 中断和异常
3.5 保护模式下的I/O
3.6 保护模式小结
第4章 让操作系统走进保护模式
4.1 突破512字节的限制
4.2 保护模式下的“操作系统”
第5章 内核雏形
5.1 在Linux下用汇编写Hello World
5.2 再进一步,汇编和C同步使用
5.3 ELF(Executable and Linkable Format)
5.4 从Loader到内核
5.5 扩充内核
5.6 小结
第6章 进程
6.1 迟到的进程
6.2 概述
6.3 最简单的进程
6.4 多进程
6.5 系统调用
6.6 进程调度
第7章 输入/输出系统
7.1 键盘
7.2 显示器
7.3 TTY任务
7.4 区分任务和用户进程
7.5 printf
------下篇------
第8章 进程间通信
8.1 微内核还是宏内核
8.2 IPC
8.3 实现IPC
8.4 使用IPC来替换系统调用get_ticks
8.5 总结
第9章 文件系统
9.1 硬盘简介
9.2 硬盘操作的I/O 端口
9.3 硬盘驱动程序
9.4 文件系统
9.5 硬盘分区表
9.6 设备号
9.7 用代码遍历所有分区
9.8 完善硬盘驱动程序
9.9 在硬盘上制作一个文件系统
9.10 创建文件
9.11 创建文件所涉及的其他函数
9.12 关闭文件
9.13 查看已创建的文件
9.14 打开文件
9.15 读写文件
9.16 测试文件读写
9.17 文件系统调试
9.18 删除文件
9.19 插曲:奇怪的异常
9.20 为文件系统添加系统调用的步骤
9.21 将TTY纳入文件系统
9.22 改造printf
9.23 总结
第10章 内存管理
10.1 fork
10.2 exit和wait
10.3 exec
10.4 简单的shell
10.5 总结
第11章 尾声
11.1 让mkfs()只执行一次
11.2 从硬盘引导
11.3 将OS安装到真实的计算机
11.4 总结
参考文献
· · · · · · (收起)
"Orange'S"试读 · · · · · ·
原文摘录 · · · · · ·
喜欢读"Orange'S"的人也喜欢的电子书 · · · · · ·
喜欢读"Orange'S"的人也喜欢 · · · · · ·
- Linux内核完全剖析 9.0
- Unix内核源码剖析 8.2
- 莱昂氏UNIX源代码分析 9.0
- 现代操作系统(第3版) 8.9
- 操作系统设计与实现(上册) 9.0
- UNIX环境高级编程 9.4
- x86汇编语言 9.1
- 程序员的自我修养 8.9
- 琢石成器 9.2
- 深入理解计算机系统 9.5
Orange'S的书评 · · · · · · ( 全部 26 条 )
> 更多书评 26篇
论坛 · · · · · ·
第三章,返回实模式前把normal选择子mov到段寄存器... | 来自豆友114514 | 2022-05-11 00:05:09 | |
补充一个基于 macOS 13 的环境搭建 以及 EPUB 电子... | 来自思方鉴 | 2021-12-30 18:01:53 | |
想跟着书做,有没有办法不使用软盘? | 来自Glaxy | 2 回应 | 2021-12-30 17:51:53 |
这本书怎么到处都没货了,是重印的吗? | 来自Q_Q | 11 回应 | 2014-08-24 14:47:25 |
建了个qq群,交流看书中得疑惑 | 来自FD | 1 回应 | 2014-03-12 19:35:26 |
> 浏览更多话题
0 有用 x(i,n)->g 2009-07-18 10:01:49
读过 前半部分
12 有用 Forrest 2009-05-25 10:51:01
我的书
8 有用 polar9527 2017-09-06 23:12:11
庆幸之前有知识储备,尤其是看过《x86汇编语言-从实模式到保护模式》,不然照这本书的这个坡度,根本过就过不了第三章。
74 有用 鸽足轻轻 2019-04-19 15:34:09
大二那年暑假,打着吊瓶的时候还在捧着这本书看,调试bochs都要花费一个通宵,这就是程序员的浪漫吧。转眼六年过去,现在入职某互联网公司已经一年了,每天做着搬砖的工作,考虑买房,婚姻,和未来。
4 有用 angwer 2015-02-04 10:38:37
良心之作,但略显虎头蛇尾,代码组织混乱
0 有用 草木如织 2023-06-07 16:25:00 湖北
循循善诱
1 有用 狂人总角 2023-04-17 15:05:08 湖南
作者很不注意细节,但往往细节就会十分困扰初学者; 而且我感觉行文比较跳,不连贯;
0 有用 特洛伊 2023-03-02 07:26:35 上海
好多年前看过,很赞
0 有用 半分沫 2023-02-20 02:36:22 江苏
很好的一本书,自己动手写操作系统
2 有用 豆友114514 2023-01-20 06:46:57 浙江
3,4两章太劝退,动不动就甩三四百行的汇编代码出来。不过个人认为这块不是学习重点而且也不用太深究,因为都是些规定性的东西即使现在搞明白了细节过段时间也会忘。先作了解即可,等看完后面部分有空再回来看这两章