2019-2020-1 20199327《Linux内核原理与分析》第七周作业

进程的描述与创建

进程的描述—提纲挈领

操作系统内核实现操作系统的三大管理功能:

  1. 进程管理——最核心的功能;
  2. 内存管理;
  3. 文件系统;

PCB——进程控制块

进程控制块(PCB)(系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程。系统利用PCB来控和管理进程,所以PCB是系统感知进程存在的唯一标志。进程与PCB是一一对应的)在不同的操作系统中对进程的控制和管理机制不同,PCB中的信息多少不一样,通常PCB应包含如下一些信息。

进程状态的转换

进程的创建

init_task

进程描述符,是第一个进程(0号进程),它的初始化通过硬编码的方式固定下来,而其他进程都是通过do_fork复制父进程的方式初始化。

内存管理相关代码。

mm和active_mm是和进程地址空间、内存管理相关的数据结构指针,每个进程都有若干个数据段,代码段,堆栈段。

进程之间的父子、兄弟关系

父子兄弟之间复杂的链表关系都通过指针或者双向链表关联起来。

保存进程上下文中CPU相关一些状态信息的数据结构

struct thread_struct最重要是sp和ip,主要保存进程上下文CPU相关状态。

  1. sp用来保存进程上下文中的ESP寄存器状态;
  2. ip用来保存进程上下文中的EIP机寄存器状态。

实验

构建Linux内核的menu

下载内核源码并制造根文件系统

调试

内核启动,创建shell调试

posted @ 2019-11-03 16:57  肖子玉20199327  阅读(156)  评论(0编辑  收藏  举报