Linux内核修炼
文章平均质量分 74
fengxiaoke_fxk
东北大学
展开
-
Linux内核0.12——8086中断
中断:CPU不再继续依序执行指令,而是转去处理某一从CPU外部或内部产生的特殊信息从汇编角度理解:内中断:对于8086CPU来说,以下发生在CPU内部的的情况会产生内中断:除法错误;单步执行;执行into指令;执行int指令。其相应的中断类型码为0,1,4,n(n为字节型立即数)中断向量表:8086CPU利用此表中的中断类型码来找到相应的中断处理程序的入口地址;中断向量表必须存入内原创 2012-10-16 22:44:32 · 1473 阅读 · 0 评论 -
Linux内核0.12——微机组成结构
冯诺依曼体系结构计算机:CPU、ALU、存储器、输入输出设备总线:传统PC总线:CPU通过数据总线、地址总线和控制总线与外部设备进行通信,所有的外部设备都将连都这三条总线上,也就是说只有CPU和外部设备两个层次,效率肯定不行现代PC总线:在intel的设计中,CPU、AGP和存储器接口连在了I/O北桥上,其他的传输速度较慢的设备则连接到I/O南桥上,包括CPU在内的所有硬件都加入了缓冲原创 2012-10-21 10:23:10 · 1076 阅读 · 0 评论 -
Linux内核0.12——内核编程语言和环境
/********AT&T 汇编格式********/1、为了维持与gcc输出汇编程序的兼容性,as汇编器使用AT&T系统V的汇编语法,这里主要说明一下它与intel汇编的语法区别2、AT&T与intel汇编语法格式的区别1)寄存器引用:mov %eax,%ebx2)操作数顺序:mov %eax(源),%ebx(目的)3)立即数格式:mov $4,%ebx(如果不加$,则认为4原创 2012-10-29 09:15:01 · 1754 阅读 · 3 评论 -
Linux内核0.12——理清内核相关知识
1、Linux内核的主要用途是为了与计算机硬件进行交互,实现对硬件的编程控制和接口操作,调度对硬件资源的访问,并为计算机上的用户程序提供一个高级的执行环境和对硬件的虚拟接口2、Linux内核结构,如图:3、虚拟地址:由程序产生的由段选择符和段内偏移地址两部分组成的地址;虚拟地址空间由GDT映射的全局地址空间和由LDT映射的局部地址空间组成。逻辑地址:由程序产生的与段相关的偏移地原创 2012-11-26 23:52:46 · 1299 阅读 · 0 评论 -
Linux内核0.12——从一个简单的多任务内核实例学习保护模式
《Linux内核完全剖析——基于0.12内核》(赵炯著)P.140/******引导启动程序boot.s******/此程序仅能加载长度不超过16个扇区的head代码,并且直接使用BIOS默认设置的中断向量号首先利用BIOS中断把内核代码加载到内存0x10000处,然后移动到内存0处最后进入保护模式,并跳转到内存0开始处继续运行把内核代码移动到物理内存0开始处的主要原因是为了设原创 2012-11-21 10:46:54 · 2434 阅读 · 1 评论