http://user.qzone.qq.com/89743622/blog/1238175009 英文版(NND) [ 本帖最后由 hexinxong 于 2009-3-28 01:51 编辑 ]
第五章 5.5 Linux的系统呼叫 5.5.1系统呼叫介面 系统呼叫(通常称为syscalls)是Linux內核与上层应用程式进行交互通信的唯一介面,参见图5-4所示。从对中断机制的說明可知,用戶程式透过直接或间接(透过程式库函数)呼叫中断int 0x80,並在eax寄存器中指定系统呼叫功能号,即可使用內核资源,包括系统硬件资源。 不过通常应用程式都是使用具有标批介面定义的 C 函数库中的函数间接地使用內核的系统呼叫,见图5-19所示。 通常系琉...
第五章 Linux内核体系结构 在本章这里,我们首先要介绍的是Linux內核的编制模式和体系结构,然后详细描述了Linux內核原始码目錄中组织形式和子目錄中各个代码档的主要功能,以及基本呼叫的层次关系等。接着就是直接走入正题,从內核原始档案Linux/目錄下的第一个档Makefile开始,对每一行代码进行详细注释說明。本章內容可以看作是对內核原始码的总结概述,也可以作为閱读后续章节的参考资讯。对於较难理解的地方可以先跳过,...
.......(续第四章) 4.5 保护 保护机制是可靠的多工执行环境所必须的。它可用於保护各个任务免受相互之间的干扰。在软体发展的任何阶段都可以使用段级和页级保护来协助寻找和检测设计问题和错误。当程式对错误记忆体空间执行了一次非期望的引用,保护机制可以阻止这种操作並且报告此类事件。 保护机制可以被用於分段和分页机制。处理器寄存器的2个Bit位元定义了当前执行程式的特权级,称为当前特权级CPL(Current Privilege Level)...
.......(续第四章) 4.3.2 段描述符号表 段描述符号表是段描述符号的一个阵列,见图4-8所示。描述符号表的长度可变,最多可以包含8192个8位元组描述符号。有两种描述符号表:全域描述符号表GDT(Global descriptor table):区域描述符号表LDT(Local descriptor table)。 描述符号表储存在由作业系统维护著的特殊资料结构中,並且由处理器的记忆体管理硬体来参照引用。这些特殊结构应该保存在仅由作业系统软体存取的受保护的记忆...
深入介绍Linux内核(第四篇) 第四章 本文介绍的Linux作业系统是以Intel公司80X86及相关週边硬体组成的PC系统为基础的。有关80X86 CPU系统程式设计的最佳参考书籍当然是Intel公司发行的一套三卷的英文版《IA-32 Intel体系结构软体发展者手冊》,尤其足其中第3卷:《系统程式设计指南》是理解使用80X86 CPU的作业系统工作原理或进行系统程式设计必不可少的参考资料,实际上本章內容就主要取自於该书。这些资料可以从Intel公司的网...
深入介绍Linux内核 第三章-上篇 语言编译过程就是把人类能理解的高阶语言转換成电脑硬体能理解和执行的二进位机器指令的过程。这种转換过程通常会產生一些效率不是很高的代码,所以对一些执行效率要求高或性能影响较大的部分代码通常就会直接使用低级组合语言来编写,或者对高阶语言编译產生的组合语言程式再进行人工修改最佳化处理。本章主要描述Linux 0.12內核中使用的程式语言、目标档格式和编译环境,主要目标是提供閱读Linu...
深入介绍Linux内核 第二章 每一种系统大概可分为四个基本部分组成,见图2-l所示。其中包含有能源、输入部分、处理中心和输出部分。见图2-l所示. 电脑系统也相似,也主要由这四部分组成。稍为有点差别,就是电脑系统的处理中心与输入/输出部分的通道是共同使用的,见图2-1 (b) 电脑系统包括有硬件部分和软件部分,两者之间互相依存,缺一不可。硬件部分就是电脑系统的实体,是软件执行和储存的平台。软件是控制电脑硬件操作和动...