版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章
几种常见操作系统典型功能的实现方法举例7.1WindowsNT进程、线程的特点7.2UNIX进程管理7.3UNIX进程通信与同步机制7.4WindowsNT文件系统7.5UNIX文件系统索引结构介绍7.6Linux文件系统7.7UNIXNFS文件系统7.8WindowsNT存储管理的二级页表结构7.9Linux系统的内存管理技术7.10UNIX内存管理技术7.11UNIXI/O设备管理7.12LinuxI/O设备管理本章学习目标UNIX的进程管理及调度,包括进程同步机制介绍UNIX文件的物理结构Linux操作系统文件名到文件分量的映射WindowsNT、Linux及UNIX内存管理技术Linux及UNIX设备管理7.1WindowsNT进程、线程的特点7.1.1WindowsNT进程、线程及对象之间的关系7.1.2进程管理程序7.1.3线程调度
返回首页7.1.1WindowsNT进程、线程及对象之间的关系(1)线程是进程的一个组成部分。(2)进程多线程都在进程的地址空间活动。
(3)资源是分给进程的,而不是分给线程的,并且系统还为分给进程的资源规定了配额。(4)调度的基本单位是线程。
(5)线程在执行过程中需要同步。
返回本节7.1.2进程管理程序(1)客户进程用创建原语创建进程。
(2)客户进程通过发送消息给相应的服务器进程。(3)服务器进程调用WindowsNT执行体的进程管理程序为之创建一个WindowsNT本机进程。
(4)进程创建后,进程管理程序返回一个句柄给进程对象。(5)环境子系统取得该句柄,生成客户应用程序所期望的适合本环境的返回值。(6)环境子系统调用WindowsNT的进程管理程序为已创建的新进程创建一个线程。返回本节7.1.3线程调度在WindowsNT中,一个线程在它的生命期中要经历以下6种状态:(1)就绪状态(2)备用状态
(3)运行状态(4)等待状态
(5)转换状态
(6)终止状态(如图7.1所示)初始化就绪备用终止运行转换等待创建并初始化线程对象重新初始化放入就绪队列选择执行抢先资源成为可用的资源不可用抢先或时间片结束等待完成线程等待一个对象句柄执行完成描述表切换并开始执行(调度)图7.1线程的调度状态之间的转化图返回本节7.2UNIX进程管理7.2.1UNIX进程状态7.2.2UNIX进程描述7.2.3UNIX进程控制7.2.4UNIX进程调度
返回首页7.2.1UNIX进程状态UNIX中共有9种进程状态:(1)核心运行状态
(2)用户运行状态
(3)内存中就绪
(4)内存中睡眠
(5)就绪且换出(6)睡眠且换出
(7)被抢占状态
(8)创建状态
(9)僵死状态
(如图7.2所示)
用户态执行返回到用户态返回系统调用、中断中断、中断返回僵死睡眠唤醒唤醒换出换出换入调度内存中睡眠睡眠且交换内存不足有足够内存创建剥夺核心态执行被剥夺状态终止内存中就绪fork123456789图7.2UNIX进程状态转化图返回本节7.2.2UNIX进程描述(1)一个进程是对一个程序的执行。(2)一个进程的存在意味着系统中存在着一个常驻内存的进程表项(proc结构),它包含着相应进程的控制信息。(3)对每一个进程,有一个被称为U区的数据结构,这个结构中存放着该进程的私用控制信息。(4)一个进程可以生成或撤销其子进程。(5)一个进程是获得和释放各种系统资源的基本单位。返回本节7.2.3UNIX进程控制在UNIX系统中,除了0#进程之外,其他所有进程都是被另一个进程利用系统调用fork创建的。0#进程是一个特殊的系统进程,它是在系统引导时被创建的。系统初启时,0#进程创建了1#进程,此后0#进程就变成了交换进程,而1#进程变成了系统的始祖进程。UNIX系统利用fork为每个终端创建一个子进程为用户服务,如等待用户登录、执行shell命令解释程序等。
返回本节7.2.4UNIX进程调度由于UNIX系统是单纯的分时系统,所以没有设置作业调度。UNIX系统的进程调度采用的算法是,多级反馈队列轮转调度法。调度的算法如图7.3所示。核心先从最高优先级就绪队列中取出排在队列最前面的进程,当进程执行完一个时间片仍未完成则剥夺它的执行,将它放入到相应的队列中。然后,再从最高优先级就绪队列中取出下一个就绪进程投入运行。调度内存中有可运行的进程?选择内存中优先级最高、驻留时间最长的就绪或被剥夺进程从就绪队列中移出切换到该进程的上下文恢复其执行CPU空闲NY图7.3UNIX进程调度算法返回本节7.3UNIX进程通信与同步机制UNIX系统V中的进程通信可分为4个部分:低级通信、管道通信、进程间通信和网络进程间通信。(1)低级通信主要用来传递进程间的控制信号。
(2)管道通信用来在同一家族的进程间传递比特流。返回首页(3)进程间通信IPC是UNIX系统V的一个核心程序包,它负责完成同一计算机内各进程间大量数据的传送工作。它由3部分组成:消息机制、共享存储器机制和信号量机制。(4)网络进程间的通信是基于通信协议的。
返回本节7.4WindowsNT文件系统7.4.1FAT文件分配表7.4.2NTFS文件系统
返回首页7.4.1FAT文件分配表文件分配表是微软用在DOS及Windows操作环境的文件系统格式。FAT文件系统有如下特点:(1)支持长文件名。
(2)不提供本地安全性。
(3)最大文件/分区大小为4GB。返回本节7.4.2NTFS文件系统NTFS文件系统的特点:(1)支持长文件名称的操作。
(2)提供了C2的安全等级。(3)支持比FAT文件系统更大的文件与分区,理论上两者均可达到16EB,而NTFS在典型硬件上实际最大分区可以达到2TB。(4)支持文件压缩。
(5)支持族的再映射。
(6)支持Macintosh文件。(7)支持POSIX需求NTFS是WindowsPOSIX.1兼容支持的文件系统。返回本节7.5UNIX文件系统索引结构介绍1.UNIX系统的文件类型2.文件系统的目录结构3.文件的物理结构4.文件逻辑块号到物理块号的转换返回首页1.UNIX系统的文件类型UNIX系统中的文件分为3种类型:目录文件普通文件特殊文件(或称设备文件)
2.文件系统的目录结构UNIX文件系统采用的是多级的树形目录结构。整个目录就像一棵倒挂的树,根目录在最上面。下面有树干树枝(目录、子目录),有树叶(文件)。特殊文件存放在一级子目录/dev中,其他所有各级目录中存放的全是普通文件和目录文件。3.文件的物理结构在UNIX系统中,文件的数据存储在离散的磁盘块中,这些文件的盘块号直接或间接地存放在该文件索引节点的13个地址中。索引节点中的直接块和间接块如图7.4所示。(1)直接寻址方式。(2)一级间接寻址方式。(3)多级间接寻址方式。
图7.4索引节点中的直接块和间接块4.文件逻辑块号到物理块号的转换(1)直接地址(2)间接地址。一级间接地址寻址多级间接地址寻址(如图7.5所示
)图7.5文件索引节点中的磁盘地址返回本节7.6Linux文件系统7.6.1EXT2文件系统7.6.2EXT2索引节点7.6.3EXT2超级块7.6.4EXT2中的目录
返回首页7.6.1EXT2文件系统图7.6EXT2文件系统结构示意图
返回本节7.6.2EXT2索引节点数据数据数据数据数据数据数据数据数据结构ext2_inodeModeSizeOwnerinfoTimestampsDirectBlocksIndirectBlocksDoubleIndirectTripleIndirectDataBlocks图7.7EXT2文件系统索引节点示意图
返回本节7.6.3EXT2超级块超级块主要包括如下信息:(1)幻数(MagicNumber)(2)修订级别(RevisionLevel)(3)挂接数(MountCount)和最大挂接数(MaximumMountCount)
(4)块组号(BlockGroupNumber)(5)块大小(BlockSize)(6)每组块数(BlocksperGroup)(7)空闲块(FreeBlocks)(8)空闲索引节点(FreeInodes)(9)第一个索引节点(FirstInode)返回本节7.6.4EXT2中的目录在ext2文件系统中,目录是一些特殊的文件,它们用来创建和保存系统中文件的存取路径(如图7.8所示)。一个目录文件包括很多的目录入口,一个目录入口包括以下内容:(1)索引节点(inode)(2)名称长度(namelength)(3)名称(name)0155i1i215555514文件名长文件名索引节点表图7.8EXT2文件系统目录结构示意图返回本节7.7UNIXNFS文件系统NFS最主要的特点是它的健壮性。在客户和服务器之间产生的每个请求本身是完整的,不必知道以前的执行情况。NFS主要的缺憾是它的设计本身是不安全的。这就要求在任何时候通过NFS将磁盘共享给其他的计算机时,需要给该计算机的用户一定的信任度。NFS的两个主要文件是:/etc/exports和/etc/fstab文件。
返回首页7.8WindowsNT存储管理的二级页表结构WindowsNT运行在32位的微机上,因此每个进程都有4GB的虚拟地址空间(如图7.9所示)。WindowsNT的地址变换机构不同与传统的页面地址变换机构,它采用的是一种称为二级页表结构的技术(如图7.10所示)。某进程的二级页表及虚拟地址如图7.11所示,
WindowsNT采用两级页表的缺点是降低了访问内存的速度。
返回首页非页交换区页交换区直接映射地址页面交换区00000000h80000000hFFFFFFFFh0.5GB0.5GB系统存储区(2GB)用户存储区(2GB)图7.9虚拟地址空间01211222131目录位移页表位移页位移虚拟地址页目录地址控制寄存器代码或数据页帧…页表页帧地址…页目录(每进程一个)页表地址…图7.10二级页表地址变换结构00400800000C00400800000C00400800000C代码或数据020页目录页表页帧002003020虚拟地址011213100248110控制寄存器3100248#00680#00726#0068000726…图7.11地址变换过程举例
返回本节7.9Linux系统的内存管理技术(1)采用缓冲区高速缓存来保存块设备驱动程序所用到的数据缓冲区。
(2)Linux系统采用页面高速缓存来加速磁盘中文件镜像和数据的存取。(3)Linux系统采用交换高速缓存只将那些被修改过的页面保存到交换文件中。
(4)将一个常用的硬件高速缓存放在处理器中,它一般用来保存页面表的入口(如图7.12所示)。
返回首页第一级第二级第三级页面中字节物理页面第一级页面表PFN第二级页面表PFN第三级页面表PFNPGD图7.12虚拟内存地址示意图
返回本节7.10UNIX内存管理技术交换空间的管理。在UNIX系统中分配交换空间是通过驻留在内存中的交换映射表来实现的。
进程的换出。当内核需要内存空间时,就可以把一个进程换到交换区中。
进程的换入。引用计数值为0的进程即为交换进程。
返回首页UNIX系统为实现该技术所配置的4种数据结构:(1)页表(2)磁盘块描述表(如图7.13所示)(3)页框数据表(4)交换使用表(如图7.14所示)
页表项磁盘块描述表项磁盘块描述表交换设备块号类型(交换、文件等)分区表…图7.13页表项和磁盘块描述表图7.14请求分页4种数据结构之间的关系
返回本节7.11UNIXI/O设备管理UN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026新疆和田墨玉县鸿源农业科技有限公司招聘备考题库及完整答案详解(网校专用)
- 中移动金融科技有限公司2026春季园招聘备考题库附参考答案详解(综合卷)
- 2026广西贵港桂平市罗秀中心卫生院招聘编外工作人员8人备考题库附参考答案详解【基础题】
- 2026湖南长沙市第一医院自主招聘备考题库带答案详解ab卷
- 2026贵州黔西南州政协办公室公益性岗位招聘4人备考题库及答案详解(易错题)
- 2026浙江温州市公证协会招聘1人备考题库附完整答案详解(必刷)
- 2026国有股份制商业银行招聘备考题库附参考答案详解(综合题)
- 2026湖南怀化市芷江侗族自治县安置政策城镇退役士兵竞聘招录5人备考题库及答案详解(网校专用)
- 2026浙江丽水市松阳县事业单位招聘39人备考题库及完整答案详解一套
- 2026北京首华物业管理有限公司招聘2人备考题库及参考答案详解(达标题)
- 2026年安徽省高职单招职业适应性测试考试题库带答案详解
- 2026年食品安全与环境管理的关系
- 2026湖南省卫生健康委直属事业单位招聘185人考试备考题库及答案解析
- 《慢性支气管炎诊断与治疗指南(2025年版)》
- 水运工程结构防腐蚀施工规范 JTS-T 209-2020
- PFNA手术体位摆放的配合
- 医院宣传工作培训课件
- 2025广东省低空经济产业发展有限公司招聘19人笔试历年参考题库附带答案详解
- 2025年广州市天河区中小学教师招聘笔试参考试题及答案解析
- 计算机各种进制转换练习题(附答案)参考模板
- 东北地区的产业分布
评论
0/150
提交评论