
linux源码学习
文章平均质量分 91
hunwo
这个作者很懒,什么都没留下…
展开
-
linux 0.12 源码学习笔记(一)内核引导
本实验是在Red Hat 5.4下进行的,使用 的是虚拟机是Bochs x86 Emulator 2.4.5,使用gcc-4.1.2-46编译 1、使用AT&T编写一个引导代码 boot.S .globl main.code16BOOTSET=0x07c0 #bios加载引导程序的内存段main:ljmp $BOOTSET,$gogo: mov %cs,%ax#初使化es,ds mov %ax,%es m原创 2011-04-13 21:53:00 · 1532 阅读 · 0 评论 -
一致代码段和非一致代码段
在存储段描述符中,属性区域的TYPE由位0-3组成。位3称为E位,E=1,表示此描述符用于描述代码段。位2称为C位,位C=1,表示对应的代码段是一致代码段;位C=0,表示对应的代码段不是一致代码段.所谓的“一致代码段”,目的是为了共享,比如该一致代码段的特权级是2,那么即使是特权级是3的代码,也可以访问该一致代码。也就是允许低权限的代码访问 高权限的代码,而成功访问之后,当前的特权级并不是目标代码的特权级,而是原来代码的特权级,也就是说,跳转之后,CPL不变。要注意的是,一致代码段的 D转载 2011-04-18 18:03:00 · 691 阅读 · 0 评论 -
用AT&T汇编写的一个时钟
本程序是利用对端口对CMOS RAM进行读写,调用内部时钟,获取时间信息。 1、先对端口的读写进行简单的介绍(1)、读操作代码片段 mov n,%al #要访问单元地址 out %al,$0x70 #把地址发送到端口 jmp 1f #延时 1: in $0x71,%al #从端口读数据(2)、写操作代码片段原创 2011-04-17 00:25:00 · 805 阅读 · 0 评论 -
PIC - 8259A中断控制器
PIC - 8259A1 Overview在本章的第一节我们已经提到,中断的来源除了来自于硬件自身的NMI中断和来自于软件的INT n指令造成的软件中断之外,还有来自于外部硬件设备的中断,这些中断是可屏蔽的。这些中断也都通过PIC(Programmable Interrupt Controller)进行控制,并传递给CPU。在IBM PC极其兼容机上所使用的PIC是Intel 8259A芯片。8259A芯片的功能非常强大,但在IBM PC上,我们只用到比较简单的功能。我们本节也只讨论其在PC转载 2011-04-21 22:47:00 · 1272 阅读 · 0 评论