《操作系统原理》课程教学资源(PPT课件讲稿)第4章 Linux进程管理

第4章 inux进程管狸
第4章 Linux进程管理

§1Lnux进程概述 ●Liux是一个多任务多用户操作系 统 ●从操作系统内部看,一个任务task) 就是一个进程( process ●在lnux中“进程”和“任务”的概 念是 相同的
§1 Linux进程概述 ⚫ Linux是一个多任务多用户操作系 统 ⚫从操作系统内部看,一个任务(task) 就是一个进程(process) ⚫在linux中“进程”和“任务”的概 念是 相同的

、 Linux进程的组成 Lnux进程是由 正文段(te) 用户数据段 user segment) 系统数据段( system segment) 组成的一个动态实体
一、 Linux进程的组成 Linux进程是由: •正文段(text) •用户数据段(user segment) •系统数据段(system segment) 组成的一个动态实体

●当一个可执行程序装入 Linux系统中 运行时就形成了一个进程。 ●可执行程序的代码就形成了进程的正 文段。 ● Linux的正文段具有只读的属性。 ●可执行程序的数据形成了进程的用户 数据段。 ●用户数据段包括进程在运行中使用的 数据区,以及进程使用的堆栈
⚫当一个可执行程序装入Linux系统中 运行时就形成了一个进程。 ⚫可执行程序的代码就形成了进程的正 文段。 ⚫Linux的正文段具有只读的属性。 ⚫可执行程序的数据形成了进程的用户 数据段。 ⚫用户数据段包括进程在运行中使用的 数据区,以及进程使用的堆栈

●进程的系统数据段存放着进程的控 制信息。其中包括进程控制块PCB 和操作系统内核运行时使用的堆栈。 ● Linux中,进程控制块PCB是一个名 字为 task struct的结构体,称为任 务结构体
⚫进程的系统数据段存放着进程的控 制信息。其中包括进程控制块PCB 和操作系统内核运行时使用的堆栈。 ⚫Linux中,进程控制块PCB是一个名 字为task_struct的结构体,称为任 务结构体

●当一个进程被创建时,系统就为该进 程建立一个 task struct任务结构体。 当进程运行结束时,系统撤消该进程 的任务结构体。 ●所以进程的任务结构体是进程存在的 唯一标志
⚫当一个进程被创建时,系统就为该进 程建立一个task_struct任务结构体。 ⚫当进程运行结束时,系统撤消该进程 的任务结构体。 ⚫所以进程的任务结构体是进程存在的 唯一标志

● Linux把系统中所有进程的任务结构 体集中进行管理,并根据需要把它们 组织成各种不同的链表(队列)。 个主要的链表结构是把所有进程 的任务结构体相互链接成一个环行 双向链表 链表首结点就是初始化进程nt的任 务结构体 init task
⚫Linux把系统中所有进程的任务结构 体集中进行管理, 并根据需要把它们 组织成各种不同的链表(队列)。 ⚫ 一个主要的链表结构是把所有进程 的任务结构体相互链接成一个环行 双向链表. ⚫ 链表首结点就是初始化进程init的任 务结构体init_task

●这个双向链表是通过任务结构体中 的两个成员项指针相互链接而成: struct task struct k next task: struct task struct x prev task; ●系统还在的内核空间设置了一个指 针数组task],该数组的每个元素 指向一个任务结构体 ●task数组又称为task向量
⚫这个双向链表是通过任务结构体中 的两个成员项指针相互链接而成: struct task_struct * next_task; struct task_struct * prev_task; ⚫系统还在的内核空间设置了一个指 针数组task[ ],该数组的每个元素 指向一个任务结构体 ⚫task数组又称为task向量

init task task[ 任到 进 ask矢量)结 程0进 2 结构体」程 进 n 在务程 结构 510 2 511 任务 nr tasks 结构 进程 n
task[ ] (task矢量 ) init_task 任务 结构体 任务 结构体 任务 结构体 任务 结构体 进程0进程1进程2进程n nr_tasks n 511 510n012 …

●task数组的大小决定了系统中能够 容纳进程的最大数量。 ●task数组的定义如下: struct task struct *task[NR TASKS I&init task: ●task[]数组是一个指向 task struct 结构的指针数组
⚫ task数组的大小决定了系统中能够 容纳进程的最大数量。 ⚫task 数组的定义如下: struct task_struct *task[NR_TASKS] = {&init_task}; ⚫task[ ]数组是一个指向task_struct 结构的指针数组
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《操作系统原理》课程教学资源(PPT课件讲稿)第3章 进程管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)Linux核心体系结构简介.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)(英文版)Linux Development Environment.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)Linux程序设计简介.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第2章 Linux概述.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第1章 操作系统概论.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)前言.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)security protocols.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Public Key Cryptography2.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Public Key Cryptography1.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)overview.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Attacks, Services, and Mechanisms.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)NTHEORY 2 Group Theory and Number.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Lecture 3 Number Theory Basics I.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)HashFunctions.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Digital Signature.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)CRYPTO12.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-L&D.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-DES.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-AES.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第4章 存储管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第6章 Linux存储管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第七章 文件管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第八章 Linux文件管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第九章 设备管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第十章 Linux设备管理.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第六章 作业管理.ppt
- 《操作系统原理》课程教学资源:教学大纲标准格式.doc
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)目录(崔雅娟).ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第八章 结构及其它.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第二章 数据类型、运算符与表达式.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第九章 文件.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第六章 数组.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第七章 指针.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第三章 语句及控制结构.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第四章 函数和程序结构.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第五章 预处理命令.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第一章 程序设计概述.ppt
- 高等学校计算机专业教材:《数值计算方法》课程教学资源(PPT课件)第一章 插值方法.ppt
- 高等学校计算机专业教材:《数值计算方法》课程教学资源(PPT课件)第二章 贝齐尔曲线和B样条曲线.ppt