万春 读《Orange’S 一个操作系统的实现》有感
本文由 “碟中碟”虚拟光驱软件开发者——万春 提供
我经常遇到一些朋友,他们熟悉8086汇编语言,并且喜欢汇编语言.(很多这样的朋友)他们在日常使用汇编语言上,一般是反汇编研究别人的二进制代码进行逆向工程,或者动态跟踪破解软件,脱壳或者外挂反外挂等。这样使用汇编当然没有错,但是这些在日常工作或者爱好中,很多是熟能生巧的,当玩到一定的程度,就会感觉其实技术也差不多就这样,再就是有些机械性重复的感觉,技术上进入了一个平台期。
前不久有朋友就给我说,他要学习win32 API 的汇编编程,来提高自己的汇编修养。我当时就建议他说如果汇编反汇编能玩到比较熟练再去学习win32 API汇编有些不值得,我建议他这时候不如去加深以下我们对处理器及操作系统的了解,毕竟win32 API用汇编来操刀感觉有点费时费力,用VC win32 api能够更容易实现同样的工作,而且理解也比较容易。(顺手.)所以我就建议他去学习以下保护模式相关的东西,这也是现代x86 CPU和操作系统的核心基础架构.因为我觉得学习保护模式可以很好的了解现代CPU与操作系统的核心细节. 我们都知道windows 上有相对于DOS神奇分段分页内存管理,可以管理大于1M的内存,可能我们在学校的时候老师也有讲述,但我估计如果不用很多人都记不得它.不知道如何用它了。像多任务,多线程,内核ring 0, ring 3等东西我想很多朋友都有兴趣,但是觉得这些东西学起来太难,不知道如何入手学习,就算了。其实学习汇编到一个层次后,转向学习这些知识从而了解操作系统的运作方式可能是提高自己的认识和技术的一个好的途径。因为保护模式相关的东西技术相当的连贯与系统化,你如果从GDT 到LDT ,IDT, TSS ,PTE,PDE,PFN,段,门,陷阱,页,等数据结构及处理器结构走一遭。你会发现,他们实际上就是现代操作系统的砖、瓦、地基。其实不管是windows 还是linux 这样差距巨大的操作系统,在这部分他们都有很多的共同相似的特性。
在windows 的ntldr和ntoskrl.exe内核中,都免不了有这些处理的,以此为基础架构出来的NT内核VMM,FS,内核调度,异常,中断处理,对象管理器等,然后又在这些系统内核的基础上架构成一个成熟的操作系统,当然我们不可能搞windows这样复杂的东西,但是我们可以通过学习保护模式了解其基本原理,这样即使针对windows 中某一个方面的东西研究的时候,也可能让我们认识得比较深刻一点,这就够了。
每当我们说起操作系统,第一个印象就是复杂,博大精深,细节难于掌握.事实也如此,现代操作系统是如此的复杂,很多有意思的东西都被广漠的细节所弥漫,让我们要学习它的难度越来越高,经常是费时间费力,效果不大或者是浅尝即止,这方面长久以来没有一本好的书籍系统介绍.有些汇编类书籍介绍的保护模式都是比较枯燥让人容易瞌睡的内容,也不容易上手学习。
最近我发现一本操作系统实现的书《Orange'S:一个操作系统的实现
》,内容将前面所说的难点解决的蛮好的,作者用实践的引导方式,从NASM,GCC开发工具,虚拟机使用等开始,用最简单只有几十行的汇编代码的方式引导读者进入保护模式的学习,其中充满了探索的好奇.作者每前进一步都加入一些新的代码进原来的代码中,跟作者一起从实模式jmp到保护模式,然后又是call/iret多任务分时切换,这些相关东西都可显示在显示器上给你最直观印象。到最后竟然基本实现了一个带基本进程调度,FS,VMM试验性操作系统,真是相当的神奇,我建议有学习兴趣的朋友,最好先看看作者的书,然后一行一行的敲入代码,即使敲的时候不理解,也没有多大关系,建议一定要自己敲,切忌拷贝图快。
在作者的带领下接触一个可能在其他地方无法体验的技术冲浪。经过这样的一个历程后,读者汇编语言的功底及炒作系统原理绝对将有一个质的提高,多年后即使其中的某些细节忘记了,但其中的方法和思路必定将长留在你的记忆中,并对你的开发编程产生相当积极的影响。
我推荐大家阅读《Orange'S:一个操作系统的实现
》!
【书名】orange's一个操作系统的实现
【作者】于渊
【出版社】电子工业出版社
【书号】978-7-121-08442-3
【出版日期】2009 年5月
【开本】 16开
【页码】 492页
【内容简介】
本书从只有二十行的引导扇区代码出 发,一步一步地向读者呈现一个操作系统框架的完成过程。书中不仅关注代码本身,同时关注完成这些代码的思路和过程。本书不同于其他的理论型书籍,而是提供 给读者一个动手实践的路线图。读者可以根据路线图逐步完成各部分的功能,从而避免了一开始就面对整个操作系统数万行代码时的迷茫和挫败感。
本书购买地址:当当网
卓越网
互动网
更多精彩活动:博文视点大讲堂
博文视点Open Party
分享到:
相关推荐
一个测试Java内存泄漏的工具,党万春,钱巨,虽然Java语言有自带的垃圾回收机制,Java程序仍然存在由无效引用带来的内存泄漏。而内存泄漏会导致内存耗尽、程序崩溃等严重问题。�
基于DICOM标准的医学图像网络通信与程序设计,向万春,张金铃,DICOM(Digital Imaging and Communication in Medicine)标准是医学影像环境中的高层网络通信协议,说明了影像系统之间通过网络进行图像交换和实�
基于ADAMS的混联机器人动力学仿真分析,严万春,,本论文研究了一种新型可重构双三足混联机器人。可重构系统在适应性、可重复使用性、可兑换性、紧凑性、容错性和处理紧急事物方面
氮肥对杂交小麦氮素与果聚糖转运及其杂种优势的影响,赵万春, 张改生,选用6个杂交小麦及其7个亲本材料在0 kg/hm2和200 kg/hm22种施N水平下,对小麦在不同生育期不同器官氮素与果聚糖的转运及其杂种优势进�
小菜蛾酚氧化酶原1(PPO1)编码基因的克隆及其在体内的表达,薛超彬,罗万春,酚氧化酶(phenoloxidase,EC.1.14.18.1,简称PO)广泛存在于动物、植物和微生物等生物体内,是昆虫体内的一种重要酶类,在昆虫变态发育...
鸡胚心肌细胞分离培养研究,夏田,万春云,为在细胞以及分子水平研究家禽心肌的生物学特性,建立分离以及培养鸡胚心肌细胞的方法,以此提供研究心脏分化以及心血管疾病病理
四万多首唐诗数据库,仅仅唐诗。并带有出处。例如:唐明堂乐章。皇嗣出入升降:至人光俗,大孝通神。谦以表性,恭惟立身。洪规载启,茂典方陈。誉隆三善,祥开万春。
芦丁对甜菜夜蛾酚氧化酶及生长发育的影响,薛超彬,罗万春,本文采用微量测定法测定了芦丁对甜菜夜蛾酚氧化酶的活性。结果表明芦丁可以明显抑制酚氧化酶的活性,其IC50为0.47 mmol/L,采用双倒数
装备制造业技术需求方与供给方对接和转移机制研究--以云南省为例,张海亮,段万春,装备制造业被誉为“工业之母”,在整个国民经济中具有重要的战略地位。当前,社会各界越来越重视装备制造业技术的对接和转移工作
/** * SQLite类 * 2009-5-6 * 连万春 * */ class SQLite { // 当前SQL指令 public $_mQueryStr = ”; // 当前结果 public $_mResult = null; // SQLite连接句柄 protected $_mSqlite; // 警告信息 protected $_...