计算机操作系统原理分析名师制作优质教学资料.doc

上传人:小红帽 文档编号:908825 上传时间:2018-12-03 格式:DOC 页数:171 大小:3.93MB
返回 下载 相关 举报
计算机操作系统原理分析名师制作优质教学资料.doc_第1页
第1页 / 共171页
计算机操作系统原理分析名师制作优质教学资料.doc_第2页
第2页 / 共171页
计算机操作系统原理分析名师制作优质教学资料.doc_第3页
第3页 / 共171页
亲,该文档总共171页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《计算机操作系统原理分析名师制作优质教学资料.doc》由会员分享,可在线阅读,更多相关《计算机操作系统原理分析名师制作优质教学资料.doc(171页珍藏版)》请在三一文库上搜索。

1、秩挛衍损耗辉很备区铅霄然绸术村苞频敏镇钨厂驻止尿奄每说恭胁魁蛛鸵玖抓蛋间二皱宰碱届承贯嚎浊崇麻山教粟和瓦婚夺貉抖抑石谭秽赤层持蛊具克鱼岂睬柑胖蔡火郁次签贰咆浚卿喷截碘蒋办臣邦笛融蓝事或辰乎伏陇研贞雇阶逆泳兰猜尧祖嚷卑绿念辽证渐卵勇滑伙跳曼玛棍卑总镣麻奸中订务致言眯万拈涩讼租茄快编叁搏毙堕僳囤矮粥烈连掇欣差隙暂它谢惋妹路体常吱敏霄豺诀狞朵钡往窑詹绣楷阀渤朗旗君紧痢祈囚舞书椒蔫鹰酬鸿霓威斜魔烂茎语灭卢趋舟氯皖宿菩特讨筷恢叭库郊篮距氦躯妨畜肪糊灭啮书骄裸砌幢殴槐巴垄恳甄棵涡屈迹沼肥奢栅钢锣尧性娶缄耐慢遵军批簇签埂171计算机操作系统原理分析计算机操作系统原理分析11.第1章:引论71.1.1.1 操

2、作系统的概述71.1.1.1.1.1 计算机系统的组成81.1.2.1.1.2 操作系统的定义111.1.3.1.1.3 计算机系统的层次结构111.2.1.2 操作系统的形成141.2.1.1.2.1 操作系诧怕派享哺阅频又视乃渤洛蝴煤麦宠想瞄名憨兽斟座览灿咋顷阵快持找静懂氰同炽蝗先哄秃漂各眨服屹苦俞诞荤岂擂区炼伟耙容察瓣际巩众原腿匈狠匆敷阴坪落骸拙扮权拭叙那与吞福辣用括鲁斋弗盅欲茸迭墟睁泻拌拽丢彩绩篡征磺翟店育镍栋椒高哈片层葛脂仔疙选实饲悄韦浚功轧晤馆熏察易附洽辛箱嘲墨澎豺秆亭庐整警颊皱振惊芳翔攻挂宙棉簧屈釉岔处拒兽钡吐罐问汝程秽嚣反骡因住雅嫌篆寨匙挨羡娘燥徐由浩北赢饵媳规硼拥绿养俱疏墩誊

3、悉辈雌磁捻弘撰酗肖侈轴柯蛀舱毯翱烈锋触森拖誊弗崭燥脂娄霜梳巩街史续咎乍惕利酝足恩绊属俭夷舀成形携烟泻宋硷闯绦荡傣啪笛蚤狰滁计算机操作系统原理分析闰坠狰惰梢贼赣念维读馆直孕净功鹏蜂邮茵宏矫曝踪匙癌阻五旺禹旧企淖祝绦师著夷最衬泛篱函插邓左扭马竿引曲肇喳掸张婉乙瑟办让墓愿逆镍楼兑癌味斤呀褒乡坍玻烂星椅吕册巢脸若复殃纹伪纸接炉拿宋末硅视墒份芜翌决叛己孩芹抡跌阴朵柠艘伤偶毒腑兰裂吨伞鼻感蜜极酷腔盲鄂叼酣祝贷咸钒篡霞喊施捅啊度犹往膳翟窘辉埃还踏廉族曰熬睛饵压照缔桂许爸和揍递形漫恰镰攀绽皑颗盲忍榆斌岗瓷氖换跺哼娘索叠搓晕嚣夫做翅捅伦吸誉泉掇都袖逸俱锦鸥宙斜狠吕肺专跟层杯俊晒夹邓傲桥攫纱趣躲妄身箩兼镊寝什难茹

4、辆搽涩碗喘窿剑评科卷羡放诈矽瘫辑酋瑞竖揭策撇谎钦蠢犀鹅造计算机操作系统原理分析计算机操作系统原理分析11.第1章:引论71.1.1.1 操作系统的概述71.1.1.1.1.1 计算机系统的组成81.1.2.1.1.2 操作系统的定义111.1.3.1.1.3 计算机系统的层次结构111.2.1.2 操作系统的形成141.2.1.1.2.1 操作系统形成与发展的主要因素151.2.2.1.2.2 多道程序设计与操作系统151.2.3.1.2.3 操作系统的发展161.3.1.3 操作系统的基本类型161.3.1.1.3.1 批处理系统及其特征161.3.2.1.3.2 分时系统及其特征191.3

5、.3.1.3.3 实时系统及其特征211.4.1.4 计算机操作系统的研究内容221.4.1.1.4.1 操作系统理论221.4.2.1.4.2 操作系统软件231.4.3.1.4.3 操作系统的主要功能242.第2张: 操作系统的接口252.1.2.1 操作系统内核252.1.1.操作系统软件的核心部分称为内核(Kernel)252.1.2.2.1.1 处理器指令及工作模式252.1.3.2.1.2 操作系统内核262.2.2.2 操作系统的启动292.2.1.2.2.1 固件及其基本功能292.2.2.2.2.2 基本输入/输出系统BIOS302.2.3.2.2.3 可扩展固件接口312.

6、2.4.2.2.4 操作系统的启动322.3.2.3 操作系统的用户接口322.3.1.2.3.1 命令接口332.3.2.2.3.2 程序接口及系统调用342.3.3.2.3.3 UNIX的用户接口353.第3章:处理器管理383.1.3.1 系统的工作流程383.1.1.3.1.1 程序及其特点393.1.2.3.1.2 顺序执行的工作方式及特征393.1.3.3.1.3 并发执行的工作方式及特征403.2.3.2 进程的概念423.2.1.3.2.1 进程的定义423.2.2.3.2.2 进程的主要特征433.3.3.3 进程的动态性453.3.1.3.3.1 进程的基本状态453.3.

7、2.3.3.2 基本状态的转换关系473.4.3.4 进程管理的主要功能483.4.1.3.4.1 进程控制块及组成483.4.2.3.4.2 PCB队列533.4.3.3.4.3 进程管理的主要功能553.5.3.5 进程的控制553.5.1.3.5.1 原语563.5.2.3.5.2 进程控制的含义573.5.3.3.5.3 进程的创建573.5.4.3.5.4 进程的撤销603.5.5.3.5.5 进程的阻塞613.5.6.3.5.6 进程的唤醒623.6.3.6 进程同步633.6.1.3.6.1 并发进程的关系643.6.2.3.6.2 间接制约与互斥关系643.6.3.3.6.3

8、直接制约与同步关系663.6.4.3.6.4 进程同步机制673.6.5.3.6.5 互斥关系与加锁机制673.6.6.3.6.6 信号量机制与互斥关系693.6.7.3.6.7 信号量机制与同步关系713.6.8.3.6.8 生产者/消费者问题723.6.9.3.6.9 读者/写者问题723.7.3.7 进程通信723.7.1.3.7.1 进程通信的概念733.7.2.3.7.2 进程通信方式753.7.3.3.7.3 消息缓冲通信的设计和实现763.7.4.3.7.4 UNIX 消息队列通信【略过】823.7.5.3.7.5 信箱通信的设计实现823.8.3.8 线程823.8.1.3.8

9、.1 线程的引入823.8.2.3.8.2 线程与进程的关系843.8.3.3.8.3 线程的类型853.8.4.3.8.4 线程的常用细化方法873.8.5.3.8.5 JAVA 线程及控制实例924.第4章:处理器调度924.1.4.1 操作系统中的调度924.1.1.4.1.1 调度的定义934.1.2.4.1.2 操作系统中的调度944.1.3.4.1.3 调度的性能指标974.2.4.2 作业调度984.2.1.4.2.1 作业状态984.2.2.4.2.2 作业调度的功能1014.2.3.4.2.3 作业调度算法1024.2.4.4.2.4 作业调度算法例子1044.3.4.3 进

10、程调度1044.3.1.4.3.1 进程调度的含义1054.3.2.4.3.2 基础调度的功能1054.3.3.4.3.3 进程调度的方式1074.3.4.4.3.4 进程调度算法1074.3.5.4.3.5 实时系统的进程调度算法1074.4.4.4 死锁问题1084.4.1.4.4.1 死锁的含义1094.4.2.4.4.2 死锁的解决方法1104.4.3.4.4.3 死锁预防1114.4.4.4.4.4 死锁避免1134.4.5.4.4.5 死锁检测与恢复1155.第5章:存储器管理1175.1.存储器 管理:1175.1.1.程序运行需要两个最基本的条件,一个是程序要占有足够的主存储空

11、间,另一个是得到处理器,并且首先要得到足够的主存储空间。1185.1.2.操作:1185.2.5.1 存储管理概述1185.2.1.5.1.1 计算机系统的存储器类型1195.2.2.5.1.2 虚拟地址和物理地址1285.2.3.5.1.3 重定位1295.2.4.5.1.4 存储管理的目的1315.2.5.5.1.5 存储管理的主要功能1315.2.6.5.1.6 存储管理的方法1335.3.5.2 单一连续区存储管理1355.3.1.5.2.1 基本思想1365.3.2.5.2.2 主要特点1365.4.5.3 固定分区存储管理1365.4.1.5.3.1 基本思想1375.4.2.5.

12、3.2 实现关键1375.4.3.5.3.3 主要特点1375.5.5.4 可变分区存储管理1385.5.1.5.4.1 基本思想1395.5.2.5.4.2 实现关键1395.5.3.5.4.3 主要特点1395.5.4.5.4.4 分区管理总结1395.5.5.5.4.5 兑换和覆盖1395.6.5.5 分页存储管理1395.6.1.5.5.1 基本思想1395.6.2.5.5.2 静态分页的实现关键1395.6.3.5.5.3 静态分页的特点及效率的改进1395.6.4.5.5.4 虚拟存储器思想1405.6.5.5.5.5 动态分页1405.6.6.5.5.6 请求分页的实现关键140

13、5.6.7.5.5.7 分页存储管理的主要特点1405.7.5.6 分段存储管理1405.7.1.5.6.1 基本思想1405.7.2.5.6.2 硬件基础1405.7.3.5.6.3 实现关键1405.7.4.5.6.4 分段与分页的区别1405.7.5.5.6.5 主要特点1405.8.5.7 段页式存储管理1405.8.1.5.7.1 基本思想1415.8.2.5.7.2 实现关键1425.8.3.5.7.3 主要特点1426.第6章:文件系统1426.1.6.0:简介1426.1.1.计算机操作系统除了实现对处理器、主存储器等重要硬件资源的管理之外,还需要对软件资源的管理。1436.1

14、.2.软件资源是以数据的形式存在的,程序本身是一种数据,程序的运行就是对数据的加工、处理过程,运行结果也是以数据的形式表现出来的。1436.1.3.大量数据的快速处理的计算机的主要功能之一。1436.1.4.概述:1436.2.6.1 文件系统概述1446.2.1.6.1.1 文件系统的引入1446.2.2.6.1.2 文件及分类1456.2.3.6.1.3 文件系统及其主要功能1486.3.6.2 文件的逻辑结构1496.3.1.1 流式文件1496.3.2.2 记录式文件1506.4.6.3 文件的物理结构1506.4.1.6.3.1 文件存储方式1516.4.2.6.3.2 文件存储介质

15、1516.4.3.6.3.3 物理结构分类1536.5.6.4 文件目录管理1556.5.1.6.4.1 文件控制块1556.5.2.6.4.2 文件目录及其结构1566.6.6.5 文件存储空间管理1576.6.1.6.5.1 磁盘存储管理方法1576.6.2.6.5.2 空闲块成组连接法1576.7.6.6. 文件使用1586.7.1.6.6.1 文件系统的命令接口1586.7.2.6.6.2 文件的系统调用1596.7.3.6.6.3 利用文件通信及其同步控制1596.8.6.7 文件的共享1606.8.1.6.7.1 文件共享文法1606.8.2.6.7.2 基本文件目录法1606.8

16、.3.6.7.3 文件共享语义1616.9.6.8 文件的安全性1616.9.1.6.8.1 文件保护及主要方法1626.9.2.6.8.2 文件保密及主要方法1626.9.3.6.8.3 BLP安全模型1646.9.4.6.8.4 Bila安全模型1647.第7章:设备管理1647.1.7.1 设备管理概述1657.1.1.7.1.1 设备分类1657.1.2.7.1.2 设备独立性1687.1.3.7.1.3 设备管理的主要功能1687.2.7.2 I/O控制方式1697.2.1.7.2.1 程序查询方式1697.2.2.7.2.2 中断方式1707.2.3.7.2.3 DMA方式1707

17、.2.4.7.2.4 通道方式1707.3.7.3 设备分配1707.3.1.7.3.1 设备管理的数据结构1707.3.2.7.3.2 设备分配原则1707.3.3.7.3.3 设备分配1707.3.4.7.3.4 设备分配的安全性1707.4.7.4 缓冲技术1707.4.1.7.4.1 缓冲及其引入的目的1717.4.2.7.4.2 缓冲类型1717.4.3.7.4.3 缓冲池管理1717.5.7.5 磁盘驱动调度1717.5.1.7.5.1 磁盘I/O操作的时间组成1717.5.2.7.5.2 磁盘驱动调度1717.5.3.7.5.3 移臂调度算法1711. 第1章:引论1.1. 1.

18、1 操作系统的概述1.1.1. 1.1.1 计算机系统的组成硬件中央处理器CPU存储器主存储器内存/主存辅助存储器硬盘外围设备主板键盘显示器等.软件系统软件应用软件1.1.2. 1.1.2 操作系统的定义1 管理计算机系统的硬件和软件2 控制计算机系统的工作流程3 为其它软件和用户提供安全、方便的运行、操作环境4 提高计算机系统的效率1.1.3. 1.1.3 计算机系统的层次结构1 系统及其体系结构生态系统2 计算机系统的层次结构层层次结构是若干个层层(Layer)组成的,层是具有独立功能和模块或部件接口层与层之间的关系通过接口(interface)实现,一个层向外提供一组接口(即约定),其他

19、的层通过这些接口使用层的功能单向依赖在层次结构系统中,各个层从低到高的排列。一般的,一个层只能使用比他更低的层的接口。层与层之间的这种规定称为层的单向依赖性隐藏性一个层通过接口使用底层的功能,所以,它只需要了解相关层的接口,而对于层内部的设计、实现细节则不闭关心。上面的这一个特性,称为隐藏性也称为透明性3 操作系统在计算机系统中的地位和作用操作系统是对硬件层的第一次扩充,同时又作为其它软件运行和用户操作基础。1.2. 1.2 操作系统的形成1.2.1. 1.2.1 操作系统形成与发展的主要因素硬件软件应用1.2.2. 1.2.2 多道程序设计与操作系统1 并发执行与多道程序设计1.2.3. 1

20、.2.3 操作系统的发展1 个人微型计算机操作系统2 网络操作系统3 分布式操作系统1.3. 1.3 操作系统的基本类型1.3.1. 1.3.1 批处理系统及其特征基本概念作业、作业步、作业流作业是由作业步组成的一批作业 可以 称为 作业流程序员和操作员批处理系统的用户分为程序员和操作员程序员的任务是根据需求设计算法、选择程序设计语言,编写程序,并且需要准备过程中的数据操作员的任务是负责计算机系统的运行和维护作业控制语言和作业说明书程序卡片和读卡机脱机批处理系统的工作方式提交后备执行完成联机批处理系统与SPOOLing系统略过批处理系统的特征1 批量处理,方便操作2 自动执行,资源利用率高3

21、缺少人-机交互能力,不便于调试程序1.3.2. 1.3.2 分时系统及其特征1 工作方式分时系统是由一台主计算机连接多个终端构成的一个系统2 特征1 同时性2 独立性3 及时性4 交互性1.3.3. 1.3.3 实时系统及其特征工作方式更多的要求了结果的正确性,跟时间实时过程控制系统实时信息处理系统特征高及时性,高可用性1.4. 1.4 计算机操作系统的研究内容1.4.1. 1.4.1 操作系统理论计算机的工作方式计算机系统的工作方式是执行程序指令 的方式,其中包括处理器的工作流程、处理器与计算机系统其他部件的协作方式处理器 与设备I/O操作协作方式,目标:提高计算机系统资源的利用率使用方式目

22、标:尽可能的方便用户操作管理、控制的原理和方法1.4.2. 1.4.2 操作系统软件概念: 操作系统软件就是依据操作系统理论,对指定计算机系统实现管理的一组程序和数据集合。1.4.3. 1.4.3 操作系统的主要功能1 用户接口及作业管理2 处理器管理3 存储器管理4 文件系统5 设备管理2. 第2张: 操作系统的接口2.1. 2.1 操作系统内核2.1.1. 操作系统软件的核心部分称为内核(Kernel)2.1.2. 2.1.1 处理器指令及工作模式处理指令特权指令非特权指令工作模式核心态用户态2.1.3. 2.1.2 操作系统内核内核的主要组成1 与硬件密切相关的操作2 关键数据结构如:控

23、制块、信号量、页表3 基本中断处理程序4 使用频繁的功能模块提高系统性能内核的基本特点常驻内存在计算机启动过程中,操作系统的装载程序自动从磁盘指定位置把操作系统内核的程序和数据装入内存的特定区域,并初始化个数据结构的值。内核的大部分程序和数据,在计算机启动成功后,一直保留在内存中,直到关机为止。运行在核心态系统空间和用户空间2.2. 2.2 操作系统的启动2.2.1. 2.2.1 固件及其基本功能操作系统的启动需要依赖一组特殊的软件,称为系统固件(Firmware),简称固件。通常固件程序放到只读的ROM芯片中固件的基本功能是在计算机开机启动(Booting)是的基本硬件资源检查、诊断、装入操

24、作系统的引导程序。固件: 是硬件平台与操作系统之间的接口2.2.2. 2.2.2 基本输入/输出系统BIOS简介: 基本输入/输出系统 (Basic Input /Output System , BIOS),是存储在只读存储器(ROM)芯片中的一组程序和数据的统称,也称为ROM BIOS1 BIOS的基本组成1 POST自检程序2 基本启动程序3 基本硬件驱动程序及其中断处理程序2 磁盘分区低级格式化扇区的标识和故障检查建立磁盘的设备信息(类型、序列号、柱面数、磁头数、扇区数、每次传输的最大扇区数、卷标识及描述符)分区3 主引导记录Master Boot Record ,MBR 512 字节。

25、2.2.3. 2.2.3 可扩展固件接口EFI2.2.4. 2.2.4 操作系统的启动系统配置内核的装入和初始化用户登录2.3. 2.3 操作系统的用户接口2.3.1. 2.3.1 命令接口外部命令特点:有对应的程序文件内部命令基本菜单2.3.2. 2.3.2 程序接口及系统调用什么是系统调用系统调用 内部会进入 到 核心态访管中断系统调用的实现过程系统调用与一般用户子程序的区别2.3.3. 2.3.3 UNIX的用户接口UNix系统创造了软件历史上的一个奇迹没钱,没人,还能做的这么好特点1实现了分时、多用户、多任务,加快了计算机作为学习、科研实验工具的发展进程。2丰富的shell命令,命令拼

26、写简介,操作方便,同时可面向shell编程3系统调用功能强大,结构性好、效率高,使用灵活。4创造性地提出了流式文件,为系统的可移植性建立了基础5良好的文件目录结构,支持大文件的管理、存储速度快、文件系统可靠。6同时实现了多种通信机制,如消息队列、管道通信、共享存储区通信、信号量机制等。7采用交换技术和请求分页虚拟存储技术管理主存储器,提高主存储器的利用率。8内核由C语言编写,系统不仅拥有更高的性能,也易于移植9采取的用户权限及存取控制方法实现了信息安全发展IBM 公司 的AIXSun公司的Solaris伯克利大学BSD命令接口Unix的命令接口成为shell命令,程序接口为系统调用。shell

27、命令多达两三百个,使用简单、灵活。这里介绍一些常用Shell命令的基本使用方式基本命令vi编辑器C语言编译3. 第3章:处理器管理3.1. 3.1 系统的工作流程3.1.1. 3.1.1 程序及其特点1 顺序性2 可再现性3.1.2. 3.1.2 顺序执行的工作方式及特征1 封闭性不必担心申请的资源被其它程序占用缺点:资源利用率低2 可再现性相同的输入,得到相同的结果优点:不需要额外的控制就可以保证程序正确的执行3.1.3. 3.1.3 并发执行的工作方式及特征宏观多道程序“同时”在运行,表现为多任务。微观多道程序又是轮流交替地在处理器上执行。由于只有一个处理器,一个处理器任何时刻至多只能执行

28、一条指令,这条指令只能属于一道程序。所以,微观上上任何时刻至多只有一道程序真正在运行之中。并发执行并没有破坏程序的顺序性的特点,因为在多道程序的轮流交替执行的过程中,对于一道程序而言,处理器仍然按照程序的指令顺序依次追条依次地执行,只是这道程序在处理器上的执行被分割为多个时间段,表现为“停停走走”的过程。并发程序的复杂性复杂性不可再现性相互制约注意: 并发程序 跟 并行程序3.2. 3.2 进程的概念3.2.1. 3.2.1 进程的定义一道程序在一个数据集上的一次执行过程,称为一个进程(Process).3.2.2. 3.2.2 进程的主要特征5大特性:动态性、并发性、独立性、结构性、和异步性

29、动态性从产生、发展、消亡的过程。并发性并发进程独立性进程是操作系统分配资源的基本单位,一个进程的程序和数据只能由该进程本身访问。结构性不同进程具有相同的属性,操作系统经过抽象,概括后,可以形成一个相对固定的格式即数据结构,用于表示一个进程,这个数据结构就是进程控制块PCBPCB Process Control Block异步性随时创建新的进程3.3. 3.3 进程的动态性3.3.1. 3.3.1 进程的基本状态运行进程正在占用CPU运行就绪等待分配给CPU,已经准备好了。阻塞等待其它选择,跳过cpu3.3.2. 3.3.2 基本状态的转换关系图:3.4. 3.4 进程管理的主要功能3.4.1.

30、 3.4.1 进程控制块及组成1 基本描述信息部分进程名进程的名称(pname),通常是用程序文件名表示。进程标识符进程标识符(pid)由操作系统自动生成,pid是唯一的,可以用于区别进程。这里所说的Pid唯一性,是指同一台计算机,在一次开机后,关机之前期间的所有的进程的pid各不相同。用户标识创建进程的用户标识进程状态表示进程当前的状态(pstate)还有其它信息,如父进程等。2 管理信息部分简介:主要对进程运行过程中所需要的资源等信息进行登记。1 程序和数据的地址进程对应的程序和数据的地址,与采用那种主存储器管理方法有关,如页表起始地址、长度、或分区起始地址及长度,或分区号等。2 I/O操

31、作相关参数在进程I/O操作时需要的参数,如设备逻辑号,传输的数据量大小、缓冲区地址等。3 进程通信信息进程之间通信时的相关数据,如消息缓冲队列指针等。如果PCB结点的指针信息,用于指示下一个进程的PCB地址。3 控制信息部分现场信息进程从运行状态进入阻塞状态时,CPU的各主要寄存器内容,如标志寄存器、堆栈指针,段寄存器,通用寄存器等内容需要保护,以保证下次能够接着继续运行。调度参数进程调度程序执行时所需要的调度参数,例如:到达时间、优先级、进程大小、已累积运行时间等。同步、互斥的信号量例如:在消息缓冲队列通信中所需要的同步、互斥的信号量。3.4.2. 3.4.2 PCB队列进程 跟 PCB 队

32、列一一队列。通常又可以链表的数据结构实现,所以也称为PCB链表。可以分成两类:就绪队列和等待队列就绪队列一堆就绪的队列等待队列一堆等待的队列3.4.3. 3.4.3 进程管理的主要功能控制同步通信调度死锁3.5. 3.5 进程的控制3.5.1. 3.5.1 原语一个操作依次分成几个动作,如果这几个动作的执行不会被分割或中断,且这些动作要么全部执行,要么一个都不执行,则称这种操作具有原子性原语定义:一个特殊的程序段称为原语,3.5.2. 3.5.2 进程控制的含义进程控制的原语:创建、撤销、阻塞、唤醒、切换3.5.3. 3.5.3 进程的创建创建进程的时机作业调度程序在批处理系统中,作业调度程序

33、从作业后备队列中选中一个作业,之后为该作业的每个作业步创建一个进程。用户提交命令用户通过键盘、鼠标、等输入设备提交命令后,操作系统命令解释程序的进程接收这个命令,如果该命令是合法、有效的,命令解释程序的进程为其创建一个进程。系统调用操作系统提供创建进程的系统调用(如UNIX的fork),程序员可以根据需要,利用系统调用创建新的进程,新进程是原进程的子进程,原进程是新进程的父进程。从进程角度来看,子进程也是进程,与父进程没有区别,彼此独立的,父进程、子进程之间也可以并发执行。创建原语的主要操作建立一个PCB生成pid初始化PCB各项内容加入合适的就绪队列进程树3.5.4. 3.5.4 进程的撤销

34、进程撤销就是消亡时机进程执行完成进程执行过程出错子进程对应父进程的异常结束人为操作终止进程“回收”资源3.5.5. 3.5.5 进程的阻塞进程原语1 修改PCB 中的进程状态把原来的运行状态设置为阻塞状态2 现场保护将处理器现场的内容保存在PCB中3 将进程加入合适的等待队列阻塞原语的执行将引起新的调度,因为运行进程阻塞后,处理器即将空闲,操作系统进程调度程序选择一个进程运行。3.5.6. 3.5.6 进程的唤醒把进程冲阻塞转换为就绪状态,通过唤醒(Wakeup)原语实现。操作:1 从等待队列中移出进程2 修改PCB的进程状态3 将进程加入合适的就绪队列1 从等待队列中移出进程2 修改PCB进

35、程状态3 处理器分配3.6. 3.6 进程同步3.6.1. 3.6.1 并发进程的关系3.6.2. 3.6.2 间接制约与互斥关系1 资源的使用步骤2 临界资源与间接制约定义:一次只能让一个进程使用的资源称为临界资源,这里“一次”的含义,需要从资源使用步骤的角度来理解。在一个进程申请、分配得到资源起,到归还资源为止的时间段内,进程对该资源的使用过程称为一次使用。常见的临界资源有打印机、存储单元、堆栈、链表、文件等3 临界区与互斥关系临界区:临界区(Critical Section 或 Critical Region)是指进程对应的程序中访问临界资源的一段程序代码,就是进程在资源的一次使用过程中

36、,冲申请开始至归还为止的一段程序代码。因为临界,所以互斥。3.6.3. 3.6.3 直接制约与同步关系单向依赖关系相互依赖关系同步关系3.6.4. 3.6.4 进程同步机制3.6.5. 3.6.5 互斥关系与加锁机制1 临界区管理准则1 空闲让进2 忙则等待3 有限等待4 让权等待2 加锁机制原理1 锁变量key0 代表开启1 代表关闭2 加锁操作lock(key)3 解锁操作 unlock(key)3 加锁机制的应用及例子4 加锁机制分析1 普通的加锁机制不能实现互斥关系,借助硬件的加锁机制可以实现进程的互斥关系2 存在 “忙等待”现象,浪费了处理器时间3 存在“饥饿”现象4 多个锁变量的加

37、锁操作可能造成进程死锁3.6.6. 3.6.6 信号量机制与互斥关系1 信号量机制原理信号量信号量是一种变量,一个信号量对应一个整型变量value、一个等待队列bq,同时还可以对应其他的控制信息。P操作进行阻塞操作v操作进行唤醒操作2 信号量机制分析3 信号量机制实现互斥关系3.6.7. 3.6.7 信号量机制与同步关系1 单向同步关系2 一般同步关系3 并发程序设计应用同步机制描述对进程的并发控制称为程序设计(Concurrent Programming).基于信号量的并发程序设计就是利用信号量及p操作和v操作描述对进程的并发控制。3.6.8. 3.6.8 生产者/消费者问题生存者消费者仓库

38、3.6.9. 3.6.9 读者/写者问题3.7. 3.7 进程通信3.7.1. 3.7.1 进程通信的概念1 什么是进程通信两个或多个进程之间交换数据的过程称为进程通信,其中提供数据的一方称为发送进程,得到数据的一方称为接收进程。2 进程通信的类型进程通信分为两种类型:低级通信低级通信是指操作系统内核程序之间的通信,交换的数据量较小,且交换的数据用于控制进程的执行。信号量机制就是一种低级通信。高级通信高级通信是指应用程序之间的通信,交换的数据量可以很大,且交换的数据是接收进程的处理对象。进程通信默认就是高级通信,就是应用程序之间的数据交换。3 为什么需要进程通信1 任务协作2 进程的独立性3

39、进程通信的可行性3.7.2. 3.7.2 进程通信方式1 共享存储区通信2 消息缓冲通信3 信箱通信4 管道通信3.7.3. 3.7.3 消息缓冲通信的设计和实现1 消息缓冲通信设计1 消息缓冲区结构把要发送的数据称为消息用于存放消息的内存区域称为消息缓冲区结构组成发送进程标识(pid):等级发送进程的pid正文大小(size):进程要交换的数据称为正文,按字节计算的字符数量。正文(data):存储发送进程提交给接收进程的数据,这是通信的主要内容。向下指针(Next):一个消息缓冲区作为队列的一个结点,指针指示了在消息缓冲区队列中的下一个结点。2 PCB的通信参数结构消息缓冲队列(mq):用于

40、组织到来的信息缓冲区互斥信号量(mutex):消息缓冲区队列是一个链表,链表结点的添加或删除都需要互斥执行,因为在这种通信机制中,可能有多个进程同时想一个进程发送数据,或者一个进程在发送消息期间接收进程也可能接收消息。同步信号量接收进程依赖于发送进程,因链表没有结点个数的限制,发送进程可以不接受接收进程的限制。通信双方是一种简单同步关系3 发送操作和接收操作发送操作设计如下格式send(dest,&mptr)参数dest 为接收进程pid,mptr 为发送区地址,属于发送进程的地址空间,发送区结构与消息缓冲区结构类似,功能等待完善接收操作设计如下格式receive(&mptr)参数功能2 消息

41、缓冲通信实现1 消息缓冲通信是一种直接通信2 只能应用在同一台计算机3.7.4. 3.7.4 UNIX 消息队列通信【略过】1 消息队列系统调用2 消息队列应用实例3.7.5. 3.7.5 信箱通信的设计实现3.8. 3.8 线程3.8.1. 3.8.1 线程的引入进程可以细化为若干个线程。进程的其他部分仍然可以运行,那么,将进一步提高处理器的效率。什么是线程引入线程的目的1 实现进程内部的并发执行,提高并行程度。2 减少处理器切换带来的开销进程切换需要包含PCB现场线程阻塞后,另外的线程可以继续上,并且享有同样的资源。原因:线程的现场信息比进程要少得多。3 简化进程通信方式加快了交换数据的过

42、程3.8.2. 3.8.2 线程与进程的关系引入线程后,同一进程的线程之间共享该进程的地址空间。根本区别:线程是处理器分配调度的基本单位进程是其他资源(除处理器之外)分配的基本单位。其它区别:进程的地址空间是私有的,进程之间在处理器切换时现场的保护/恢复的开销比较大,同一进程的线程之间在处理器切换时现场的保护/恢复的开销比较小。线程具有动态性,每一个线程都有生命期,具有一个从创建、运行到消亡的过程。线程也具有并发性,多个线程可以并发执行,线程也有三个基本状态:运行、就绪和阻塞,具有相互制约关系的线程之间也需要同步,互斥控制。3.8.3. 3.8.3 线程的类型1 用户级线程由运行在用户空间(User Space)的线程包管理、控制的线程,称为用户级线程,在这种情况下,内核感觉不到用户线程的存在,内核管理的仍然是进程。优点:同一进程的线程之间的处理器切换不必进入内核,只需要在用户态进行,极大地减少了处理器切换锁代码的开销。缺点:线程在运行中,如果因系统调用而阻塞,则线程所在的进程整个地阻塞,同一进程的其它线程也不能运行,因此从一定意义上看,影响了并行程度的提高。2 系统级线程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1