- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 进程与存储管理示例 6.1 Linux进程和存储管理简介 6.2 Linux进程结构 6.3 进程控制 6.4 Linux进程调度 6.5 进程通信 6.6 Linux存储管理 本章小结 习题 本章以Linux 2.4 为主,介绍Linux的进程和存储管理方法。 6.1 Linux进程和存储管理简介 Linux系统的核心部分从整体上说可以分为两大部分,即“静”的文件系统和“动”的进程控制系统。 文件系统主要用来存放、管理那些暂时不被处理机执行的程序和数据,它为程序和数据文件分配空间,控制文件存取和为用户检索信息。 进程控制系统则负责为将要执行的程序和数据文件分配内存空间,并负责进程调度、控制并发进程的执行速度和分配必要的资源,以及负责进程通信和内存管理等。 为了使操作系统内核能在每次开机时顺利地装入内存,用户必须事先把Linux操作系统的执行代码以文件方式存储在计算机硬盘设备中,并对计算机系统中的相应资源,例如高速缓存、交换区等进行初始化。这一过程被称为操作系统的安装过程。 Intel 80x86提供了4种不同权限的执行模式,Linux系统使用其中2种模式:核心态和用户态。 两态之间的主要区别是,用户态下的进程能存取它们自己的指令与数据,但不能存取核心指令和数据。然而,核心态下的进程能存取核心和用户地址。另外,某些机器的指令是特权指令(如输入输出指令),在用户态下执行会引起错误,只能在核心态下执行。 在不同的执行模式下执行时,同一进程使用不同的堆栈,分别称为核心态堆栈和用户态堆栈。在进程切换到不同执行模式时候,操作系统负责为进程切换到相应的堆栈。 Linux系统中进程通过请求操作系统服务进入核心态的机制称为系统调用。具体实现和硬件平台的体系结构相关,在80x86系统中,用户进程通过int 0x80指令请求系统调用,系统调用完成后通过iret指令返回到用户态。 它们之间的关系如图6.2所示。 6.2 LINUX进程结构 6.2.1 进程的概念 在LINUX系统中,进程被赋予了下述特定的含义和特性: (1) 一个进程是对一个程序的执行。 (2) 一个进程的存在意味着存在一个“task_struct”结构,它包含着相应的进程控制信息。 (3) 一个进程可以生成或者消灭其子进程 (4) 一个进程是获得和释放系统资源的基本单位 第(2)点反映了进程的静态特性 一个进程的静态描述是由三部分组成的,即进程状态控制块PCB,进程的程序文本(正文)段以及进程的数据段。 这三部分统称为进程上下文. 6.2.2 进程的虚拟地址结构 Linux进程的虚拟地址结构依赖于硬件,本书默认那些与硬件有关部分依赖于intel 80x86。80x86平台中,每个进程拥有一个4GB的虚拟空间。其中0-3GB的地址空间有用户进程使用,3-4GB的地址空间称为核心地址空间,在所有进程中共享,只被核心使用,用户进程不能使用。 Linux进程由逻辑段组成,一个进程的虚拟地址空间被分成若干个虚拟区域来存放上述的逻辑段。区是虚拟地址空间上的一段连续区域,是共享、保护以及进行内存分配和地址变换的独立实体。 Linux中的区和段页式管理中的段非常相像。所不同的是,段页式管理中的虚拟地址空间是二维的,而Linux的各个进程的分区虚拟地址仍然是一维的。 6.2.3 进程上下文 Linux进程上下文是由正文段,也就是CPU 执行指令的集合、核心数据结构、和有关寄存器的内容与数据段组成。 1. 进程上下文的基本结构 进程上下文的各个部分按照一定的规则分布在进程虚拟空间的不同位置上。对于不同的机器和硬件结构,进程上下文的分布规则不同。例如,在80x86上,其虚拟地址空间划分为进程空间和系统空间两大部分。其寻址范围为 232个单元。其中,虚拟空间的低位地址的半部分(0 ~ 3G)是进程虚拟空间,其余为所有进程共享的系统空间,操作系统核心程序占据这个区。 图6.3 进程空间结构 图6.4 执行copy程序时用户栈和核心栈的变化 2. 进程上下文的组成部分 进程上下文由task_struct结构、用户栈和核心栈的内容、用户地址空间的正文段、数据段、硬件寄存器的内容以及页表等组成。 6.2.4 进程的状态和状态转换 一个进程的生命期是由一组状态来刻画的。这些状态是进程task_struct结构的一部分。 图6.5进程状态转换图 6.3 进 程 控 制 6.3.1 Linux启动及进程树的形成 当用户打开PC的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序lilo或grub开
您可能关注的文档
最近下载
- 领读经典-外国文学(1)(山东大学)中国大学MOOC慕课 章节测验期末考试客观题答案.docx VIP
- 《电机与拖动基础》课件(共十一章).ppt VIP
- 《PyTorch与深度学习实战》第2章 PyTorch深度学习通用流程.pptx VIP
- 简谱D 想着我Think of Me简谱歌剧魅影.pdf VIP
- 2023-2024学年安徽省马鞍山市第八中学九年级上学期期中考试化学试卷.pdf VIP
- 《PyTorch与深度学习实战》第3章 PyTorch深度学习基础.pptx VIP
- 好书推荐《朝花夕拾》读书分享名著导读PPT课件.pptx VIP
- 22个专业95个病种中医临床诊疗方案目录44.pdf VIP
- 精品解析:天津市第四十三中学2024-2025学年高一上学期第一次月考英语试题(解析版).docx VIP
- 2025年北京市东城区九年级初三一模语文试卷(含答案).docx
文档评论(0)