
Linux内核
文章平均质量分 94
对《Linux内核设计与实现》的笔记
F l e
我们不生产代码,我们只是代码的搬运工
展开
-
Linux内核(三)——内存寻址
这是因为段选择符的长度为13比特,所以总共有2^13个数值,但是0值的段选择符是无效的。段描述符的作用就是让CPU能够知道要访问的是内存的哪个位置,如下图中内存有一个段(比如数据段)是CPU要访问的,原本的方式是段寄存器中的段选择符指向描述符表中对应的段描述符,段描述符再指向内存中的段。②从段选择符的index字段计算段描述符的地址,index字段的值乘以8(一个段描述符的大小),这个结果与gdtr或ldtr寄存器中的内容相加(这个内容就是gdt或者ldt的地址,也就是其在内存中的位置)。原创 2024-12-05 18:02:14 · 1223 阅读 · 0 评论 -
Linux内核(二)——内核编译与安装
如果一个函数较大,会被反复调用,且没有特别的时间上的限制,我们并不赞成把它做成内联函数。内联函数必须在使用前就将其定义好,否则编译器就没法将这个函数展开。原创 2024-11-23 16:45:08 · 1887 阅读 · 0 评论 -
Linux内核(一)——Linux内核简介
单内核:单内核就是把它从整体上作为一个单独的大过程来实现,同时也运行在一个单独的地址空间上。内核之间的通信是微不足道的,因为大家都运行在内核态,并身处同一地址空间,内核可以直接调用函数,这与用户空间应用程序没有什么区别。不仅如此,Linux还避其微内核设计上性能损失的缺陷,让所有事情都运行在内核态,直接调用函数,无须消息传递。内核的概念:内核(Kernel)是操作系统的核心部分,是操作系统中直接与硬件交互的部分。内核空间:内核空间是操作系统核心运行的环境,它直接与硬件交互,控制所有系统资源。原创 2024-11-22 17:14:50 · 2116 阅读 · 0 评论