大小:30.91M
更新时间:23-10-15
系统:Pc
版本:v
自己动手写操作系统是于渊编写的一本编程爱好者编写的别具一格、颇有特色的操作系统原理与实现的图书,本书在详细分析操作系统原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能的操作系统框架。作者对系统初启、保护模式、控制权如何转入OS Kernal等都写得具体详细,对操作系统的爱好者以及涉足于操作系统设计、实现和应用的读者有很好的参考价值,可以作为高等院校操作系统课程的实践参考书。ps:这里小编带来的是自己动手写操作系统pdf高清版,并且是无水印影印版,可以让读者更清晰的阅读,快下载收藏吧。
《自己动手写操作系统》是一本编程爱好者编写的别具一格、颇有特色的操作系统原理与实现的书。该书作者对操作系统具有特殊爱好,在大量实践和反复钻研下积累了丰富而可贵的经验,为了与广大读者分享这些经验写成了此书。本书对一般的操作系统原理教材不很重视的部分,例如,系统初启、保护模式、控制权如何转入OS Kernal等都写得具体详细,对操作系统的爱好者以及涉足于操作系统设计、实现和应用的读者有很好的参考价值。
《自己动手写操作系统》的文字生动活泼,富有个性,可望提高青年学子的阅读兴趣。本书在详细分析操作系统原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能的操作系统框架。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。
第1章 马上动手写一个最小的“操作系统”1 1.1 准备工作1 1.2 10分钟完成的操作系统1 1.3 Boot Sector3 1.4 代码解释3 1.5 水面下的冰山5 1.6 回顾6 第2章 搭建你的工作环境7 2.1 虚拟计算机(Virtual PC)7 2.1.1 Virtual PC初体验8 2.1.2 创建你的第一个Virtual PC9 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.7 Bochs29 2.7.1 Bochs vs. Virtual PC vs. VMware30 2.7.2 Bochs的使用方法31 2.7.3 用Bochs进行调试33 2.7.4 在Linux上开发34 2.8 总结与回顾36 第3章 保护模式(Protect Mode)37 3.1 认识保护模式37 3.1.1 GDT(Global Descriptor Table) 42 3.1.2 实模式到保护模式,不一般的jmp45 3.1.3 描述符属性47 3.2 保护模式进阶50 3.2.1 海阔凭鱼跃50 3.2.2 LDT(Local Descriptor Table)58 3.2.3 特权级62 3.3 页式存储82 3.3.1 分页机制概述83 3.3.2 编写代码启动分页机制84 3.3.3 PDE和PTE85 3.3.4 cr388 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.1 IOPL122 3.5.2 I/O许可位图(I/O Permission Bitmap)123 3.6 保护模式小结123 第4章 让操作系统走进保护模式125 4.1 突破512字节的限制125 4.1.1 FAT12126 4.1.2 DOS可以识别的引导盘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下写Hello World146 5.2 再进一步,汇编和C同步使用148 5.3 ELF(Executable and Linkable Format)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.3 Makefile191 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.4 LDT260 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.2 get_ticks的应用286 6.6 进程调度292 6.6.1 避免对称——进程的节奏感292 6.6.2 优先级调度总结300 第7章 输入/输出系统302 7.1 键盘302 7.1.1 从中断开始——键盘初体验302 7.1.2 AT、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.3 TTY任务332 7.3.1 TTY任务框架的搭建334 7.3.2 多控制台340 7.3.3 完善键盘处理346 7.3.4 TTY任务总结354 7.4 区分任务和用户进程354 7.5 printf357 7.5.1 为进程指定TTY357 7.5.2 printf()的实现358 7.5.3 系统调用write()361 7.5.4 使用printf()363 后记366 参考文献369 附录书中的章节和代码对照表370
同类热门
类似软件
ApowerPDF(PDF编辑器)13.58M1998人在用ApowerPDF是由Apowersoft有限公司开发的一款功能十分强大的PDF编辑器,该软件集PDF阅读、转换、编辑以及分割合并等功能为一体,有着非常简洁明了的操作界面,设计得出人性化。软件为用户提供了多样化的PDF编辑功能,您可以使用它轻松编辑文本/
查看Chm电子书批量反编译器(ChmDecompiler)2.31M453人在用ChmDecompiler是国华软件推出的一款专门用来反编译.CHM格式帮助文件或电子书的工具,它可以帮助用户轻松地把任意CHM文件转换为网页文件并取得全部的源文件。ChmDecompiler也可以完美地恢复CHM文件的.HHP工程文件,使得您在二次编辑
查看eXPert PDF Reader(免费的PDF阅读器)29M495人在用eXPert PDF Reader是一款完全免费的PDF阅读器,支持查看和打印PDF文件,修改现有文件,包括修改文件概述,插入图章和修改任何注释等,运行速度快,稳定和个性化的换肤功能以及对中日韩文的良好支持将满足你所有的需求,软件完全免费,操作简单、方便
查看软件架构师的12项修炼1K254人在用软件架构师的12项修炼是一本软件架松领域开创性著作,由[美] Dave Hendricksen著,张菲翻译。作者阐述了如何用架构视点和架构视图的方法定义软件架构,本书的十二项技能按三个部分来组织:关系技能、个人技能和商务技能。这种分类基于相关的优先顺序,
查看热门标签
网友评论0人参与,0条评论
最新排行
mysql技术内幕 第5版169.74M保罗·迪布瓦 pdf扫描版 mysql技术内幕 第5版是MySQL方面名副其实的一本著作,由保罗·迪布瓦编著,张雪平,何莉莉,陶虹共同翻译。全书向读者详细的介绍了mysql的基础知识及其有别于其他数据库系统的独特功能,其中包括sql的工作原理和mysql API的相关知识等,
查看ASP.NET开发实例大全(基础卷)313.29Mpdf扫描版 ASP.NET开发实例大全(基础卷)是一本ASP.NET开发指导手册,由软件开发技术联盟编著。本书筛选、汇集了ASP.NET开发从基础知识到高级应用各个层面约600个实例及源代码,每个实例都按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进
查看尼康d800使用说明书21.81Mpdf电子版尼康d800说明书是尼康官方针对尼康d800单反相机而开发的使用说明书,同时适用于d800和d800e,详细的介绍了相机的使用方法,包括如何快速开始指南,即时取景拍摄,动画即时取景,对焦,释放模式,iso感光度,曝光,白平衡,图像增强,闪光拍摄等等重要知
查看由浅入深学SQL Serve pdf版75.58M由浅入深学SQL Server:基础、进阶与必做300题是一本SQL数据库基础进阶教材,由王俊和郑笛两人共同编著。本书结合大量贯穿于全书的实例,全面、系统、深入地介绍了SQL Server 2008开发技术,图文并茂、深入浅出,力图以最直观的方式使读者完
查看c++反汇编与逆向分析技术揭秘56.61M钱林松pdf扫描版c++反汇编与逆向分析技术揭秘是一本C++反汇编与逆向分析技术学习书籍,由钱林松和赵海旭两人共同编著。本书是一本能为程序员(尤其是C++程序员)打牢基础的专业书籍,它将引导你一步一步去深入探究和分析程序的本质,从而逐渐让你在专业上感到踏实和自信,并在这个
查看android编程实战14.52Mpdf扫描版android编程实战是一本安卓编程开发实战手册,由瑞典安卓工程师Erik Hellman编著。本书主要针对具有Android应用程序开发经验的读者,读者需要了解Android的基本知识,才能使用Activity、Service、BroadcastRec
查看精通CSS网页布局pdf高清版55.92M作者朱印宏精通CSS网页布局是一本pdf高清版的电子图书,作者朱印宏,软件包中附带了pdf阅读器能够很好的帮助用户阅读。全书深入、系统地讲解了使用css进行网页布局设计的相关知识和技巧,内容包括css基础、文字和版式设计、图像控制、超链接和导航菜单设计、表格和表单
查看程序员藏经阁:C#编程兵书195.92M张志强pdf扫描版C#编程兵书是一本C语言设计开发手册,由张志强和胡军两人共同编著。本书内容丰富,全面介绍了C#语言基础,并以示例形式介绍了C#语言的编程技术和开发过程。从细节到整体,从内容编排到目录组织,本书都力求合理。在每一小节的内容编排上,首先给出清晰易懂的基本概念
查看构建高性能web站点修订版157.35M完整pdf扫描版构建高性能web站点修订版是一款教你如何改善你的Web站点的性能和扩展规模的教学图书,由郭欣编著,电子工业出版社出版。全书汲及了web系统优化的各个方面,从浏览器、cache到web、数据库和分布式文件系统等,并穿插了大量的实际测试数据和很多流行开源的使
查看html5移动web开发指南1.99Mpdf完整版html5移动web开发指南是由著名的Web前端工程师唐俊开所编著的,是一门新崛起的语言,现在非常的流行,本书是为从未接触过html5新技术但同时又对移动web技术感兴趣的读者而编写的,同时它也适用于有一定基础或者未来计划的职业是web前端开发工程师、具
查看网络安全评估从漏洞到补丁75.24Mpdf扫描版网络安全评估从漏洞到补丁是一本网络安全指导书籍,由美国网络安全专家Steve Manzuik编著,张建标编译。全书主要将漏洞管理技术融入到业务管理中,只有将黑客所实施的威胁与对组织造成的风险联系到一起时,这些知识才是有价值的,而本书就是要介绍完成这些任务
查看