还剩47页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《进程管理》课程目标了解进程的概念掌握进程管理技术分析进程管理问题深入理解进程的概念,包括进程的定义、学习进程调度、进程同步、进程通信等核掌握分析和解决进程管理中的常见问题,状态、创建、终止、描述符等,为后续学心技术,理解操作系统如何管理和协调进如死锁、资源竞争等,并能设计有效的解习奠定基础程,提高系统效率决方案什么是进程进程是操作系统中一个重要的概念,它代表一个正在执行的程序一个进程是程序在执行过程中的一个实例,包含了程序的代码、数据以及执行状态形象地说,进程就像一台正在运行的汽车,程序就像是汽车的蓝图汽车需要燃料才能运行,进程也需要系统资源才能执行进程拥有自己的内存空间、文件和资源,并被操作系统调度,在多任务系统中,多个进程可以同时运行进程的状态运行状态就绪状态12进程正在占用处理机,并正在进程已准备好运行,但正在等执行待处理机阻塞状态3进程正在等待某个事件发生,例如完成或子进程终止I/O进程的创建系统调用1使用或等系统调用创建新进程`create``fork`分配资源2为新进程分配内存、时间、文件和数据结构等资源CPU初始化进程控制块3设置新进程的、状态、优先级、内存地址、文件表和相关信息PID将进程加入就绪队列4使新进程准备运行,等待调度器分配时间CPU进程创建是操作系统中的一个重要操作,它涉及一系列步骤以创建一个新的独立执行的程序实例首先,需要使用系统调用来创建新进程,例如或`create`然后,操作系统会为新进程分配必要的资源,包括内存空间、时间、文件和数据结构接下来,操作系统需要初始化新进程的进程控制块,其中`fork`CPU包含进程、状态、优先级、内存地址、文件表等信息最后,新进程会被加入到就绪队列,等待调度器分配时间进行执行ID CPU进程的终止正常终止1进程完成任务,主动结束执行,如程序执行到最后一条指令异常终止2由于错误或异常情况导致进程非正常终止,例如内存溢出、非法操作或资源耗尽外部终止3由外部因素导致进程终止,例如用户命令、操作系统命令或父进程的请求进程描述符内存地址状态文件信息网络信息CPU进程描述符包含进程在内存中记录进程当前执行状态,包括保存进程所用到的文件信息,记录进程与网络相关的状态信的地址信息,方便操作系统管程序计数器、寄存器等信息,如打开的文件、文件访问权限息,例如连接的端口、网络协理和访问进程的资源以便进程恢复执行等,以便管理和控制进程对文议等,方便管理进程的网络行件的访问为进程控制块进程控制块(中存储了进程的标操作系统通过来管Process PCBPCB,)识信息、状态信息、资理进程,例如创建、调Control BlockPCB是操作系统用来管理进源信息、控制信息等,度、切换、终止等操程的重要数据结构,它例如进程、进程名、作,它就像一个管理ID包含了进程运行所需的优先级、运行状态、内者,掌控着每个进程的全部信息存地址、文件列表等运行状态和资源分配等进程的切换概念进程切换是指操作系统从一个进程切换到另一个进程的执行过程这涉及到将当前进程的上下文(包括寄存器、内存地址CPU空间、打开的文件等)保存到内存中的一个特定区域,然后加载另一个进程的上下文,并开始执行该进程过程进程切换是一个复杂的过程,它涉及以下步骤保存当前进程的上下文、加载新进程的上下文、更新进程控制块和内存管理信息,最后将控制权移交给新进程CPU目的进程切换的目的是实现多道程序设计,通过在多个进程之间快速切换,来提高系统资源利用率并提高系统效率进程调度定义目标进程调度是操作系统管理进程执进程调度旨在平衡多个进程的资行顺序和资源分配的关键机制源需求,并优化系统性能,包括它决定了哪个进程占用时间,吞吐量、响应时间、利用率CPU CPU以最大限度地提高系统效率,满等足用户需求类型常见的调度算法包括先来先服务、短作业优先、时间片轮转FCFS SJF、多级反馈队列等,每个算法都具有不同的优先级和调度策RR MFQ略批处理系统定义特点批处理系统是一种操作系统,它将用户作业按顺序排列成批次,•作业间相互独立然后一次性地执行这些作业作业通常是通过提交到计算机中心效率高•的卡或磁带,并在执行完所有作业后,再将结果返回给用户批•资源利用率高处理系统通常用于处理大量的重复性任务,例如工资单计算或数•无法进行用户交互据整理交互式系统用户交互即时响应动态性交互式系统允许用户直接与系统进行交互,用户在输入指令或数据后,系统会立即响应交互式系统通常具有动态性,根据用户的输例如通过键盘、鼠标或触摸屏输入指令和数并提供结果,例如显示信息、执行操作或进入和操作不断调整和改变系统状态据,并实时获得反馈行提示实时系统对时间敏感对数据完整性有要求实时系统要求在规定的时间内完实时系统通常用于控制关键设备成操作,通常对系统响应时间有或操作,因此必须确保数据完整严格的要求性,避免数据丢失或损坏应用场景广泛实时系统应用于工业控制、航空航天、医疗设备、金融交易等领域,在各个领域发挥着重要作用多道程序设计概念特点实现方式多道程序设计是指在计提高利用率,减少利用的时间片轮转-CPU-CPU算机系统中同时运行多空闲时间提高系统技术,将时间分配-CPU个程序,以提高系统资吞吐量,单位时间内完给多个程序,每个程序源利用率和吞吐量成的作业数量更多运行一段时间后,将-缩短用户作业的平均周时间分配给下一个CPU转时间程序利用内存管理-技术,将多个程序的代码和数据加载到内存中,并通过地址映射机制实现对它们的访问内存管理物理内存物理内存是指计算机系统中实际存在的内存空间,通常由(随机存取存储器)构RAM成逻辑地址逻辑地址是由产生的地址,表示程序员看到的内存空间,它与物理地址无关CPU物理地址物理地址是指内存控制器实际访问的内存空间,它对应物理内存中唯一的地址地址转换将逻辑地址转换为物理地址的过程称为地址转换,由内存管理单元()完成MMU虚拟内存概念分页分段虚拟内存是一种技术,它允许程序使用比实分页是将虚拟内存划分为固定大小的页面,分段是将虚拟内存划分为逻辑上的段,每个际物理内存更多的内存它通过将程序数据并将页面加载到内存中当程序需要访问不段对应程序中的一个逻辑单元操作系统可和代码存储在磁盘上,并在需要时将其加载在内存中的页面时,会发生页面错误,操作以将不同段加载到内存的不同位置,从而实到内存中来实现系统会将该页面从磁盘加载到内存现更好的内存利用率页面置换算法最佳置换算法OPT选择未来最长时间不会被访问的页面进行置换先进先出FIFO选择最先进入内存的页面进行置换,简单易实现,但可能导致页面抖动最近最少使用LRU选择最近最少使用的页面进行置换,效率较高,但需要记录页面的访问时间时钟算法CLOCK结合和的优点,记录页面使用情况,选择最近最少使用的页面进行置换,FIFO LRU但效率略低于LRU页表管理页表结构页表组织方式页表是一个数据结构,它存储了每个逻辑页面的物理地址信息页表组织方式主要有两种页表条目()包含以下内容PTE•单级页表每个进程只有一个页表,所有页表条目连续存储在•页框号物理地址中页框的索引内存中•访问权限位指示当前进程对该页面的访问权限•多级页表为了减少页表的内存占用,可以采用多级页表结构,将页表分成多个层次,每个层次对应一个页表,最终指向•修改位记录该页面是否被修改过实际的物理页框•存在位指示该页面是否已加载到内存中分段管理概念优点分段管理是一种将程序地址空间分段管理的主要优点在于它允许划分为若干个逻辑段的内存管理程序员以逻辑方式组织程序,并方式每个段可以是程序的不同在运行时动态分配和释放内存部分,例如代码段、数据段和堆这使得程序的结构更加清晰,代栈段每个段都有一个段号,并码更容易维护在内存中分配独立的地址空间程序员可以根据程序逻辑划分不同的段,提高内存利用率和程序的安全性缺点分段管理也存在一些缺点,例如需要维护段表,以及可能出现外部碎片的问题外部碎片是指内存中存在一些空闲空间,但这些空间太小,无法容纳任何一个完整的段分页与分段的结合分页和分段两种内存管为了解决分页和分段的在段页式管理中,逻辑理方式各有优缺点分各自缺陷,一些系统采地址空间被分成若干个页管理可以有效地解决用了一种结合分页和分段,每个段被进一步划外部碎片问题,但会导段的内存管理方式,即分成若干个页程序执致内部碎片问题而分段页式管理行时,先将程序分成若****段管理可以有效地解决干个段,然后将每个段内部碎片问题,但会导再分成若干个页,并分致外部碎片问题别存放在内存中当需要访问某一段的某一页时,系统会将段号和页号一起送到内存管理单元,通过段表和页表找到该页的物理地址中断处理中断的概念1中断是指在程序执行过程中,由于某些事件的发生而使CPU暂停当前程序的执行,转去执行相应的处理程序,处理完后返回原程序继续执行中断的类型2中断可分为硬件中断和软件中断,硬件中断由硬件事件触发,如键盘输入、磁盘读写完成等;软件中断由程序指令触发,如系统调用等中断处理过程3中断处理包括中断响应、中断处理程序执行和中断返回三个阶段中断处理是操作系统的重要机制之一,它允许系统及时响应外部事件,提高系统的效率和可靠性中断服务程序处理中断恢复执行关键角色中断服务程序是操作系统的一部分,专门负完成中断处理后,中断服务程序会将控制权中断服务程序在操作系统中扮演着至关重要责处理来自硬件或软件的中断当发生中断返回给中断发生时的程序,继续执行之前的的角色它们允许操作系统有效地管理硬件时,会暂停当前执行的任务,并将控制任务中断服务程序需要确保中断处理的快资源,并确保系统对各种事件做出快速响CPU权转移到相应的中断服务程序中断服务程速性和可靠性,以保证系统的稳定性和效应通过中断服务程序,操作系统可以协调序会分析中断原因,并执行相应的操作,例率来自不同设备的请求,并确保系统平稳运如读取设备数据、更新系统状态或执行其他行处理中断屏蔽定义作用中断屏蔽是指暂时禁止特定中断中断屏蔽可以防止低优先级中断的处理,防止其打断当前正在执打断高优先级中断的处理,避免行的任务通过屏蔽,系统可以系统混乱例如,在处理磁盘操保证关键操作的完整性和稳定作时,需要屏蔽来自键盘或鼠标性的低优先级中断,以确保磁盘操作的顺利进行实现通常使用硬件或软件机制来实现中断屏蔽硬件屏蔽通常通过设置特定寄存器来实现,而软件屏蔽则通过修改中断处理程序来实现中断嵌套中断处理1中断处理程序执行过程中,可能再次发生中断嵌套中断2新的中断被压入栈,等待当前中断处理程序执行完后,再进行处理中断屏蔽3防止中断嵌套,可将中断屏蔽中断嵌套是指在处理一个中断时,又发生了另一个中断,这种情况称为中断嵌套为了保证系统正常运行,操作系统需要对中断进行管理中断嵌套是指在处理一个中断时,又发生了另一个中断,这种情况称为中断嵌套操作系统会将新发生的中断压入栈,等待当前中断处理程序执行完后,再进行处理如果需要防止中断嵌套,可以使用中断屏蔽的方式,即在处理一个中断时,暂时屏蔽其他中断的发生系统调用系统调用是用户程序与通过系统调用,用户程系统调用通常以函数的操作系统之间的接口,序可以访问系统资源,形式提供,例如打开文是用户程序请求操作系例如文件、设备和网件、创建进程和读写数统服务的一种机制络据进程间通信数据共享1进程间通信的主要目的是实现不同进程之间的数据共享,以协同完成任务资源共享2进程之间可以共享系统资源,如文件、设备等,提高资源利用率同步与协调3进程间通信需要确保各进程之间协同运行,以达到预期目标信息传递4进程可以相互传递信息,例如通知、请求等,实现进程间的交互管道定义特点类型管道是一种简单的进程间通信机制,它允•单向通信管道只能用于单向数据传•匿名管道创建时没有名字,只能在许两个进程通过一个共享的、先进先出的输,即从一个进程写入另一个进程创建管道的进程和其子进程之间通缓冲区进行通信发送进程将数据写入管信道,而接收进程从管道中读取数据•半双工管道只能由一个进程写入,•命名管道创建时有名字,允许任何另一个进程读取,不能同时进行读写进程访问,即使它们不是父子关系操作•缓冲区管道提供了一个有限大小的缓冲区,用于存储数据消息队列概念生产者消费者模式优点-消息队列是一种进程间通信机制,允许进程间消息队列遵循生产者-消费者模式,其中生产者•提高系统可扩展性消息队列可以解耦发通过消息传递进行异步通信它本质上是一个进程将消息放入队列,而消费者进程从中获取送者和接收者,允许它们独立扩展数据结构,存储来自发送者的消息,并将其传消息这使得发送者和接收者不必同时运行,•增强系统健壮性消息队列可以缓冲消递给接收者从而实现异步通信息,即使接收者出现故障,消息也不会丢失•改善系统性能消息队列可以提高系统性能,因为发送者和接收者可以异步工作共享内存定义优势缺点共享内存是进程间通信的一种机制,它共享内存比其他进程间通信机制更快,共享内存需要仔细管理,以防止多个进允许多个进程访问同一块内存区域这因为不需要进行数据复制它也更灵程同时访问同一块内存区域如果多个样,进程就可以通过这块共享内存进行活,因为进程可以根据需要访问内存的进程同时写入共享内存,可能会导致数数据交换任何部分据损坏信号量概念类型信号量是一种用于控制访问共享资源的机制,它是一个整数值,•二元信号量仅可取0或1的值,用于表示资源是否可用用于代表可用的资源数量当一个进程需要使用资源时,它会尝试获取信号量如果信号量大于,则进程可以获取资源并使信号0•计数信号量可取任意非负整数值,用于表示可用资源的数量减如果信号量等于,则进程必须等待,直到另一个进程释10量放资源并使信号量加1死锁概念定义死锁是指两个或多个进程因互相等待对方释放资源而造成的一种阻塞状态,导致所有进程都无法继续执行,系统陷入僵局特征死锁具有以下特征•互斥资源在同一时间只能被一个进程使用•占有且等待进程已经占有至少一个资源,但又需要申请其他资源,而这些资源却被其他进程占有•不可剥夺进程已经获得的资源不能被其他进程强行抢占•循环等待存在一个封闭的进程链,其中每个进程都等待链中下一个进程所持有的资源死锁的必要条件互斥条件占有且等待不可剥夺任何时候只有一个进程一个进程至少占有一个进程获得的资源在未使可以使用该资源,即资资源,并且在等待另一用完之前不能被其他进源不能被共享个资源,该资源被另一程强行夺走个进程占有循环等待存在一个封闭的进程链,使得每个进程至少等待链中下一个进程所持有的一个资源死锁的预防破坏互斥条件1不允许资源被独占访问,即允许多个进程同时访问同一资源但是,这对于某些资源是不可行的,例如打印机因此,对于某些资源,互斥条件是不可避免的破坏请求和保持条件2要求进程在运行前请求所有需要的资源,如果无法获得所有需要的资源,则释放已经获得的资源,然后再重新请求这种方法可以防止进程在持有某些资源的同时又请求新的资源,但会降低资源利用率破坏不可剥夺条件3允许系统从一个进程那里强行抢夺资源,即使该进程正在使用该资源这可以通过引入优先级机制来实现,即高优先级进程可以抢夺低优先级进程正在使用的资源但是,这种方法可能会导致进程的频繁中断和重新启动,降低系统性能破坏循环等待条件4对所有资源进行编号,要求进程按照编号顺序请求资源,即先请求低编号的资源,再请求高编号的资源这样可以防止进程在等待某一资源的同时又持有其他高编号的资源,从而避免循环等待条件死锁的避免资源分配策略银行家算法死锁避免的关键在于资源分配策略,它要求系统在分配资源之前银行家算法是死锁避免的一种经典算法它通过模拟银行贷款流预测资源分配的安全性如果分配会引起系统进入不安全状态,程来控制资源的分配,以确保系统始终处于安全状态该算法会就拒绝分配这需要系统维护一个安全状态的判断算法,以确保先检查当前资源分配情况,然后根据预定需求和可分配资源,判系统始终处于安全状态断是否可以安全地分配资源给进程如果不能保证安全性,则拒绝分配资源,以防止死锁的发生死锁的检测资源分配图资源分配图是一种图形化方法,用于表示系统中进程和资源之间的关系它可以帮助识别系统中是否存在死锁银行家算法银行家算法是一种安全算法,用于在资源分配过程中避免死锁它通过检查系统状态,确保每个进程都能在有限的时间内获得所需的资源,从而避免死锁死锁的解除抢占资源终止进程改变资源分配顺序从一个或多个进程中抢占足够多的资源,以终止一个或多个进程,以打破死锁选择要改变系统中资源分配的顺序,以打破死锁打破死锁这可能需要回滚一些进程,即撤终止的进程应尽可能地减少损失例如,可例如,可以改变进程申请资源的顺序或系统销进程执行到某一点,并释放其占用的资以选择终止一个占用较少资源或重要性较低分配资源的策略这种方法需要对系统有深源这种方法可能很复杂,需要仔细规划,的进程这种方法简单易行,但可能导致数入的了解,并可能影响系统性能以避免数据丢失或进程崩溃据丢失或任务无法完成处理机调度调度目标1处理机调度算法的目标是提高系统效率,优化资源利用,并满足用户的需求主要目标包括•最大化CPU利用率•最小化平均等待时间•最小化平均响应时间•保证公平性,防止进程长时间等待调度策略2常见的调度策略包括•先来先服务(FCFS)•短作业优先(SJF)•时间片轮转(RR)•多级反馈队列(MFQ)•优先级调度调度算法3不同的调度策略对应着不同的算法,例如•FCFS按进程到达时间排序•SJF按进程执行时间排序•RR按时间片轮流分配CPU•MFQ多级队列,根据优先级分配CPU先来先服务概念先来先服务是最简单的一种调度算法它根据进程First-Come,First-Served,FCFS到达的时间顺序进行调度,先到达的进程先获得处理器,后到达的进程后获得处理器优点算法简单易实现,并且公平,不会歧视任何进程它适用于批处理系统,因为FCFS在批处理系统中,进程到达的顺序通常是固定的,并且进程的执行时间通常很长缺点算法的缺点是它可能会导致较短的进程等待较长时间,从而降低系统效率例FCFS如,如果一个长进程先到达,那么后续的短进程就必须等待很长时间才能获得处理器应用场景算法主要适用于批处理系统,以及一些对公平性要求比较高的场合,比如一些FCFS共享资源的分配短作业优先概念1短作业优先算法是一种非抢占式调度算法,它会优先选择预计运行时间最短的作业进行执行SJF优点2可以有效地减少平均作业等待时间,提高系统吞吐量缺点3无法保证长作业的及时完成,可能导致长作业长时间等待短作业优先算法适用于批处理系统,其中作业的执行时间是已知的或可以提前估计它对于需要快速完成的短作业非常有效,但对于长作业则可能造成较长的等待时间时间片轮转概述1时间片轮转是一种基于时间的调度算法,它将时间划分成固定大小的时CPU间片,并分配给每个进程当一个进程运行完它的时间片后,就会被挂起并放入就绪队列的末尾,等待下一个时间片这种方法确保了所有进程都能获得时间,并避免任何一个进程独占资源CPU CPU优点2•提供了一种公平的调度机制,每个进程都能获得一定的时间片,从而避免饥饿现象•可以有效地支持交互式系统,因为每个进程都能快速地得到响应缺点3•时间片过短会导致频繁的上下文切换,降低系统效率•对于I/O密集型进程来说,可能无法充分利用CPU时间,因为它们可能在等待操作时被切换I/O多级反馈队列优先级队列1高优先级进程,短时间片普通队列2中等优先级进程,中等时间片低优先级队列3低优先级进程,长时间片多级反馈队列调度算法是一种常见的进程调度算法,它将进程分为多个优先级队列,每个队列都有自己的时间片长度当一个进程进入系统后,首先被放入最高优先级队列,并被分配一个时间片如果该进程在时间片内完成,则退出系统否则,该进程被放入下一个低优先级队列,并分配一个更长的时间片这种算法能够兼顾短作业优先和时间片轮转的优点,提高系统吞吐量和响应时间实时调度高优先级实时调度系统中,任务按照优先级排序,高优先级任务优先执行,以确保关键任务的及时完成例如,在工业控制系统中,一些传感器数据的采集和处理必须在极短的时间内完成,因此这类任务需要被赋予高优先级时间约束实时调度系统中的任务通常具有时间约束,即要求在规定的时间内完成任务例如,在医疗设备中,心脏起搏器需要在特定的时间内发送信号,以保持心脏的正常跳动任务调度实时调度系统采用不同的调度算法来安排任务的执行顺序,以满足各种时间约束和优先级要求常用的算法包括优先级调度、时间片轮转调度和最短剩余时间优先调度等处理器共享概念优势缺点处理器共享是指将处理处理器共享可以提高系处理器共享也有一些缺器的时间分配给多个进统的吞吐量,并能更好点,比如会增加上下文程,每个进程都能够在地利用处理器资源它切换的开销,并可能会处理器上运行一小段时可以使多个进程同时运导致进程的响应时间变间,从而使多个进程能行,从而提高系统的效长够同时运行这可以通率过时间片轮转、多级反馈队列等调度算法实现进程同步概念必要性进程同步是指多个进程在访问共享资源时,为了避免数据不一多个进程访问共享资源时,如果缺乏同步机制,可能会导致数据致,需要进行协调,以保证资源访问的正确性竞争,即多个进程同时修改共享数据,造成数据不一致,甚至系统崩溃临界区定义重要性实现方法临界区是指一段代码,它访问了共享资临界区是进程同步的关键概念通过对临界区可以使用各种方法实现,例如信源,并且必须确保在同一时刻只有一个临界区的访问进行控制,可以确保共享号量、互斥量、条件变量等选择合适进程能够访问这些共享资源如果多个资源的正确性和一致性,避免数据竞争的实现方法取决于具体的情况和需求进程同时访问临界区,可能会导致数据和死锁问题不一致,甚至程序崩溃生产者消费者问题-生产者消费者缓冲区生产者是向缓冲区中写入数据的进程消费者是从缓冲区中读取数据的进程缓冲区是一个有限大小的共享数据区,用于存储生产者生产的数据,供消费者消费读者写者问题-读者写者多个读者可以同时读一个共享资源,只有一个写者可以写共享资源,其他但不能修改读者和写者都必须等待哲学家就餐问题问题描述死锁的可能性12五位哲学家围坐在一张圆桌如果每个哲学家都拿起了一根旁,桌子上摆着五根筷子和五筷子,但没有拿第二根筷子,个盘子哲学家们思考问题时那么他们就无法获得第二根筷不需要做其他事情,但需要吃子,从而陷入死锁状态,无法饭,吃饭时需要两根筷子问继续进餐题是,如何设计一个方案,使得哲学家们既能安全地获得筷子,又能避免死锁解决方法3可以采取不同的方法来解决这个问题,例如限制同时拿起筷子的哲学家数量、使用信号量等机制来协调哲学家们的行为,避免死锁的发生习题与讨论课后练习课堂讨论通过练习巩固所学知识,加深对进程管理概念的理解分享理解,探究疑问,共同学习,提升对进程管理的应用能力。
个人认证
优秀文档
获得点赞 0