- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux;Linux系统管理与应用;本章教学安排;三、重点内容
进程的结构
内存的分配
设备的创建
内核的裁剪; 主要内容
Linux核心的一般结构
进程的概念、进程的调度和进程通信
文件系统的构成和管理
内存管理
设备驱动及中断处理; 5.1 概 述;Linux内核概述;Linux内核概述;Linux内核概述;Linux内核的概述;Linux内核的概述;Linux内核的概述;
从结构上看,Linux操作系统是采用单块结构的操作系统。
一般说来,可以将操作系统划分为内核和系统程序两部分。
;●进程控制系统用于进程管理、进程同步、进程通信、进程调度和内存管理等。
●内存管理控制内存分配与回收。
●文件系统管理文件、分配文件空间、管理空闲空间、控制对文件的访问并为用户检索数据。
●Linux系统支持三种类型的硬件设备:字符设备、块设备和网络设备。
●核心底层的硬件控制负责处理中断以及与机器通信。;5.2 进 程 管 理-- 进程和线程的概念;;2.Linux进程状态
; 3.进程的模式和类型
在Linux系统中,进程的执行模式划分为用户模式和内核模式
按照进程的功能和运行的程序来分,进程划分为两大类:一类是系统进程,另一类是用户进程
;4.Linux线程
Linux把线程定义为进程的“执行上下文”
具有一段可执行的程序、专用的系统堆栈空间、私有的“线程控制块”(即thread_struct数据结构)
缺少自己的存储空间 ;5.2.2 进程的结构; 2.进程系统堆栈
每个进程都有一个系统堆栈,用来保存中断现场信息和进程进入内核模式后执行子程序(函数)嵌套调用的返回现场信息。
每个进程的系统堆栈和task_struct数据结构之间存在紧密联系,因而二者物理存储空间也连在一起
系统堆栈的大小静态确定,用户堆栈可在运行时动态扩展 ;5.2.3 对进程的操作; 2.进程的等待
父进程可用系统调用wait3( )等待它的任一个子进程终止,也可以用系统调用wait4( )等待某个特定的子进程终止。
wait3( )算法如下:
(1)如果父进程没有子进程,则出错返回。
(2)如果发现有一个终止的子进程,则取出子进程的进程号,把子进程的CPU使用时间等加到父进程上,释放子进程占用的task_struct和系统空间堆栈,以供新进程使用。
(3)如果发现有子进程,但都不处于终止态,则父进程睡眠,等待由相应的信号唤醒。 ;等待进程-wait函数族;;;;杀死程序;进程的终止
进程可使用系统调用exit( )终止自己
其实现算法如下:
(1)撤消所有的信号量。
(2)释放其所有的资源,包括存储空间、已打开的文件、工作目录、信号处理表等。
(3)置进程状态为“终止态”(TASK_ZOMBIE)。
(4)向它的父进程发送子进程终止的信号。
(5)执行进程调度。;使用aort函数;使用kill函数;;; 4.进程映像的更换
改换进程映像的工作很复杂,是由系统调用execve( )实现的,它用一个可执行文件的副本来覆盖该进程的内存空间。
ELF可执行文件格式示意图
execve( )系统调用的基本算法如下:
(1)验证文件的可执行性,即用户
有权执行它。
(2)读文件头,检查它是一个可装入模块。
(3)释放原有的内存空间。
(4)按照可执行文件的要求分配新的内存空间,并装入内存。;5.2.4 进程调度;3.调度时机
(1)当前进程调用系统调用nanosleep( )或者pause( ),使自己进入睡眠状态,主动让出一段时间的CPU使用权。
(2)进程终止,永久地放弃对CPU的使用。
(3)在??钟中断处理程序执行过程中,发现当前进程连续运行的时间过长。
(4)当唤醒一个睡眠进程时,发现被唤醒的进程比当前进程更有资格运行。
(5)一个进程通过执行系统调用来改变调度策略或者降低自身的优先权(如nice命令),从而引起立即调度。
4.调度算法
;5.2.5 shell基本工作原理 ;;进程属性;进程标识号;;Real和effective标识号;;用户和用户组的信息;;使用system创建进程;;Fork系统调用创建进程;
文档评论(0)