操作系统设计
文章平均质量分 67
wswupeng
peng哥的杂货铺
展开
-
《汇编语言》(王爽) 小结
(初稿) 1. 指令和数据 这是在应用上的概念,其实都是二进制数据, cpu通过控制总线获得的数据是指令, 通过数据总线获得的是数据。所有运算都是在cpu中进行的, cpu如何执行内存中的指令? CS:IP中存放了指令所在的内存地址, 通过地址总线定位,读取指令数据,并在cpu中执行。简单理解计算机: cpu+外设,cpu通过地址总线寻址外部设备。 2.原创 2010-04-21 21:18:00 · 664 阅读 · 0 评论 -
[os] 打印字符串
第一个例子原理很简单,但若没有一定的汇编实践经验,还是很容易在各种各样的细节上栽跟头的。下面是我完成任务后的一些总结: 1. 我学习汇编的教材是基于dos的, 里面既介绍了bios中断,又介绍了dos中断,我没有注意两者的区别,直接调用了一个dos中断,结果搞了半天愣是没有结果。所以使用中断时要注意区分两者, linux下不支持dos。 2. 写显存和调用int 10原创 2010-04-27 09:03:00 · 557 阅读 · 0 评论 -
特权级1
特权级1——RPL、DPL、CPL 保护模式中最重要的一个思想就是通过分级把代码隔离了起来,不同的代码在不同的级别,使大多数情况下都只和同级代码发生关系。Intel的80286以上的cpu可以识別4个特权级(或特权层),0级到3级。数值越大特权越小。一般用把系统内核放在0级转载 2010-05-10 08:15:00 · 2227 阅读 · 0 评论 -
特权级3(调用门)
特权级3——调用门 http://blog.chinaunix.net/u/15262/showart_294956.html调用门的作用gate简单来说可以想象成政府为人民提供的一个政府诉求中心,它可以集中收集人民对政府的要求和投诉,然后把这些诉求发给相关的政府部门来处理。转载 2010-05-11 20:43:00 · 2701 阅读 · 0 评论 -
特权级2(不通过调用门)
特权级2——不通过调用门 特权级检查的时间 在选择子没有被装入CS之前进行检查,如果检查成功则将选择子装入CS寄存器。相应的RPL变为CPL。我觉得这个检查的机制就像是数据库的对内容的约束检查,或者说更像是一个before类型的触发器。转载 2010-05-11 20:59:00 · 1036 阅读 · 0 评论 -
保护模式初步理解
保护模式初步理解与实模式一样,保护模式中内存也被逻辑上分成了一个个具有相应功能的段,比如代码段,数据段,栈段等。 但是保护模式中,每个段的“个性“更鲜明。我们知道,在实模式中,所有内存都是可读、可写、可访问的,你哪天看哪块内存不爽了, 轻轻松松就可以把他里面的东西搞乱,非常的不安全。 但在保护模式中,每个段在定义的时候就被赋予了段基址、段长度、段类别(代码段/数据段/...)、特权级等原创 2010-05-21 15:28:00 · 525 阅读 · 0 评论 -
实模式下 一个汇编小程序
主要通过它来验证汇编中的标号实际是表示段内偏移呢,还是实际的内存地址。 原代码: org 07c00hmov ax, csmov es, axmov bx, 000chmov cx, 13 ; the string lengthmov dh, 1mov dl, 1mov bp, ScreenMsgmov ax, 1301h ; show the stringint 10hjmp $ScreenMsg: db "hello wupeng!"tim原创 2010-12-22 20:27:00 · 866 阅读 · 0 评论 -
汇编临时小结
<br />个人总结用的, 看了被误导不要怪我。<br />在写汇编程序时, 经常看到最前面有这么一句“org 07c00h”。 这个东西它的意思是,该段代码在0000:0x7c00处执行。<br /> <br />看示例代码:<br />org 07c00hmov ax, csmov es, axmov bx, 000chmov cx, 13 ; the string lengthmov dh, 1mov dl, 1mov bp, ScreenMsgmov a原创 2010-12-24 08:59:00 · 448 阅读 · 0 评论 -
汇编临时小结2
好多概念, 花了好长时间看懂, 过一段时间就忘得一干二净,等要用到时,又得从零开始看起, 实在是很浪费时间。所以把自己刚刚看懂的东西小结一下, 以备后用。 观点不成熟, 看的时候小心点,别被误导了。1. 实模式和保护模式段的差别。实模式和保护模式下都使用16位的段寄存器存放段基址信息,如CS,SS,ES等。不同的是, 实模式下段寄存器中存放的就是段基址,使用时把段基址*16 加上16位的偏移量就得到20位的地址信息。而在保护模式下, 所有段定义在一张表中,也就是我们常说的GDT,每个表项以8个字节详细定义某原创 2010-12-30 21:46:00 · 553 阅读 · 0 评论