当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

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

资源类别:文库,文档格式:PPT,文档页数:158,文件大小:351.5KB,团购合买
1 Linux进程概述 2 Linux进程的状态和标识
点击下载完整版文档(PPT)

第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 结构的指针数组

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共158页,可试读30页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有