IA32-X86
小小路边草
喜欢尝试各种编程语言,喜欢研究各种技术
展开
-
X86 通用寄存器使用惯例
在给定的时刻只能有一个过程是活动的, 它占使用CPU的程序寄存器组. 程序寄存器组作为一个单个资源被所有的函数过程共享. 所以, 我们必须保证: 一个过程(调用者)调用另一个(被调用者)时, 被调用者不会覆盖某个调用者稍后会使用到的寄存器的值.为此, IA32(俗称x86)采用了一组统一的寄存器使用惯例., 所有的过程调用都必须遵守, 包括程序库中的过程.根据惯例, 寄存器%eax, %ecx,原创 2016-05-03 17:10:30 · 1949 阅读 · 0 评论 -
PCI总线枚举
有了设备模型基础及usb设备驱动的基础知识,来了解PCI设备驱动,就相对简单了,因为PCI设备驱动仍然套用了设备驱动模型的方式,用到的仍然是设备模型的相应函数,只是把相应的pci设备挂载到PCI总线的device队列,而凭此驱动则挂载到pci总线的driver队列,对应的匹配函数,探测函数,都是pci总线提供的函数。因为pci设备驱动的安装跟usb设备驱动的安装模式相似,因此,其繁杂的地方则是如何发转载 2016-06-20 10:43:40 · 1898 阅读 · 0 评论 -
Linux 0.11进程共享同一个页目录表
打断一下各位,前面关于我提问的 linux0.11中所有进程共享一个页目录表,而所有进程平分4G空间,每个64MB,每个应用程序编译时入口地址相同,而载入运行时,由于所有进程的产生的虚拟地址都一样,一张页目录表无法将相同的虚拟地址映射到不同的物理地址。即无法将进程空间分配到每个64M地址中。 为了解决这个问题,可以有两种方法:(1)就是每个应用程序在编译链接时,分别预先指定入口地址为1x64m ,原创 2016-09-07 18:18:42 · 1706 阅读 · 0 评论