版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025/11/61操作系统2025/11/62课程的性质与任务性质:操作系统是计算机系统中不可缺少的基础系统软件。它是用于管理和控制计算机系统中软、硬件资源,是计算机系统直接与用户打交道的界面,是计算机系统的灵魂和核心。本课程是计算机科学与技术专业的重要专业基础课和必修课。2025/11/63课程的性质与任务任务:本课程的任务是学习并掌握计算机操作系统的基本原理和实现方法,培养具备一定的复杂软件系统的设计与开发能力,并以UNIX、LINUX或Windows为实例,加深领会和理解操作系统的基本概念和基本原理,为今后适应系统软件的研究与开发工作以及企事业计算机系统的管理和维护工作打下良好的基础。本课程支持的毕业要求指标点如下:指标点3.1:能运用数学、自然科学和工程科学的基本原理,识别和判断计算机领域复杂工程问题的关键环节和影响因素。指标点3.3:能认识到计算机领域复杂工程问题的解决有多种方案可选择,会通过文献研究寻求可替代的解决方案。指标点4.1:针对计算机领域复杂工程问题,能够遵循计算机系统开发和工程化的基本要求,确定设计目标和技术方案,并具有创新意识。指标点5.5:能够对实验结果进行输入条件关联分析和解释,并通过信息综合给出合理有效的结论。指标点10.1:掌握一门外语,具有外语听说读写能力;了解不同的文化,具有一定的国际视野和跨文化交流和沟通的能力。本课程目标:课程目标1:能够理解和解释操作系统的基本概念、基本原理、功能和作用。课程目标2:能够理解操作系统的实现是一个系统化的过程。课程目标3:能运用计算机系统工程科学的基本原理,识别和判断操作系统功能模块实现问题的关键环节和影响因素。课程目标4:能认识到操作系统功能模块的实现有多种方案可选择。课程目标5:能够通过文献研究,在相关操作系统功能模块实现的多种方案中,寻求一种更合适的解决方案。课程目标6:能够遵循系统化的基本要求,确定操作系统相关功能模块设计目标和技术方案,并体现创新意识。课程目标7:能够运用所学知识设计实现作系统的功能模块相关算法。课程目标8:能够对实验结果进行输入条件关联分析和解释,并能综合应用场景和技术需求,得出结论的有效性。课程目标9:能够阅读和理解操作系统相关英文资料,能基本听懂文件系统英文授课内容。课程目标10:能正确理解文件系统的英文表达问题,给出问题的解决方案。课程目标11:能理解操作系统对祖国建设与发展的重要作用。课程考核与参考书课程考核方法期末考试60%+平时40%(实验20%+作业5%+大作业5%+随堂测验10%)要求缺勤超过15学时,不许参加期末考试作业超过1/3未交,不许参加期末考试学习方法:理解、思考、设计、畅想课程网页:/course/94889994.html
参考书:1)毛启容等编.《操作系统设计原理》.清华大学出版社,2025年;2)AndressSTanenbaum等.《ModernOperatingSystems》.Publisher:Pearson,2014年第四版2025/11/68第1章操作系统概述1.0计算机的系统结构1.1操作系统的定义1.2操作系统的形成和发展1.3操作系统的分类1.4操作系统的运行环境1.5操作系统的结构1.6现代操作系统
2025/11/691.0计算机的系统结构一.计算机系统组成计算机系统(层次结构)软件硬件及固件(裸机)应用软件系统软件语言处理系统
常用的例行服务程序
操作系统1.0计算机的系统结构2025/11/62025/11/6111.0计算机的系统结构二、软件与硬件的关系
硬件:计算机系统工作的基础。软件:提高计算机系统效率和方便用户使用计算机的程序,完成一定的处理任务。它们二者相互依赖、相互促进、共同发展。
裸机(硬件)是僵尸,软件是灵魂.2025/11/6121.1操作系统的定义1、科普的观点:操作系统是计算机系统的管理和控制中心,它依照设计者制定的各种调度策略组织和管理计算机系统资源,使之能高效地运行。2、功能的观点:操作系统是一个计算机资源管理系统,它负责计算机系统的全部资源的分配、控制、调度和回收。3、用户的观点:操作系统是计算机与用户之间的接口,用户通过这种接口使用计算机。一.基本概念OS包含于各类系统中:移动设备、家电、控制系统、计算机;2025/11/6131.1操作系统的定义一.基本概念4、软件的观点:操作系统是程序和数据结构的集合。5、管理的观点:操作系统是计算机硬件和软件资源合理而协调的管理者。6、
操作系统是一个大型的系统软件,它负责计算机的全部软、硬件资源的分配、调度工作,控制并协调并发活动,实现信息的存取和保护。它提供用户接口,使用户获得良好的工作环境。操作系统使整个计算机系统实现了高效率和高度自动化。2025/11/6141.1操作系统的定义二.计算机系统的视图
计算机硬件操作系统语言处理应用软件应用用户应用程序员操作系统设计人员编译程序设计者2025/11/6151.1操作系统的定义OS:对计算机硬件的第一层扩充;其它软件系统工作于OS之上;操作系统内的操作者包括几种类别:一般用户:操纵员:管理员:注意:和OS的用户(使用者、程序)的区别。2025/11/6161.1操作系统的定义人机交互界面(虚拟机)资源管理三.操作系统的基本功能对应OS定义中的两大方面2025/11/6171.1操作系统的定义目标:提供一个友好的用户访问操作系统的接口。系统命令:供用户组织和控制自己的作业运行。形式:命令行、菜单式、GUI、命令脚本;控制方式:联机、脱机编程接口:供用户程序和系统程序调用操作系统功能。系统调用、高级语言库函数;三.操作系统的基本功能(人机交互)2025/11/6181.1操作系统的定义计算机系统组成软件资源存储器外部设备处理器运行任务控制三.操作系统的基本功能(资源管理)OS功能模块文件管理存储管理设备管理处理器和进程管理作业管理计算机系统核心部分外加设备2025/11/6191.1操作系统的定义解决软件资源的存储、共享、保密和保护。文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能。目录管理:解决信息检索问题。文件的属性(如文件名)、单一副本赋予多文件名。文件的读写管理和存取控制:解决信息安全问题。系统设口令“哪个用户”、用户分类"哪个用户组"、文件权限"针对用户或用户组的读写权"。软件管理:软件的版本、相互依赖关系、安装和拆除等。三.操作系统的基本功能(资源管理——文件管理)如何更好地组织文件方便使用2025/11/6201.1操作系统的定义管理目标:提高利用率、方便用户使用、提供足够的存储空间、方便进程并发运行。存储分配与回收存储保护:保证进程间互不干扰、相互保密;如:访问合法性检查、甚至要防止从"垃圾"中窃取其他进程的信息;地址映射(变换):进程逻辑地址到内存物理地址的映射;内存扩充(覆盖、交换和虚拟存储):提高内存利用率、扩大进程的内存空间;同一类型内的公平性、高效率(吞吐量大)、作业周转时间等。三.操作系统的基本功能(资源管理——存储管理)2025/11/6211.1操作系统的定义设备操作:利用设备驱动程序(通常在内核中)完成对设备的操作。还需处理外设的IRQ。设备独立性(deviceindependence):提供统一的I/O设备接口,使应用程序独立于物理设备,提高可适应性;在同样的接口和操作下完成不同的内容(如FAXModem作为Windows上的打印机设备)。三.操作系统的基本功能(资源管理——设备管理)目标:方便的设备使用、提高CPU与I/O设备利用率;2025/11/6221.1操作系统的定义设备分配与回收:在多用户间共享I/O设备资源。虚拟设备(virtualdevice):设备由多个进程共享,每个进程如同独占。缓冲区管理:匹配CPU和外设的速度,提高两者的利用率(单缓冲区、双缓冲区和公用缓冲区)三.操作系统的基本功能(资源管理——设备管理)2025/11/6231.1操作系统的定义三.操作系统的基本功能(资源管理——处理器和进程管理)进程控制:创建、撤销、挂起、改变运行优先级等--主动改变进程的状态进程同步:协调并发进程之间的推进步骤,以协调资源共享;--交换信息能力弱完成处理器资源的分配调度等功能。处理机调度的单位可为进程或线程。2025/11/6241.1操作系统的定义三.操作系统的基本功能(资源管理——处理器和进程管理)进程通信:进程之间传送数据,以协调进程间的协作,也可以用来协调进程之间的推进。--交换信息能力强进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能。--未必是进程控制操作所引起(可能是时间片轮转、I/O操作)完成处理机资源的分配调度等功能。处理机调度的单位可为进程或线程。1.1操作系统的定义提供“作业控制语言”供用户写作业说明书。作业调度。在满足资源需求的情况下,选择哪些作业投入运行。方法:先来先服务、最短作业优先、响应比最高者优先、优先数法、分类调度法等注:通常在大中型操作系统中,才提供作业管理的功能。一般微机操作系统以及单用户操作系统不考虑作业管理的功能。三.操作系统的基本功能(资源管理——作业管理)2025/11/62025/11/6261.2操作系统的形成和发展手工阶段管理程序(初级OS)多用户、多道作业和分时系统(unix)微型机操作系统通道和中断技术的出现硬件的发展单用户、单道作业(CDOS,MS-DOS)多任务OS(Windows,LINUX)嵌入式OS原始汇编系统分布式OS、云计算OS网络的发展2025/11/6271.2操作系统的形成和发展工作方式用户:用户既是程序员,又是操作员;用户是计算机专业人员;编程语言:为机器语言;输入输出:纸带或卡片;计算机的工作特点用户独占全机:不出现资源被其他用户占用,资源利用率低;CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;手工阶段1946~1950年代(电子管),集中计算(计算中心),计算机资源昂贵;2025/11/6281.2操作系统的形成和发展60年代计算机硬件获得两个重大的进展:
通道技术和中断技术通道:
是一种专用部件,负责外部设备与内存之间信息的传输。中断:指主机接到外界信号(来自CPU外部或内部)时,立即中止原来的工作,转去处理这一外来事件,处理完后,主机又回到原来工作点继续工作。通道、中断2025/11/6291.2操作系统的形成和发展主要功能:向用户提供多个共享资源来运行他们的程序;帮助操作员控制用户程序的执行和管理计算机的部分资源。计算机的工作特点程序员与操作员分开;操作员通过命令与计算机交互。管理程序2025/11/6301.2操作系统的形成和发展定义
多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,它们在管理程序的控制下相互穿插地运行。特征:
-多道:内存中同时存放几个作业;-宏观上并行:都处于运行状态,但都未运行完;-微观上串行:各作业交替使用CPU;多道程序设计让多个任务在计算机中同时运行(宏观)2025/11/6311.2操作系统的形成和发展优点:资源利用率高:处理器和内存利用率较高;作业吞吐量大:单位时间内完成的工作总量大;缺点:用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;作业平均周转时间长:短作业的周转时间显著增长;多道程序设计的特点2025/11/6321.2操作系统的形成和发展“分时”的含义分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入--时走时停;前台和后台程序(foreground&background)分时:后台程序不占用终端输入输出,不与用户交互--现在的图形用户界面(GUI),除当前交互的程序(有输入交互)之外,其他程序均作为后台;分配策略:按时间片(timeslice:各个程序在CPU上执行的轮换时间)分配。分时操作系统让多个用户同时使用计算机2025/11/6331.2操作系统的形成和发展人机交互性好:在调试和运行程序时由用户自己操作。共享主机:多个用户同时使用。用户独立性:对每个用户而言好象独占主机。分时操作系统的特点2025/11/6341.2操作系统的形成和发展云计算:通过Internet以服务方式提供动态可伸缩的虚拟化资源的计算模式。云计算操作系统:构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等用于管理海量的基础硬件、软件之上的云平台综合管理系统。唤来了基于网络的分布式操作系统和虚拟化软件的研究的春天云计算操作系统2025/11/6351.3操作系统的分类1.单用户操作系统
2.批处理操作系统
3.实时操作系统
4.分时操作系统
5.网络操作系统
6.分布式操作系统7.嵌入式操作系统分类原则:按操作系统所提供的功能分2025/11/6361.3操作系统的分类基本特征:
一个用户独占计算机系统资源。系统所有软、硬件资源全为一个用户服务,单独地执行该用户提交的一个任务。常用的单用户操作系统:单用户单任务:MSDOS;CP/M单用户操作系统2025/11/6371.3操作系统的分类作业的处理流程作业提交:作业的输入;作业执行:作业完成:作业的输出;分类:-单道批处理系统:MSDOS
-多道批处理系统:IBMDOS批处理操作系统特点:用户脱机使用计算机成批处理2025/11/6381.3操作系统的分类单道和多道批处理的比较:批处理操作系统区别:作业道数:作业处理方式:2025/11/6391.3操作系统的分类实时操作系统专用系统:许多实时系统是专用系统。实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。特征:解决对时间要求高的问题人工干预少。2025/11/6401.3操作系统的分类分时操作系统同时性:多个用户同时工作。共享系统资源,提高了资源利用率。节省维护开支,可靠性高:笨终端--至今仍在使用。促进了计算机的普遍应用,提高资源利用率,远地用户通过终端(较便宜)联机使用。独立性:各用户独立操作,互不干扰。交互性:系统能及时对用户的操作进行响应,显著提高调试和修改程序的效率,缩短了周转时间;及时性:用户的请求能在较短时间内得到响应。特征:解决多人同时使用机器的要求以时间片方式分配工作2025/11/6411.3操作系统的分类网络操作系统通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等;网络通信功能:通过网络协议进行高效、可靠的数据传输;网络资源管理:协调各用户使用;网络服务:文件和设备共享,信息发布;网络管理:安全管理、故障管理、性能管理等。功能:提供网络通信和网络资源共享功能的操作系统
2025/11/6421.3操作系统的分类分布式操作系统特征:l
系统中任意两台计算机可以通过通信来交换信息。l
系统中各台计算机无主次之分,既没有控制整个系统的主机,也没有受控于它机的从机。l
系统资源为所有用户共享。l
系统中若干台计算机可以互相协作来完成一个共同任务,或者说,一个程序可以分布于几台计算机上并行地运行。2025/11/6431.3操作系统的分类嵌入式操作系统嵌入式操作系统(EmbeddedOperatingSystem,简称:EOS)是指用于嵌入式系统的操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能常用的有:嵌入式Linux、WindowsEmbedded、VxWorks等,以及应用在智能手机和平板电脑的Android、iOS等2025/11/6441.4操作系统的运行环境l
CPUl
特权指令:指令系统中那些只能由操作系统使用的指令
l
处理器状态:多数系统将处理器工作状态较简单地划分为管态(一般指操作系统管理程序运行的状态)和目态(用户程序运行时的状态)。l
程序状态字(PSW):用来指示处理器状态。与操作系统的资源管理功能密切相关的硬件环境:
执行不同程序时,对处理器设置的不同状态。2025/11/6451.5操作系统的结构l
软件组件化:OS也是一种软件,用软件工程的方法来组织。l
分层:每层完成操作系统要求的一个功能子集,每层都依赖紧挨着的较低一层的功能,并且为较高层提供服务。
随着操作系统的发展,功能越强,OS自身代码量越大--采用良好的结构:有利于保证正确性以及自身修改和扩充。2025/11/6461.5操作系统的结构操作系统的层次模式:层次名称对象操作举例1312111098外壳用户进程目录设备文件系统通信用户程序设计环境用户进程目录外设:打印机、显示器等文件管道Shell语言中的语句Quit,kill,suspend,resumeCreate,destroy,attach,detach,search,listCreate,destroy,open,close,read,writeCreate,destroy,open,closeCreate,destroy,open,close,read,write765虚拟存储器局部辅存进程原语段、页数据块、设备通道进程原语、信号量、就绪队列read,write,fetchread,write,allocate,freesuspend,resume,wait,signal4321中断过程指令集电子线路中断处理程序过程、调用栈、显示演算栈、微程序解释器寄存器、门电路、总线等Invoke,mask,unmask,retryMarkstack,call,retumLoad,store,add,subtract,branchClear,transfer,activate,complement2025/11/6471.6现代操作系统特征:绝大多数是个人独占计算机,通常使用交互方式。
多机系统,尤其对称多处理器SMP(symmetricmultiprocessing)方式被广泛使用。设计技术上和结构上的改进和发展
。2025/11/6481.6现代操作系统特征:微内核结构:减少内核的大小多线程机制:加快调度速度对称多处理器(SMP)机制
分布式操作系统采用面向对象技术2025/11/6491.6现代操作系统UNIX一个通用的、交互式的分时系统设计目标统一的硬件管理多用户多任务2025/11/6501.6现代操作系统Linux基于IBMPC结构的一个UNIX变种开源主要特点接口符合POSIX1003.1标准支持多用户访问和多任务编程高效的存储资源管理支持动态链接支持多种文件系统支持TCP/IP、SLIP和PPP2025/11/6511.6现代操作系统WindowsWindowsNT3.1是微软的第一代产品WindowsNT3.5x系列WindowsNT4.0WindowsNT5.0X:Windows2000、XP和WindowsServer2003WindowsNT6.0X:WindowsVista、WindowsServer2008、Windows7、WindowsServer2008R2、Windows8、Windows8.1和WindowsServer2012Windows10、112025/11/6521.6现代操作系统OpenHarmony分布式操作系统架构;分布式软总线技术;确定时延引擎;高性能进程间通信;微内核设计;跨平台硬件支持;统一集成开发环境(IDE);一次开发,多端部署。2025/11/653小结(1)操作系统的概念。操作系统是方便用户、管理系统资源的系统软件。有了操作系统的支持,用户可以自如地使用操作命令,方便地运行自己的程序。否则,用户面对“死”的硬件则难以将它运转起来;通过操作系统可以自动调动系统的软硬件资源,使它们高效协调地运转;同时,操作系统又是系统软件,处于软件系统三个层次的最下层,其它程序只有在它的支持下才能完成自己的操作。(2)操作系统的分类。通过本章的学习,要能正确理解单用户与多用户系统的区别;单道批处理系统和多道批处理系统以及批处理系统、分时系统、实时系统、网络操作系统、分布式操作系统和嵌入式操作系统各有什么区别和特点。2025/11/654小结(3)操作系统的功能。操作系统的资源管理有四项功能:处理器管理、存储器(内存)管理、设备管理和文件管理。前两者主要表现在多用户操作系统中,系统为多个用户动态地分配CPU和内存,使之高效协调地运转。设备管理主要是解决外部设备的驱动和分配问题、系统为用户提供简便有效的操作手段。文件管理就是系统把庞杂繁多的文件有组织地存放在外存空间内,使得用户方便地按文件名实行存取。此外还提供文件保护和共享的能力。(4)操作系统的运行环境。操作系统作为系统的管理程序,为了实现其预定的的各种管理功能,需要有一定的运行环境,主要包括系统的硬件环境和由其它的系统软件形成的软件环境。我们在系统的视图及系统的运行环境两节中分别介绍了这个概念。(5)现代操作系统设计特点。现代操作系统设计的特点主要体现在图形用户界面的交互技术、对称多处理器的支持、微内核结构、多线程机制、分布式操作系统的实现和面向对象技术的采用等方面。2025/11/655作业
1.什么是系统软件?它起什么作用?2.什么是操作系统?它在计算机系统中起什么作用?3.简述操作系统的发展历程。
4.什么是单用户操作系统?什么是多用户操作系统?二者本质区别何在?5.操作系统的功能有哪几项?扼要地说明之。6.为什么对作业进行批处理可以提高系统效率?7.操作系统有哪些分类方法?8.何谓批处理操作系统?它有哪些类型?各有什么特征?9.批处理系统、分时系统和实时系统各有什么特点?各适用于哪些方面?10.当今流行的嵌入式操作系统有哪些?第二章进程与线程
56学习要求掌握进程、线程管理基本原理及处理机制能够识别进程、线程管理功能实现的关键环节和影响因素能认识到进程、线程管理模块的实现有多种方案可选能够通过文献研究,在相关进程、线程管理功能模块实现的多种方案中,寻求一种更合适的解决方案。
能够遵循系统化的基本要求,确定进程、线程管理相关功能模块设计目标和技术方案。能够运用所学知识解决进程、线程管理的功能模块设计与实现问题,能在设计实现中体现创新意识。总述操作系统的重要任务之一:是充分、有效地利用系统的各类资源
最宝贵的资源:CPU
分配调度策略、处理冲突、资源回收
引入进程:作为资源分配的基本单位和基本实体
处理器的管理→进程管理
58第二章进程与线程2.1
多道程序与并发执行2.2
进程2.3
线程2.4进程管理实例592.1多道程序与并发执行本节内容:介绍程序的顺序执行;分析程序顺序执行的特点;引入多道程序并发执行;分析程序的并发执行和特点。
602.1多道程序与并发执行612.1.1程序的顺序执行和特点2.1.2程序的并发执行和特点2.1.1程序的顺序执行和特点计算机上运行的是:程序程序:是一个在时间上按严格次序先后操作的指令序列。它规定完成某一任务时所需做的各种操作规定操作顺序62单道程序系统:每次只允许一道程序进入计算机执行的系统。2.1.1程序的顺序执行和特点单道程序系统中:每次只允许一道程序运行;它将独占系统资源(处理器、主存、辅存、外设、软件);系统按照程序设计的步骤顺序地执行;在该程序执行完成之前,其它程序只能等待。
632.1.1程序的顺序执行和特点例:假设有两道程序都需运行,在单道程序系统中的运行情况如下:I代表输入,用C代表计算,P代表打印64程序1程序2I1C1P1I2C2P22.1.1程序的顺序执行和特点顺序执行的特点:程序执行的顺序性:前一步完才做下一步;程序运行时对资源的独占性:没有其它程序与之争夺资源;程序结果的可再现性:程序执行的结果与执行速度、时间无关;程序结果的封闭性:程序的运行只由初始条件和程序本身来确定。652.1.1程序的顺序执行和特点优点:系统管理简单,容易实现。缺点:系统的资源得不到充分的利用。66中断和通道技术的引入2.1.2程序的并发执行和特点程序的并发执行:一道程序不用某一系统资源,另一程序道就可以马上利用;多道程序并发执行的情形:672.1.2程序的并发执行和特点682.1.2程序的并发执行和特点宏观:同时驻留在主存的几道程序都按照自己的程序规定动作执行;微观:是这几道程序交替执行。692.1.2程序的并发执行和特点程序的并发执行的特点:程序执行时的资源共享性:硬资源、软件资源(系统软件、数据);程序失去了封闭性和可再现性:举例并发程序之间的相互制约性:共享系统内的资源,因此程序之间产生相互制约关系。并发程序活动规律:执行—暂停—执行程序:静态概念(难于描述动态系统)70进程例:varn:integerbeginn:=0;cobegin
programA;beginL1:n:=n+1;gotoL1end
programB;beginL2:print(n);n:=0;
gotoL2end
coend
end
712.2进程2.2.1进程的概念2.2.2进程的实体2.2.3进程状态和转换2.2.4进程的控制2.2.5进程的调度72进程的引入:程序的缺点:无法表示系统的动态特性,如:两个用户同时执行CC编译自己的程序,某时刻程序的执行状态难以刻画(运行、就绪、等待?)。引入进程(程序+处理对象)可表示执行动态特性。2.2.1进程的概念进程的六种理解方法(任务、活动)任何一个处于执行的程序。可以和别的计算并发执行的计算。程序及其数据在处理器上顺序执行时的活动。抽象实体,当它执行一个任务时,将要分配和释放各种资源。独立的可以调度的活动。具有独立功能的程序关于某个数据集合的一次运行活动。
732.2.1进程的概念进程的定义(程序段+数据)能和其它程序并行执行的程序段在某数据集合上的一次运行过程,它是系统资源分配和调度的一个独立单位。注意的问题:程序段可以并行执行。(并发性)基础是一个程序段,而不是整个程序。程序段在数据上的一次运行(某数据集合上的运行)动态的,是程序的一次执行过程。(动态性)能独立运行的基本单位。(独立性)742.2.1进程的概念进程和程序的区别:进程是一段程序的一次运行活动,动态概念,有一定“生命期”;程序是一组指令的集合:静态概念;程序段运行在两个不同数据集合上,就是两个不同的进程;一个程序可以对应多个进程;一个进程至少要对应一个程序,或对应多个程序,多个进程也可对应相同的程序。进程具有并行特征(独立性和异步性);进程是资源分配的基本单位。75例子:光盘(CD、VCD)光盘(程序)放光盘的活动(进程)2.2.2进程的实体1、进程的组成程序:进程→完整的程序、一部分程序;数据集合:运行需要的数据、工作区域;进程控制块(PCB):描述和标志进程(创建进程时,建立PCB;完成任务被撤销时,撤销PCB。)76物质基础2.2.2进程的实体进程控制块
PCB(ProcessControlBlock)
存放进程的管理和控制信息(标识信息,说明信息,现场信息,管理信息)的数据结构称为进程控制块。在创建进程时,建立PCB,并伴随进程运行的全过程,直到进程撤消而撤消。PCB就象我们的户口表。772.2.2进程的实体PCB的组织方式(为了管理上的方便)线性方式:所有的PCB组成一个数组;链接方式:运行队列、就绪队列、阻塞队列;索引方式:建立N张索引表。例如就绪索引表、阻塞索引表等。
782.2.2进程的实体线性方式PCB使用一个数组来组织和保存通过下标访问PCB缺点:找到某一状态的PCB,需要扫描整个线性表;79PCBPCBPCB……PCB2.2.2进程的实体链接方式将具有相同状态的PCB,使用链表的形式组成一个队列;系统使用固定单元,保存各队列的第一个PCB的起始地址;队列类型:运行队列(多处理机)、就绪队列、阻塞队列。802.2.2进程的实体81运行队列就绪队列阻塞队列2.2.2进程的实体索引方式还是使用统一的队列存放PCB;根据所有进程状态,建立N张索引表;索引表的首地址记录于内存中的专用单元中;822.2.3进程状态和转换1.进程的三种基本状态进程:动态的概念,表示了执行过程。(生命期)为了便于管理:对进程的不同时刻的不同状况,进行划分;三种基本状态(按照对资源的占用情况)就绪状态:执行状态:阻塞状态:832.2.3进程状态和转换(1)就绪状态进程获得其它全部资源;但不能占用CPU;一旦获得CPU就可以执行;(2)执行状态已获得必要的资源并占有CPU,正在执行;单处理器系统:只能有一个进程处于执行状态多机处理系统:可能有多个进程处于执行状态(3)阻塞(等待)状态进程因等待某一事件而暂不能执行的状态;是等待除CPU外的资源或事件。84CPU是一类特殊的资源2.2.3进程状态和转换状态的细分(为了管理和调度的便利,如PDP11的UNIX)运行状态(执行、就绪状态):高优先级睡眠状态:低优先级睡眠状态:创建进程状态:正在被创建时等待终止处理状态:运行结束未撤消时暂停状态:被跟踪时85本质:在三态的基础上再分。等待或阻塞状态2.2.3进程状态和转换进程状态的转换(运行过程中)产生的原因:自身的进展情况与其它进程并发执行外界条件的变化862.2.3进程状态和转换87就绪状态执行状态阻塞状态资源满足且获得CPU(选中)
时间片用完(落选)等待事件已发生(资源得到满足)
等待事件发生(等待资源)状态转换五种状态的进程状态转换图8889双挂起状态的进程状态转换图2.2.4进程控制进程是有生命周期的,产生、运行、暂停、终止。对进程的这些操作叫进程控制。进程控制的职责是对系统中全部进程实施有效的管理,它是处理机管理的部分(另一部分是进程调度),当系统允许多进程并发执行时,为了实现共享、协调并发进程的关系,处理机管理必须提供对进程实行有效的管理。902.2.4进程控制问题:进程的三态和转换,如何控制它们的进行:如何对进程的整个生命期进行控制:创建、撤消进程控制的主要任务:对系统中所有进程从创建到消亡的全过程实行有效地管理和控制。包括对进程状态变化加以管理和控制;创建新进程和撤消已完成任务的进程;912.2.4进程控制进程控制包括:
进程创建、
进程撤消、
进程阻塞、
进程唤醒。
这些操作都要对应地执行一个特殊的程序段(操作系统核心程序),同时系统也通过系统调用给用户提供进程控制的功能。教材上叫原语(一种特殊的系统调用)。
92原语:
用于完成特定功能的一段程序模块;执行期间不可分割。2.2.4进程控制运行状态
等待状态
进程阻塞等待状态
就绪状态
进程唤醒新建进程置为就绪状态进程创建进程终止(消亡)
进程撤消就绪状态
运行状态
进程调度932.2.4进程控制OS的内核中,用于进程控制的原语创建原语撤销原语阻塞原语唤醒原语94对应进程的建立和撤消对应进程状态转换使进程在等待和就绪态之间转换2.2.4进程控制1.创建原语-用于建立新的进程。建立进程的两种方式-由操作系统建立;-由其它进程创建一个新的进程;形成父子进程关系建立过程95AB1B2C1C2C32.2.4进程控制创建过程96填写相关信息申请PCB,分配惟一的数字标示符c调入程序设置为就绪状态UNIX的进程创建:
1.fork:创建一个与自己完全一样的新进程;
2.exec:Windows的进程创建:
1.CreatProcess:传递参数。972.2.4进程控制2.撤消原语完成任务后,释放它所占用的资源;实质:撤消进程存在标志(进程控制块PCB)并释放资源包括子孙进程982.2.4进程控制进程撤销过程99检索该进程PCB从相应队列删除查找所有的子孙进程释放这些进程的资源包括PCB如进程原来为执行状态重新调度进程执行2.2.4进程控制3.阻塞原语使用原因:因缺乏资源、等待I/O操作(也是资源的一种形式)等,而使用;使用目的:阻塞自己,进入阻塞态,使OS可以调度别的进程进入执行态。1002.2.4进程控制阻塞过程101保存当前进程的现场设置进程状态为等待进程进入阻塞队列转进程调度选择一个就绪态进程执行例如,进程是因等待打印机而进入阻塞状态,则该进程将加入到等待打印机的队列。进程挂起的系统调用算法和队列变化如下:2.2.4进程控制4.唤醒原语使用条件:某个资源得到满足。目的:唤醒所有等待该资源的进程,放入就绪队列,等待调度;唤醒过程:102从等待队列中摘下进程设置进程状态为就绪进程进入就绪队列转进程调度或返回原进程2.2.4进程控制注意的问题:创建原语和撤消原语阻塞原语和唤醒原语分别都是一对相对的操作原语使用时,要注意成对的使用。1032.3线程首先先分析进程的局限性线程的特性线程和进程的关系线程的实现104105线程是对程序并发机制的进一步改善。引入的理由为:原并发机制是建立在进程基础上,当有并发进程抢占CPU时需进行进程上下文的切换,代价高。改善后并发机制是建立在线程基础上的,线程调度时不发生进程上下文的切换,可省去CPU的时间。引入线程后原有进程的两个特征分别处理——操作系统的调度分配单位用线程描述;资源的分配单位仍用进程。2.3.1线程的引入线程:进程中的一个实体,比进程更小的独立运行的基本单位;(不独立拥有资源)进程内的基本调度单位。106107进程与线程的关系操作系统中的进程和线程可以设计为以上四种108线程的属性四部分组成:惟一的标识符、状态寄存器两个栈、私用存储器被系统独立调度和分派的基本单位;本身很小,调度开销小。线程可以创建和撤消另一个线程;同一个进程中的线程可以并发执行;不同进程中的线程也能并发执行;PCB用户地址空间用户栈核心栈进程每个线程有一个线程控制块(TCB)。线程标识符。描述处理机状态的一组寄存器。栈指针。一个私有存储区。109线程标识符处理机状态信息用户栈指针核心栈指针私有存储区用户栈核心栈进程和线程比较110●进程是资源的拥有者●线程不拥有资源,只有TCB及堆栈2.3.1线程的引入引入线程后的优势:1)在已有进程中创建或终止一个线程远比控制进程来得快;2)线程间的切换更容易更快捷;3)线程间的通信无须内核干涉可直接进行。1112.3.1线程的引入线程和进程的关系线程:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;进程:有自己独立的地址空间;进程:资源分配和拥有的单位;线程:同一个进程内的线程共享进程的资源;进程:不是处理器调度的基本单位;线程:成为处理器调度的基本单位;进程:之间并发执行;线程:之间并发执行;112地址空间资源拥有调度单位执行方式同样有三态转换和创建和终止2.3.1线程的引入进程、线程、程序、纯程序概念比较程序:静态的概念,无并发性;进程和线程:动态的概念,有并发性;进程:程序段+数据集拥有资源,有自己独立的地址空间;线程:不独占资源,共享进程资源,无独立地址空间纯程序:只有程序,本身无资源,调用程序提供数据区。113系统中进程与线程的表现形式可以是多样的:114线程的状态与管理
线程三种基本状态(1)就绪状态:表示线程已具备执行条件,等待调度程序分配CPU运行。(2)运行状态:表示线程被调度程序选中,并正占有CPU运行。(3)等待状态:表示线程正在等待某个事件发生。115线程的状态与操作
116就绪执行阻塞结束派生调度结束阻塞激活线程的典型应用场合
前后并行工作场合:如,表处理。
异步处理工作场合:如,设置一个备份线程,它每隔一分钟把RAM缓冲区的数据和信息写入磁盘。
需要加快执行速度的场合:如,一个线程在计算一批数据时另一个线程可以从设备上输入下一批数据,从而加快进程的执行速度。
组织复杂工作的程序:如,多个不同的任务需要处理,多线程机制可方便程序的设计和组织,且可提高整个系统效率。同时有多个用户服务请求的场合:如,文件服务器。1172.3.2线程的实现两种方式:1.内核支持线程的实现2.用户级线程的实现118119线程的实现用户级线程内核级线程组合的方法●线程的创建、撤消和切换,都不利用系统调用来实现。线程与内核无关,内核也不知道线程的存在。●依赖于内核,线程的创建、撤消和切换都由内核实现。在内核中有线程控制块(TCB),内核根据TCB感知线程的存在,并对线程进行控制。●由内核支持的用户线程。一个进程可以有一个或多个轻量级线程,每个轻量级线程由一个单独的内核线程来支持。2.3.2线程的实现1.内核支持线程的实现由OS内核管理:创建、撤消和切换内核提供相应的系统调用和API,用户程序可以创建、执行和撤消线程。
内核中保留了一个线程控制块(TCB);调度算法和进程类似,抢占式和非抢占式两种;时间片轮转法、优先权等算法。1201.内核支持线程的实现
Windows2000,Linux,OS/2采用内核级线程。121用户空间内核空间进程…核心级线程用户线程…核心线程1.内核支持线程的实现优点:用户编程简单;如果进程中一个线程阻塞,内核可以调度另外的线程;
可以利用多处理机。缺点:效率低;需要占用内核稀缺的内存资源;需修改操作系统。1222.3.2线程的实现2.用户级线程的实现仅存在于用户级中,创建、撤消和切换与内核无关;内核不知道线程的存在;在用户空间实现的,运行在中间系统之上;有关线程管理的所有工作都由应用程序完成。1232.3.2线程的实现用户级线程实现方法
124线程库用户空间内核空间进程…用户级线程用户级线程2.3.2线程的实现用户级线程的优点:
(1)灵活性。线程调度算法和过程完全由用户进程自行选择确定,与其他进程甚至操作系统内核无关。(2)线程切换快。用户级线程的调度只进行线程上下文切换而不进行进程切换,且线程上下文切换是在内核不参与的情况下进行的。(3)用户级线程可以在任何操作系统中运行,不需要对底层内核进行修改。(4)进程状态可能与线程状态不一致。如,当一个进程由于I/O中断或时间片用完等原因造成该进程处于等待状态或就绪状态,而在该进程中执行的线程仍处于执行状态。
1252.3.2线程的实现用户级线程的缺点:在典型的操作系统中,一个线程受阻会造成整个进程都受阻。(可解决)126测试结果比较:127表:用户级线程、内核级线程及进程执行时间的比较操作用户级线程内核级线程进程操作2374411840(单位:μs)操作1:创建、调度、执行和完成一个零过程的线程/进程;操作2:线程/进程同步所需时间。组合的方法128Solaris中的线程●在用户级线程和内核级线程之间,定义了一种轻型进程(LWP)●由LWP实现了内核与用户级线程的隔离,从而使用户级线程与内核无关2.4进程管理实例UNIX进程管理Linux进程管理Windows进程管理OpenHarmony进程管理2.5.1UNIX进程管理0#进程:核心态;
创建1#进程;
处理器调度;
进程切换。1#进程:核心态、用户态;
创建终端进程;
是用户进程的祖先。2.5.1UNIX进程管理UNIX的进程上下文2.5.1UNIX进程管理UNIX的进程状态及转换
2.5.2Linux进程管理1.Linux进程包括以下四个要素。(1)内存空间的正文段(2)内存空间数据段(3)task_struct结构(4)系统堆栈每当产生一个新的进程时,就会在内核空间中分配一个8KB的空间记录新进程信息。2.5.2Linux进程管理2.Linux线程Linux的线程模型是一种一对一模型(即一个进程中只有一个线程),也就是每个线程实际上在核心是一个单独的进程,核心的调度程序负责线程的调度,就像调度普通进程。线程用系统调用vfork()和clone()创建,Linux允许新进程共享父进程的存储空间、文件描述符和软中断处理程序。2.5.2Linux进程管理Linux进程有5种状态2.5.3Windows进程管理Windows2000/XP进程的特点主要有以下几个方面:进程作为对象实现;一个可执行的进程可以含有一个或多个线程;进程对象和线程对象都具有同步能力。2.5.3Windows进程管理win32中每个进程都用一个进程控制块表示,它描述了进程的基本信息,主要内容包括以下几方面。(1)线程列表:描述属于该进程所有线程的相关信息,处理机的分配和回收是以线程为单位的;(2)虚拟地址空间描述(VirtualAddressspaceDescriptor,VAD):描述进程地址空间各个部分的属性,用于虚拟存储管理;(3)对象列表:列出该进程正在访问的所有对象,用于对象访问。当进程创建或打开一个对象时,就会得到这个对象句柄。2.5.3Windows进程管理Win32子系统用于进程、线程控制的系统调用:CreateProcess创建新进程及其主线程,以执行指定的程序段;ExitProcess和TerminalProcess都可以用于进程的退出;CreateThread完成线程的创建工作;ExitThread用于结束当前线程;SuspendThread可挂起指定的线程;ResumeThread可激活指定的线程。2.5.3Windows进程管理Windows2000/XP使用两类与进程有关的对象:进程和线程。进程是对应一个拥有存储空间、打开的文件等资源的程序实体;线程是执行体的一个可分派单元,它在执行中是可以被中断的,是处理机调度的单位。2.5.3Windows进程管理2.5.3Windows进程管理一个Windows2000/XP的进程至少包含一个执行线程,该线程可能会创建别的线程。在多处理机系统中,同一个进程中的多个线程可以并行执行。2.5.3Windows进程管理2.5.3Windows进程管理Windows2000/XP的线程状态及其转换2.5.4OpenHarmony进程管理OpenHarmony的进程管理本章小结为了提高计算机系统的工作效率→引入进程失去程序顺序运行的特征,带来了一系列问题;进程有生命期:三态转换,和创建和撤消;如何实现三态转换,和创建和撤消:四个操作原语;针对进程存在的问题:引入线程来解决。进程管理实例第3章互斥与同步2025/11/6146第3章互斥与同步本章目标:掌握进程同步与互斥的基本原理及处理机制能够识别同步与互斥功能实现的关键环节和影响因素能够认识到同步与互斥功能实现有多种方案,能够通过文献研究,在多种方案中,寻求一种更合适的解决方案能够遵循系统化的基本要求,确定解决同步与互斥问题的设计目标和技术方案能够运用所学知识解决同步与互斥进程设计与实现问题,能在设计实现中体现创新意识能够对实验结果进行进行输入条件关联分析和解释,并能综合应用场景和技术需求,得出结论的有效性3.1进程互斥
并发进程之间的关系间接的相互制约关系─资源共享(竞争资源)直接的相互制约关系─公共变量(进程协作)3.1.1并发原理例1:生产者和消费者问题(Producer&Consumer)
生产者进程:{
while(count==BUFFER_SIZE);count++;buffer[in]=item;in=(in+1)%BUFFER_SIZE;}消费者进程:{while(count==0);count--;item=buffer[out];out=(out+1)%BUFFER_SIZE;}
生产者进程:数据→缓冲区(buffer)消费者进程:缓冲区(buffer)→数据BUFFER_SIZE=K,count:buffer中数据个数,是共享变量inout结果不唯一Producer进程:
count++Consumer进程:
count--T0:register1=count;T1:register1=register1+1;T4(5):count=register1;T2:register2=count;T3:register2=register2-1;T5(4):count=register2;(count=5(7))例2假设有两个并发进程borrow和return分别负责申请与归还主存资源,程序片段如下。
X:现有的空闲主存量;B:申请或归还的主存量。processborrow(…,B,…)intB;{if(B>X){等待主存资源;}X=X-B;
修改主存分配表;
}processreturn(…,B,…)intB;{X=X+B;
释放等待主存资源者;修改主存分配表;
}永远等待processborrow(…,B,…)intB;{if(B>X)
调度returnprocessreturn(…,B,…)intB;{X=X+B;
释放等待主存资源者;修改主存分配表;
}
{等待主存资源;}X=X-B;
修改主存分配表;
}
临界区
错误原因:两个进程交叉访问共享变量count或X并发进程中与共享变量有关的程序段称为“临界区”(Criticalsection)
一次只允许一个进程使用的资源称临界资源临界资源的访问过程:进入区临界区退出区剩余区进程中访问临界资源的那段代码称临界区
3.1.2临界资源与临界区“生产者和消费者”问题
生产者进程的临界区:count++;buffer[in]=item;in=(in+1)%BUFFER_SIZE;消费者进程的临界区:count--;item=buffer[out];out=(out+1)%BUFFER_SIZE;一个进程在临界区中执行时,不让另一个进程进入相关的临界区执行,就不会造成与时间有关的错误。
不允许两个以上共享共有资源或变量的进程同时进入临界区执行的性质称为互斥(mutualexclusion)。即临界区的执行必须具有排它性。互斥(MutualExclusion)临界区的管理应有三个要求:(1)互斥性:如果一个进程在它临界区中执行,其它任何进程均不能进入相关的临界区执行;(2)进展性:如果一个进程不在它临界区中执行,不应阻止其它任何进程进入相关的临界区执行;(3)有限等待性:某个进程从申请进入临界区时开始,应在有限的时间内得以进入临界区执行。3.1.3互斥的软、硬件实现方法1.标志法 如P1和P2两个进程,它们的程序代码均包含有相关的临界区。我们对P1和P2分别用两个变量inside1和inside2来标志它们是否在临界区中,当进程在它的临界区内时其值为1,不在临界区时其值为0。intinside1,inside2;/*两并发进程共享变量*/
inside1=0;/*表示P1不在临界区内*/
inside2=0;/*表示P2不在临界区内*/
processP1
{……
while(inside2);/*等待inside2变成0*/
inside1=1;
临界区;
inside1=0;
……
}
processP2
{……
while(inside1);/*等待inside1变成0*/
inside2=1;
临界区;
inside2=0;
……}
可能出现两个并发进程同时进入了各自的临界区的情况2.严格轮换法用一个指针turn来指示应该由哪个进程进入临界区。若turn=0则表示P0可进入临界区;若turn=1则表示P1可进入临界区。intturn;
turn=0;
processP0
{……
while(turn==1);/*等待turn变成0*/
临界区;
turn=1;
……
}
processP1
{……
while(turn==0);/*等待turn变成1*/
临界区;
turn=0;
……
}问题:
1)严格强制了两个进程轮换地进入临界区
2)违反要求(2)3)忙等待3.Peterson算法为每一个进程设置一个标志flag,当标志为1时表示该进程请求进入临界区。设置一个指针turn以指示可以由哪个进程进入临界区,当turn等于i时则可由进程Pi进入临界区。提供两个函数来管理临界区,分别为enter_region,leave_region。intturn;
intflag[2]={0,0};
voidenter_region(intprocess)
{
intother;
other=1-process;
flag[process]=1;
turn=other;
while(turn==other&&flag[other]==1);
}
voidleave_region(intprocess)
{
flag[process]=0;
}
Peterson算法好处:能正确解决互斥问题.缺点:进程会出现“忙等待”.6.2.2.2互斥的硬件实现方法1.中断屏蔽方法……
屏蔽中断(disableinterrupts);临界区;开中断(enableinterrupts);……2.硬件指令方法……while(TS(&lock));临界区代码;lock=0;……
用Swap指令来管理临界区时,则进程程序结构为:……key=1;doSwap(&lock,&key)while(key);临界区代码;lock=0;……测试并设置指令:对一个字进行检测和修正交换指令:实现两个字的内容交换intTS(int*flag){intold_flag;old_flag=*flag;*flag=1;return(old_flag);}voidSwap(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}缺点:忙等待3.1.4信号量和P、V操作思想:在多个相互合作的进程之间使用简单的信号来协调控制。一个进程检测到某个信号后,就被强迫停止在一个特定的地方,直到它收到一个专门的信号为止才能继续执行。这个信号就称为“信号量”,类似于十字路口的交通控制信号灯。
信号量定义:含有整型数据项的结构变量,其整型值大于等于零代表可供并发进程使用的资源实体数,小于零时则表示正在等待使用临界区的进程数。typedefstruct{intvalue;PCB*pointer;}semaphore;
P操作P(s):将信号量s的整型值减去1,若结果大于等于0,则调用进程继续运行;若结果小于0,则将调用P(s)的进程置成等待信号量s的状态,直到其他进程在s上执行V操作将其释放为止。V操作V(s):将信号量s的整型值加上1,若结果大于0,则调用进程继续运行;若结果不大于0,则释放一个等待信号量s的进程,然后调用进程继续运行。ProcedureP(vars:semaphore) begin s.value:=s.value-1; ifs.value<0thenW(s); end;ProcedureV(vars:semaphore) begin s.value:=s.value+1; ifs.value<=0thenR(s); end;P操作V操作s=s-1s<0Y调用进程被阻塞继续Ns=s+1s<=0Y唤醒一个阻塞进程继续N信号量S的物理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流运输企业人力资源部年度工作计划总结
- 投资银行家职业发展与面试经验
- 文化创意企业审计岗工作内容概览
- 旅游行业市场总监的职责与面试准备
- 投诉处理流程中的沟通技巧培训
- 商业分析中的SWOT分析与案例
- 京东商城首席运营官的选拔与面试策略
- 化工企业综合管理部战略规划及实施步骤
- 医患良好关系英语作文
- 腾讯软件开发工程师面试全攻略
- 新能源充电桩营销计划
- 消毒供应中心外来医疗器械管理
- 部编版三年级下册语文表格式全册教案及全套导学案
- 小学一年级班主任培训
- 戏剧艺术概论课件
- 医院培训课件:《成人住院患者静脉血栓栓塞症的预防护理》
- 《渔家傲 秋思》中考阅读选择题(附参考答案及解析)
- 《UML系统分析与设计教程(第2版)》全套教学课件
- 汽车维修与保养服务协议
- 2024版叉式移动机器人产业发展蓝皮书
- 《多元统计分析-基于R(第3版)》课件全套 费宇 第1-13章-多元统计分析与R简介-多维标度分析
评论
0/150
提交评论