2015年 01月 22日 星期四 16:48:52 CST (vi的`:r!`命令真心好用,可将外部命令的执行结果插入文字中来)今天乘着将近两个月的寒假将于渊的《一个操作系统的实现》这本书看一遍,在刚过去的半年里刚开始时看了前两章,但由于看到保护模式那一块时感到困难也没了心情,因此搁置了。现在操作...
分类:
其他好文 时间:
2015-03-08 17:02:44
阅读次数:
227
感觉自己对于操作系统始终没有一个清楚的概念,尤其最近困扰于实模式、保护模式以及寻址方式等一些概念。转而一想,所有的程序,最终都是操作的计算机资源,需要和操作系统打交道,所以操作系统有必要深入了解一下。最终想要自己动手编写一个简单的版本,上网查。网友对于于渊的《Orange'S:一个操作系统的实现》和...
分类:
其他好文 时间:
2015-01-29 19:15:49
阅读次数:
221
; 准备切换到保护模式
mov eax, cr0
or eax, 1
mov cr0, eax
; 真正进入保护模式
jmp dword SelectorCode32:0 ; 执行这一句会把 SelectorCode32 装入 cs,
; 并跳转到 Code32Selector:0 处
这段时间在一个操作系统的实现
好书啊,感谢作者
这两天一直纠结在 ;
...
分类:
其他好文 时间:
2014-12-10 21:17:48
阅读次数:
908
我在看>一书中,有对对bochs的配置文件bochsrc的书写,但是,上面有些已经更新了,所以,现在介绍一下.
就像第一章中动手写一个极其简单的引导系统中bochsrc,应该改成下面的形式才不会出现问题.
{CSDN:CODE:547939}
因为,在bochs中,keyboard_mapping已经被keyboard代替了,同时,他的属性enabled已经被取消了....
分类:
其他好文 时间:
2014-12-10 16:23:06
阅读次数:
186
最近开始看《Orange'S:一个操作系统的实现》,但因为不了解汇编,看第一个启动扇区的代码时就有疑惑:1. 为了把cs中的值复制到ds和es中,首先需要将cs中的值复制到ax中,为什么不能直接复制?2. mov ax, cs; mov ds, ax; mov es, ax;这三句初始化段寄存器的语...
分类:
其他好文 时间:
2014-12-04 13:44:20
阅读次数:
312
这个标题有点唬人,我只是在看《自己动手写操作系统》的第二版《ORANGE’S:一个操作系统的实现》。作者喜欢命令行,我喜欢IDE。我尝试在RadASM下实现了第一个例子的编译与载入,觉得还不错。RadASM默认只支持用Nasm开发win32应用程序,而写操作系统需要生成bin文件,只能自己修改配置来...
http://blog.csdn.net/begginghard/article/details/72629011、特权级 2、一致代码段和非一致代码段 3、DPL、RPL、CPL分别代表的含义,存储在什么位置,以及它们之间的关系 4、不同特权级数据段之间的访问规则 5、不同特权级代码段之间的转移 ...
分类:
其他好文 时间:
2014-09-23 10:43:44
阅读次数:
425
编写运行于x86实模式下的16位代码是一个很复古的话题,编写能在DOS下运行的Plain Binary可执行文件是一个更复古的话题。以往,凡是需要使用x86的16位实模式的时候,作者都喜欢那NASM来编程。比如《30天自制操作系统》、《Orange's 一个操作系统的实现》、《x86汇编语言——从实...
分类:
系统相关 时间:
2014-08-24 16:35:42
阅读次数:
422
有人说,要深入理解计算机,有两个途径:自底向上和自顶向下。我想,对于自己,更适合从最基本的开始,由底层向高层前进。
所以, 先拿汇编语言下手吧!
说到汇编语言,记得刚开始接触的时候,那是相当的令人难受,所有的指令我都认识,但组在一起就不认识了。直到后来,照着《一个操作系统的实现》做了一个小OS,才真正不晕了。...
分类:
其他好文 时间:
2014-06-24 23:00:54
阅读次数:
256
今天完成了第七章,也就是《自己动手写操作系统》的全部章节,不过还存在一些小问题,比如在ring3下调用callgate实现向ring0的跳转,这个当初就没做成功。暂时先放着,要继续下面章节的学习了。
小结一下吧:
开发环境:操作系统是win7。虚拟机VMware,装ubuntu。我是再win7下完成的boot和loader的开发,然后内核是在虚拟机中的ubuntu中完成的。因为内核部分是elf...
分类:
其他好文 时间:
2014-05-08 17:26:27
阅读次数:
312