![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内核笔记
HelloNerd
这个作者很懒,什么都没留下…
展开
-
浅谈linux的进程的静态特性——pid,进程状态,进程链表,等待队列
本文有点长,建议分开食用。本文可以看做是介绍进程的一些特性,也可以看做是对进程描述符的各个重要字段的介绍。1. 什么是进程进程就是程序执行的一个实例。进程在创建时执行和父进程相同的代码,但是拥有自己的独立的数据拷贝(堆栈)。所以,进程可以看做一个分配系统资源的实体。系统资源包括CPU时间、内存。在linux源代码里,进程可以称之为task,也可以称之为thread。所以内核代码里看到这两个单词,都...原创 2018-06-14 17:42:04 · 796 阅读 · 0 评论 -
浅谈linux进程的切换
前文介绍了linux的进程的一些静态特性,这里开始简单描述一下进程是怎么切换的。首先,什么是进程切换?进程切换就是为了控制进程的执行,内核挂起正在CPU上运行的进程,并恢复以前挂起的某个进程的行为。什么时候会切换?发生schedule()的时候。都要切换什么?切换地址空间、内核态堆栈和硬件上下文。硬件上下文是什么?进程切换的时候,要把被切出的进程的一些寄存器信息存起来,等到再切回这个进程的时候,要...原创 2018-06-14 22:57:42 · 2949 阅读 · 0 评论 -
Linux的内存寻址——浅谈分段和分页机制
本文会以80x86架构,linux2.6为例,简单介绍内存的分段和分页机制。1. 三种内存地址关于内存地址,首先要了解它有三种,分别是逻辑地址、线性地址和物理地址。把逻辑地址转换为线性地址是由一个叫做分段单元的硬件电路完成的。同样地,还有一个叫做分页单元的硬件电路负责把线性地址转换为物理地址。那现在很明确地,当我们讨论分段的时候,就是讨论逻辑地址是如何转换成线性地址的。当我们讨论分页的时候,就是在...原创 2018-06-01 18:10:58 · 1453 阅读 · 0 评论