版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章Linux内核简介1进程是现代操作系统的核心概念,它用来描述程序的执行过程,是实现多任务操作系统的基础。操作系统的其他所有内容都是围绕着进程展开的。因此,正确地理解和认识进程是理解操作系统原理的基础和关键。28.1进程管理8.1.1程序的顺序执行与并发执行1.程序的顺序执行 程序的各操作步骤之间是依序执行的,程序与程序之间是串行执行的(1)顺序性(2)封闭性(3)可再现性38.1进程管理8.1.1程序的顺序执行与并发执行2.程序的并发执行 若干程序或程序段同时运行。它们的执行在时间上是重叠的。(1)间断性(2)没有封闭性(3)不可再现性48.1进程管理8.1.1程序的顺序执行与并发执行3.并发执行的潜在问题 程序在并发执行时会导致执行结果的不可再现性,这是多道程序系统必须解决的问题。58.1进程管理设某停车场使用程序控制电子公告牌来显示空闲车位数。空闲车位数用一个计数器C记录。车辆入库时执行程序A,车辆出库时执行程序B,它们都要更新同一个计数器C。并发执行示例如果两个程序的运行时序如表所示,即一个程序对C进行更新的操作是在另一个程序的更新操作全部完成之后才开始,则C被正确地更新了。时间T0T1T2T3T4T5程序AC
NN-1N
C
程序B
C
MM+1M
CC的值100100999999100并发执行示例如果两个程序的运行时序如表所示穿插地进行,即当一个程序正在更新C,更新操作还未完成时,CPU发生了切换,另一个程序被调度运行,并且也对C进行更新。时间T0T1T2T3T4T5程序AC
N
N-1N
C
程序B
C
MM+1
M
CC的值10010010010099101并发执行示例8.1.2进程的概念1.进程进程是一个可并发执行的程序在一个数据集上的一次运行程序是进程的组成部分,是进程的执行文本,而进程是程序的执行过程程序是静态的指令集合,可以永久存在;而进程是动态的过程实体,动态地产生、发展和消失98.1进程管理8.1.2进程的概念2.进程的特性(1)动态性(2)并发性(3)独立性(4)异步性108.1进程管理8.1.2进程的概念3.进程的基本状态(1)就绪态(2)运行态(3)等待态118.1进程管理8.1.2进程的概念3.进程状态的转换128.1进程管理8.1.3进程控制块进程由程序、数据和进程控制块3个基本部分组成:程序是进程执行的可执行代码数据是进程所处理的对象进程控制块用于记录有关进程的各种信息。138.1进程管理8.1.3进程控制块进程控制块(PCB)是为管理进程而设置的一个数据结构,用于记录进程的相关信息:(1)进程描述信息(2)进程控制与调度信息(3)资源信息(4)现场信息148.1进程管理8.1.4Linux系统中的进程1.Linux进程的状态158.1进程管理8.1.4Linux系统中的进程Linux进程的基本状态(1)可执行态(2)睡眠态(3)暂停态(4)僵死态168.1进程管理8.1.4Linux系统中的进程2.Linux进程的状态转换过程新创建的进程处于可执行的就绪态,等待调度执行处于可执行态的进程在就绪态和运行态之间轮回运行态、睡眠态和就绪态形成一个回路运行态、暂停态和就绪态也构成一个回路处于运行态的进程执行结束后进入僵死态178.1进程管理8.1.4Linux系统中的进程3.Linux的进程描述符Linux系统用task_struct结构来记录进程的信息进程标识号(pid):标识该进程的一个整数归属关系(uid、gid):进程的属主和属组的标识号家族关系(parent、children、sibling):关联父进程、子进程及兄弟进程的链接指针链接指针(tasks、run_list):将进程链入进程链表和可执行队列的指针状态(state):进程当前的状态。188.1进程管理调度信息(policy、prio、time_slice):调度使用的调度策略、优先级和时间片等。记时信息(start_time、utime、stime):进程建立的时间以及执行用户代码与系统代码的累计时间。信号信息(signal、sighand):进程收到的信号以及使用的信号处理程序。退出码(exit_code):进程运行结束后的退出代码,供父进程查询用。文件系统信息(fs、files):包括文件系统及打开文件的信息。地址空间信息(mm):进程使用的地址空间。硬件现场信息(thread):进程切换时保存的CPU寄存器的内容。运行信息(thread_info):有关进程运行环境、状况的CPU相关信息。198.1进程管理1.查看系统进程信息要对进程进行监测和控制,首先必须要了解当前进程的情况(1)ps命令使用该命令可以确定有哪些进程正在运行以及进程运行的状态、进程是否结束、进程有没有僵死,以及哪些进程占用了过多的资源等208.2进程管理的命令例1.显示所有的进程。[root@rhel~]#ps-e例2.显示所有不带控制带终端的进程,并显示用户名和进程的起始时间。[root@rhel~]#ps-aux例3.显示root用户的进程。[root@rhel~]#ps-uroot21ps命令示例(2)top命令
使用top命令可以显示当前正在运行的进程以及关于它们的重要信息,包括它们的内存和CPU使用量。执行top命令可以显示目前正在系统中执行的进程,并通过它所提供的互动式界面,用热键加以管理。要退出top,按[q]键即可。228.2进程管理的命令选项选项含义-c列出进程时,显示每个进程的完整命令,包括命令名称、路径和参数等-d<间隔秒数>监控进程执行状况的间隔时间,单位以秒计算-n<执行次数>设置监控信息的更新次数-u<用户名|有效用户UID>仅监视指定有效用户UID或用户名匹配的进程-p<进程PID>仅监视指定进程UID的进程-U<用户名|用户UID>仅监视指定用户UID或用户名匹配的进程top命令常用选项(3)杀死进程使用kill命令可以杀死进程,在使用kill命令之前,需要得到要被杀死的进程的PID(进程号)用户可以使用ps命令获得进行的PID,然后用进程的PID作为kill命令的参数248.2进程管理的命令8.3进程通信25系统中的进程和系统内核之间,以及各个进程之间需要相互通信,以便协调彼此间的活动。Linux系统支持的进程通信机制信号机制管道SystemIPC机制8.3.1信号机制261.信号概念信号(signal,亦称做软中断)机制是在软件层次上对中断机制的一种模拟。异步进程可以通过彼此发送信号来实现简单通信。信号机制流程27系统预先规定若干个不同类型的信号运行进程当遇到相应事件,就把一个信号写到相应进程task_struct结构的signal位图接收信号的进程如果已收到信号,则执行预先规定好的信号处理程序处理之后,再返回原先正在执行的程序。2.信号分类,随系统而变,可分为:进程终止、进程执行异常系统调用出错报警信号终端交互作用、系统一般用户自己留出定义信号的编号283.进程对信号可采取的处理方式(1)忽略信号(2)阻塞信号(3)由进程处理该信号(4)由系统进行默认处理294.对信号的检测和处理流程对信号的检测和响应是在系统空间进行的:从系统空间返回用户空间之前进行信号检测当前进程在内核中进入睡眠以后刚被唤醒,要检测有无信号308.3.2管道文件31管道是Linux中最常用的IPC机制,一个管道线就是连接两个进程的一个打开文件命令ls|more。在执行这个命令行时要创建一个管道文件和两个进程:“|”对应管道文件,命令ls对应一个进程,它向该文件中写入信息,称做写进程;命令more对应另一个进程,它从文件中读出信息,称做读进程。8.3.3SystemIPC机制32消息通信:进程可以通过系统调用建立消息队列,其他进程都可以向该队列发送消息或者接收消息,从而实现进程间的消息传递。共享内存:进程可以通过系统调用设立一片共享内存区,相关进程就可以读/写该共享区的信息信号量:信号量是系统内的一种数据结构,它的值代表着可使用资源的数量,可以被一个或多个进程进行检测和设置。8.4磁盘管理338.4.1磁盘分区(1)磁盘分区的目的:(a)易于管理和使用(b)有利于数据的安全(c)节约寻找文件的时间8.4磁盘管理34(2)磁盘分区的类别:基本分区能立刻生效但不能再分区扩展分区需要再次分区后才能生效,由扩展分区进行二次划分就是逻辑分区,况且逻辑分区没有数量上限制。注意:基本分区和扩展分区两种,他们总数目之和不能大于四个8.4磁盘管理35(2)磁盘分区命令:查看当前磁盘的分区状况:fdisk–l让硬盘进入分区模式:fdisk/dev/sdb要创建分区,需要输入n,并设置分区的起始和终止扇区8.4磁盘管理368.4.2磁盘格式化创建分区,对磁盘进行格式化后才可以进行数据的存储:磁盘的格式化命令:mkfs8.4磁盘管理378.4.3磁盘的挂载在挂载某个分区前,需要先建立一个以目录的形式挂载点。如果将分区挂载到该挂载点下,那么往这个目录写数据时,就都会写到该分区中。8.4磁盘管理38(1)挂载点目录:将磁盘切到根目录,media和mnt这两个目录被叫做挂载点目录。也可以自己创建一个目录作为一个挂载点目录。(2)临时挂载:将指定的一个目录作为挂载点目录时,如果挂载点的目录有文件,那么文件会被隐藏。如使用命令:mount/dev/sdb5/test,将/dev/sdb5挂载到test目录中8.4磁盘管理39(3)查看到当前系统上所有磁盘的挂载信息:df–h(4)查看对应分区的UUID(编号):blkid(5)永久挂载:使用永久挂载,即开机会自动挂载在命令行直接输入vim/etc/fstab就可以编辑,实现开机自动挂载由于内核还没有读取这个命令,需要使用mount-a来让内核读取这个文件。然后用mount|grep/test来过滤信息,查看是否成功挂载。8.5内存管理40早期Linux内存主要采用的是页式内存管理,但同时也采用了段机制程序所使用的地址,通常是没被段式内存管理映射的地址,称为逻辑地址通过段式内存管理映射的地址,称为线性地址8.5内存管理41在Linux操作系统中,虚拟地址空间分为:内核空间是控制计算机的硬件资源,并提供上层应用程序运行的环境用户空间即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源8.5内存管理42用户态的应用程序可以通过三种方式来访问内核态的资源:(1)系统调用(2)库函数(3)Shell脚本8.5内存管理43发生从用户态到内核态的切换:(1)系统调用(2)异常事件(3)外围设备的中断8.6设备管理448.6.1Linux设备管理综述 Linux设备管理的主要特点是把设备当作文件来看待,只要安装了设备的驱动程序,应用程序就可以像使用文件一样使用设备,而不必知道它们的具体存在形式和操作方式。8.6设备管理451.Linux设备的标识在Linux系统中,每个设备都对应一个设备文件,位于dev目录下。设备文件是一种特殊类型的文件,字符设备的文件类型为“c”,块设备的文件类型为“b”。用户用设备文件的名称来指定设备,而内核则使用主设备号(majornumber)和次设备号(minornumber)来标识一个具体的设备8.6设备管理462.Linux伪设备及其标识伪设备(pseudodevice)是指没有对应任何实际设备,完全由驱动软件虚构出来的设备(1)空设备/dev/null(2)满设备/dev/full(3)零设备/dev/zero:(4)随机数设备/dev/random8.6设备管理473.设备文件的描述结构每个设备文件都有一个独立的i节点没有文件大小和数据块索引等信息,而是包含了主次设备号和一些设备描述信息没有数据块,因为它并不包含任何实际数据8.6设备管理488.6.2LinuxI/O系统的软件结构 Linux实现设备独立性的手段是通过分层软件结构把设备纳入文件系统的管理之下,使进程可以通过文件系统的接口来使用设备。8.6设备管理498.6.3Linux的设备管理机制1.设备驱动模型与设备管理器2.设备的注册与注销3.设备节点的建立与删除4.设备的操作8.6设备管理508.6.4字符设备的管理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版八年级物理上册《第五章透镜及其应用》章末测试卷含答案
- 高一化学达标训练:第二单元食品中的有机化合物
- 2024届随州市重点中学高考临考冲刺化学试卷含解析
- 吉林省吉林市普通中学2024-2025学年高三上学期二模试题 数学
- 2024高中地理第三章自然地理环境的整体性与差异性章末知识整合学案湘教版必修1
- 2024高中物理第四章电磁感应6互感和自感达标作业含解析新人教版选修3-2
- 2024高考地理一轮复习专练95旅游地理含解析新人教版
- 2024高考地理一轮复习专练61森林湿地的开发和保护含解析新人教版
- 2025高考数学考二轮专题过关检测六 解析几何-专项训练【含答案】
- 乡村建设工程施工组织设计
- 【高一上】【期末话收获 家校话未来】期末家长会
- 有毒有害气体岗位操作规程(3篇)
- 二年级下册加减混合竖式练习360题附答案
- 物业管理劳务外包合同范本
- 消费者心理与行为分析PPT(第四版)完整全套教学课件
- 小学四年级语文下册全书背诵内容
- 2023-2024学年福建省漳州市初中语文七年级上册期末模考试题
- 全国小学语文研究《低年级作文 》精品课件写话教学课件
- 附录常见感叹词及用法
- GB/T 21709.5-2008针灸技术操作规范第5部分:拔罐
- 大三上-诊断学复习重点
评论
0/150
提交评论