深入分析Linux内核源代码阅读笔记 第四章、第五章

我的GIS/CS学习笔记:https://github.com/yunwei37/ZJU-CS-GIS-ClassNotes
<一个浙江大学本科生的计算机、地理信息科学知识库 >

第四章 进程描述

本章将对进程进行全面的描述。

进程定义:所谓进程是由正文段(Text)、用户数据段(User Segment)以及系统数据段(System Segment)共同组成的一个执行环境。它代表程序的执行过程,是一个动态的实体。

程序定义:程序只是一个普通文件,是一个机器代码指令和数据的集合。程序是一个静态的实体。

进程实体由 3 个独立的部分组成:

  • 正文段(Text):存放被执行的机器指令。
  • 用户数据段(User Segment):存放进程在执行时直接进行操作的所有数据
  • 系统数据段(System Segment):该段有效地存放程序运行的环境

Linux 中的进程概述

Linux 中的每个进程由一个 task_struct 数据结构来描述,任务(Task)和进程(Process)是两个相同的术语,task_struct 其实就是通常所说的“进程控制块”即 PCB。

  • Linux 支持多处理机(SMP)
  • Linux 也支持两种进程:普通进程和实时进程

task_struct 数据结构按其功能可做如下划分:

  • 进程状态(State);
  • 进程调度信息(Scheduling Information);
  • 各种标识符(Identifiers);
  • 进程通信有关信息(IPC,Inter_Process Communication);
  • 时间和定时器信息(Times and Timers);
  • 进程链接信息(Links);
  • 文件系统信息(File System);
  • 虚拟内存信息(Virtual Memory);
  • 页面管理信息(page);
  • 对称多处理器(SMP)信息;
  • 和处理器相关的环境(上下文)信息(Processor Specific Context)
  • 其他

task_struct 结构描述

进程执行时,它会根据具体情况改变状态;

  • 可运行状态:要么正在运行、要么正准备运行。
  • 等待状态:可中断的等待状态和不可中断的等待状态。
  • 暂停状态
  • 僵死状态

进程调度信息:调度程序利用这部分信息决定系统中哪个进程最应该运行

标识符(Identifiers):每个进程有进程标识符、用户标识符、组标识符

进程通信有关信息(IPC,Inter_Process Communication)

进程链接信息(Links):程序创建的进程具有父/子关系。

时间和定时器信息(Times and Timers):实时定时器、虚拟定时器和概况定时器

虚拟内存信息(Virtual Memory)

页面管理信息:当物理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值