自己动手写操作系统
出版时间:
2005-08
版次:
1
ISBN:
9787121015779
定价:
48.00
装帧:
平装
开本:
16开
纸张:
胶版纸
页数:
374页
字数:
511千字
正文语种:
简体中文
567人买过
-
本书在详细分析操作系统原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能的操作系统框架。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。全书共分7章。
本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。 第1章马上动手写一个最小的“操作系统”1
1.1准备工作1
1.210分钟完成的操作系统1
1.3BootSector3
1.4代码解释3
1.5水面下的冰山5
1.6回顾6
第2章搭建你的工作环境7
2.1虚拟计算机(VirtualPC)7
2.1.1VirtualPC初体验8
2.1.2创建你的第一个VirtualPC9
2.1.3虚拟软盘研究12
2.1.4虚拟软盘实战14
2.2编译器(NASM&GCC)18
2.3安装虚拟Linux19
2.4在虚拟Linux上访问Windows文件夹26
2.5安装虚拟PCDOS26
2.6其他要素29
2.7Bochs29
2.7.1Bochsvs.VirtualPCvs.VMware30
2.7.2Bochs的使用方法31
2.7.3用Bochs进行调试33
2.7.4在Linux上开发34
2.8总结与回顾36
第3章保护模式(ProtectMode)37
3.1认识保护模式37
3.1.1GDT(GlobalDescriptorTable)42
3.1.2实模式到保护模式,不一般的jmp45
3.1.3描述符属性47
3.2保护模式进阶50
3.2.1海阔凭鱼跃50
3.2.2LDT(LocalDescriptorTable)58
3.2.3特权级62
3.3页式存储82
3.3.1分页机制概述83
3.3.2编写代码启动分页机制84
3.3.3PDE和PTE85
3.3.4cr388
3.3.5回头看代码88
3.3.6克勤克俭用内存90
3.3.7进一步体会分页机制100
3.4中断和异常107
3.4.1中断和异常机制109
3.4.2外部中断111
3.4.3编程操作8259A113
3.4.4建立IDT116
3.4.5实现一个中断117
3.4.6时钟中断试验119
3.4.7几点额外说明121
3.5保护模式下的I/O122
3.5.1IOPL122
3.5.2I/O许可位图(I/OPermissionBitmap)123
3.6保护模式小结123
第4章让操作系统走进保护模式125
4.1突破512字节的限制125
4.1.1FAT12126
4.1.2DOS可以识别的引导盘131
4.1.3一个最简单的Loader132
4.1.4加载Loader入内存133
4.1.5向Loader交出控制权142
4.1.6整理boot.asm142
4.2保护模式下的“操作系统”144
第5章内核雏形146
5.1用NASM在Linux下写HelloWorld146
5.2再进一步,汇编和C同步使用148
5.3ELF(ExecutableandLinkableFormat)150
5.4从Loader到内核155
5.4.1用Loader加载ELF155
5.4.2跳入保护模式161
5.4.3重新放置内核170
5.4.4向内核交出控制权175
5.4.5操作系统的调试方法176
5.5扩充内核184
5.5.1切换堆栈和GDT184
5.5.2整理我们的文件夹191
5.5.3Makefile191
5.5.4添加中断处理200
5.5.5两点说明218
5.6小结219
第6章进程221
6.1迟到的进程221
6.2概述222
6.2.1进程介绍222
6.2.2未雨绸缪——形成进程的必要考虑222
6.2.3参考的代码224
6.3最简单的进程224
6.3.1简单进程的关键技术预测225
6.3.2第一步——ring0→ring1227
6.3.3第二步——丰富中断处理程序243
6.3.4进程体设计技巧254
6.4多进程256
6.4.1添加一个进程体256
6.4.2相关的变量和宏257
6.4.3进程表初始化代码扩充258
6.4.4LDT260
6.4.5修改中断处理程序261
6.4.6添加一个任务的步骤总结263
6.4.7号外:Minix的中断处理265
6.4.8代码回顾与整理269
6.5系统调用280
6.5.1实现一个简单的系统调用280
6.5.2get_ticks的应用286
6.6进程调度292
6.6.1避免对称——进程的节奏感292
6.6.2优先级调度总结300
第7章输入/输出系统302
7.1键盘302
7.1.1从中断开始——键盘初体验302
7.1.2AT、PS/2键盘304
7.1.3键盘敲击的过程304
7.1.4解析扫描码309
7.2显示器325
7.2.1初识TTY325
7.2.2基本概念326
7.2.3寄存器328
7.3TTY任务332
7.3.1TTY任务框架的搭建334
7.3.2多控制台340
7.3.3完善键盘处理346
7.3.4TTY任务总结354
7.4区分任务和用户进程354
7.5printf357
7.5.1为进程指定TTY357
7.5.2printf()的实现358
7.5.3系统调用write()361
7.5.4使用printf()363
后记366
参考文献369
附录书中的章节和代码对照表370
-
内容简介:
本书在详细分析操作系统原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能的操作系统框架。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。全书共分7章。
本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。
-
目录:
第1章马上动手写一个最小的“操作系统”1
1.1准备工作1
1.210分钟完成的操作系统1
1.3BootSector3
1.4代码解释3
1.5水面下的冰山5
1.6回顾6
第2章搭建你的工作环境7
2.1虚拟计算机(VirtualPC)7
2.1.1VirtualPC初体验8
2.1.2创建你的第一个VirtualPC9
2.1.3虚拟软盘研究12
2.1.4虚拟软盘实战14
2.2编译器(NASM&GCC)18
2.3安装虚拟Linux19
2.4在虚拟Linux上访问Windows文件夹26
2.5安装虚拟PCDOS26
2.6其他要素29
2.7Bochs29
2.7.1Bochsvs.VirtualPCvs.VMware30
2.7.2Bochs的使用方法31
2.7.3用Bochs进行调试33
2.7.4在Linux上开发34
2.8总结与回顾36
第3章保护模式(ProtectMode)37
3.1认识保护模式37
3.1.1GDT(GlobalDescriptorTable)42
3.1.2实模式到保护模式,不一般的jmp45
3.1.3描述符属性47
3.2保护模式进阶50
3.2.1海阔凭鱼跃50
3.2.2LDT(LocalDescriptorTable)58
3.2.3特权级62
3.3页式存储82
3.3.1分页机制概述83
3.3.2编写代码启动分页机制84
3.3.3PDE和PTE85
3.3.4cr388
3.3.5回头看代码88
3.3.6克勤克俭用内存90
3.3.7进一步体会分页机制100
3.4中断和异常107
3.4.1中断和异常机制109
3.4.2外部中断111
3.4.3编程操作8259A113
3.4.4建立IDT116
3.4.5实现一个中断117
3.4.6时钟中断试验119
3.4.7几点额外说明121
3.5保护模式下的I/O122
3.5.1IOPL122
3.5.2I/O许可位图(I/OPermissionBitmap)123
3.6保护模式小结123
第4章让操作系统走进保护模式125
4.1突破512字节的限制125
4.1.1FAT12126
4.1.2DOS可以识别的引导盘131
4.1.3一个最简单的Loader132
4.1.4加载Loader入内存133
4.1.5向Loader交出控制权142
4.1.6整理boot.asm142
4.2保护模式下的“操作系统”144
第5章内核雏形146
5.1用NASM在Linux下写HelloWorld146
5.2再进一步,汇编和C同步使用148
5.3ELF(ExecutableandLinkableFormat)150
5.4从Loader到内核155
5.4.1用Loader加载ELF155
5.4.2跳入保护模式161
5.4.3重新放置内核170
5.4.4向内核交出控制权175
5.4.5操作系统的调试方法176
5.5扩充内核184
5.5.1切换堆栈和GDT184
5.5.2整理我们的文件夹191
5.5.3Makefile191
5.5.4添加中断处理200
5.5.5两点说明218
5.6小结219
第6章进程221
6.1迟到的进程221
6.2概述222
6.2.1进程介绍222
6.2.2未雨绸缪——形成进程的必要考虑222
6.2.3参考的代码224
6.3最简单的进程224
6.3.1简单进程的关键技术预测225
6.3.2第一步——ring0→ring1227
6.3.3第二步——丰富中断处理程序243
6.3.4进程体设计技巧254
6.4多进程256
6.4.1添加一个进程体256
6.4.2相关的变量和宏257
6.4.3进程表初始化代码扩充258
6.4.4LDT260
6.4.5修改中断处理程序261
6.4.6添加一个任务的步骤总结263
6.4.7号外:Minix的中断处理265
6.4.8代码回顾与整理269
6.5系统调用280
6.5.1实现一个简单的系统调用280
6.5.2get_ticks的应用286
6.6进程调度292
6.6.1避免对称——进程的节奏感292
6.6.2优先级调度总结300
第7章输入/输出系统302
7.1键盘302
7.1.1从中断开始——键盘初体验302
7.1.2AT、PS/2键盘304
7.1.3键盘敲击的过程304
7.1.4解析扫描码309
7.2显示器325
7.2.1初识TTY325
7.2.2基本概念326
7.2.3寄存器328
7.3TTY任务332
7.3.1TTY任务框架的搭建334
7.3.2多控制台340
7.3.3完善键盘处理346
7.3.4TTY任务总结354
7.4区分任务和用户进程354
7.5printf357
7.5.1为进程指定TTY357
7.5.2printf()的实现358
7.5.3系统调用write()361
7.5.4使用printf()363
后记366
参考文献369
附录书中的章节和代码对照表370
查看详情
-
九品
北京市丰台区
平均发货43小时
成功完成率90.65%
-
八五品
重庆市沙坪坝区
平均发货14小时
成功完成率89.97%
-
九品
北京市昌平区
平均发货23小时
成功完成率86.14%
-
八五品
广东省广州市
平均发货20小时
成功完成率95.05%
-
八五品
河北省承德市
平均发货7小时
成功完成率96.17%
-
九五品
四川省成都市
平均发货11小时
成功完成率93.33%
-
九五品
四川省成都市
平均发货11小时
成功完成率92.84%
-
九五品
广东省中山市
平均发货14小时
成功完成率89.17%
-
自己动手写操作系统
书籍均为精品二手图书品相85品以上,出库会经过高温消毒,书籍上架都会检测可保证正版!!
九品
天津市宝坻区
平均发货14小时
成功完成率95.35%
-
八五品
四川省成都市
平均发货12小时
成功完成率91.69%
-
八五品
北京市昌平区
平均发货25小时
成功完成率95.72%
-
九品
湖北省荆州市
平均发货5小时
成功完成率96.74%
-
2005-10 印刷
印次: 2
九品
北京市昌平区
平均发货14小时
成功完成率96.21%
-
九品
北京市海淀区
平均发货9小时
成功完成率92.86%
-
八五品
广东省东莞市
平均发货7小时
成功完成率91.54%
-
2005-10 印刷
印次: 2
八五品
河南省郑州市
平均发货8小时
成功完成率98.14%
-
九品
山东省东营市
平均发货4小时
成功完成率94.47%
-
九品
湖北省武汉市
平均发货12小时
成功完成率96.53%
-
2005-08 印刷
印次: 8
九品
北京市昌平区
平均发货14小时
成功完成率96.21%
-
八五品
湖北省武汉市
平均发货13小时
成功完成率93.95%
-
八五品
河南省周口市
平均发货13小时
成功完成率96.48%
-
八五品
四川省成都市
平均发货21小时
成功完成率95.48%
-
八五品
湖北省武汉市
平均发货6小时
成功完成率96.12%
-
九品
北京市朝阳区
平均发货10小时
成功完成率93.9%
-
九品
河南省郑州市
平均发货9小时
成功完成率94.58%
-
八五品
江西省南昌市
平均发货8小时
成功完成率96.75%
-
九五品
河南省新乡市
平均发货22小时
成功完成率88.41%
-
八五品
辽宁省大连市
平均发货9小时
成功完成率97.6%
-
八五品
山东省菏泽市
平均发货7小时
成功完成率97.02%
-
八五品
北京市朝阳区
平均发货9小时
成功完成率96.51%
-
九品
上海市宝山区
平均发货4小时
成功完成率97.17%
-
九品
江苏省南京市
平均发货4小时
成功完成率95.78%
-
八五品
安徽省阜阳市
平均发货55小时
成功完成率81.91%
-
九品
上海市长宁区
平均发货18小时
成功完成率74.69%
-
九品
湖北省武汉市
平均发货16小时
成功完成率92.92%
-
八五品
安徽省芜湖市
平均发货3小时
成功完成率94.67%
-
九品
广东省深圳市
平均发货6小时
成功完成率96.32%
-
九五品
北京市丰台区
平均发货11小时
成功完成率98.48%
-
八五品
河南省周口市
平均发货11小时
成功完成率95.16%
-
2005-08 印刷
八五品
河北省廊坊市
平均发货13小时
成功完成率84.6%
-
九品
四川省成都市
平均发货14小时
成功完成率91.04%
-
九五品
河南省开封市
平均发货21小时
成功完成率80.34%
-
九品
北京市昌平区
平均发货11小时
成功完成率98.21%
-
九品
河北省沧州市
平均发货3小时
成功完成率94.81%
-
八五品
河北省沧州市
平均发货3小时
成功完成率94.81%
-
九五品
广东省中山市
平均发货5小时
成功完成率85.26%
-
九品
四川省成都市
平均发货7小时
成功完成率89.74%
-
九品
辽宁省营口市
平均发货20小时
成功完成率83.61%
-
八品
-
九品
河南省平顶山市
平均发货12小时
成功完成率93.33%