2011年5月15日

作为一个操作系统,进程毫无疑问是最基本也是最重要的

摘要: 我们的下一个重大目标应该是实现一个进程。再进一步,我们应该逐渐拥有多个进程。如果从进程本身的角度来看,它只不过是一段执行的代码。这样看来它跟我们已经实现的代码没有本质的区别可是,如果从操作系统的角度来看,进程必须是可控制的,所以这就涉及到进程和操作系统之间的转换。因为cpu只有一个,同一个时刻要么是客户进程在运行,要么是操作系统在运行,我们应该清楚,如果实现进程需要一种控制权转换机制,这种机制就是中断。------------------------------------------------------------------------------现在该给这些中断和异常的处理程序统统加 阅读全文

posted @ 2011-05-15 16:18 wanghj_dz 阅读(358) 评论(0) 推荐(0) 编辑

扩充内核 start.c 、kernel.asm详细解释

摘要: 在前面堆栈,esp,GDT等内容还在Loader中,为了方便控制,我们得把它们放进内核才行。/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ start.c++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Forrest Yu, 2005++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/#include "type 阅读全文

posted @ 2011-05-15 12:50 wanghj_dz 阅读(761) 评论(0) 推荐(0) 编辑

nl DB 13, 10, '$' ,int 21h详解

摘要: nl DB 13, 10, '$'13是回车10是换行'$'表示已经到了字符串尾,不在打印字符了。int 21 调用参数 返回参数AH=09 显示字符串DS:DX=串地址,'$'结束字符串AH=0A 键盘输入到缓冲区DS:DX=缓冲区首地址 (DS:DX)=缓冲区最大字符数(DS:DX+1)=实际输入的字符数#make_COM# ORG 100H ; set data segment: MOV AX, CS MOV DS, AX MOV ES, AX; input a string: MOV DX, OFFSET s1 MOV AH, 0AH I 阅读全文

posted @ 2011-05-15 09:37 wanghj_dz 阅读(1095) 评论(0) 推荐(0) 编辑

导航