随笔分类 - 操作系统内核
摘要:声明 : 本文仅代表个人理解,如若有错误的地方,欢迎留言指正,感谢观看。 进程简述 : 进程是处于执行期的程序以及相关资源的总称,是管理资源的最小单位。 线程简述 : 线程是进程中活动的对象,是调度的最小单位。每个线程都拥有一个独立的程序计数器,栈,和寄存器状态组。 对于 Linux 内核实现而言,
阅读全文
摘要:内核采用 struct page 来表示一个物理页,在其中记载了诸多物理页的属性,比如 物理页被几个线程使用(如若没有则表示该页可以释放),页对应的虚拟地址。 首先需要知道的是,分配物理页可以分为两个步骤 : 1) 寻找内核中空闲 处于3-4G 4K对齐的虚拟地址。 i)虚拟页是否空闲 由页表项的属
阅读全文
摘要:什么是同步机制? 同步机制 :在并发程序设计中,各进程对公共变量的访问必须加以制约,这种制约称为同步。 为什么需要同步机制? 当计算机只运行一个线程的时候,自然不需要同步。所有的资源都是这个线程独享。那么就不会有任何竞争。 但是当计算机出现了多个线程的时候,那么就出现了各种麻烦,为了处理这些麻烦我们
阅读全文
摘要:什么是内存管理 ? 首先内存管理管理的主要对象是虚拟内存,但是虚拟内存对应的映射主要为物理内存,其次也可能通过交换空间把虚拟内存与硬盘映射起来,既然如此,那我们先了解物理内存的管理。 对于物理内存而言,首先我们需要知道的是,linux x86体系结构中内核主要处于 0 - 1G(物理地址)中。而物理
阅读全文
摘要:背景 : 在此文章里会从分页分段机制去解析Linux内存管理系统如何工作的,由于Linux内存管理过于复杂而本人能力有限。会尽量将自己总结归纳的部分写清晰。 从实模式到保护模式的寻址方式的不同 : 16位CPU的寻址方式 : 在 8086 CPU 中,提供了两类寄存器来进行寻址,分别为段寄存器(例如
阅读全文
摘要:背景: 刚学完这块,于是我把它的关系结构画了一张图来表述,并且在图上解答了我自己想到的几个问题。 关系如图所示:
阅读全文
摘要:序言(废话) : 在看书的过程中发现一开始不是很能理解pmtest8的目的,以及书上说得很抽象..于是在自己阅读过源代码后,将一些自己的心得写在这里。 正文 : 讲解顺序依然按照书上贴代码的顺序来。但是是几乎逐句解释的。可能会稍微有点啰嗦。废话就不多说了直接贴代码。 LABEL_DESC_FLAT_
阅读全文