还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
进程及进程管理进程的概念与定义程序进程程序是一组指令,其本身是静态的,它只是存储在磁盘上的数据进程是程序在执行时的动态过程,它包括程序代码、数据、系统资源和进程控制块进程的组成部分程序数据进程控制块PCB程序是静态的指令序列,是进程执行的依数据是程序执行时所需要操作的信息,包进程控制块是操作系统用来管理进程的重据括程序运行时所需的输入数据、中间结果要数据结构,它保存了进程的各种信息和输出数据等进程的状态运行状态就绪状态进程正在CPU上执行进程已准备好运行,等待CPU分配阻塞状态进程正在等待某个事件发生,例如I/O完成或资源可用进程控制块进程标识符进程状态唯一标识每个进程描述进程当前状态进程内存信息记录进程在内存中的地址和大小进程的创建与终止创建1资源分配终止2释放资源执行3状态转换进程切换保存上下文将当前运行进程的CPU寄存器、程序计数器和内存状态保存到进程控制块PCB中加载上下文将要运行的进程的PCB中的上下文信息加载到CPU中,以便继续执行更新PCB更新PCB的状态,例如将当前进程状态更改为就绪或阻塞进程调度算法分配资源优化系统性能CPU调度程序负责选择一个就绪进不同的调度算法目标不同,例程并将其分配给CPU执行如提高吞吐量、减少响应时间或提高公平性调度算法分类常见的调度算法包括先来先服务、短作业优先、时间片轮转和多级反馈队列等先来先服务算法FCFS简单易懂公平性效率低下FCFS算法简单易于理解和实现,易于每个进程都按照到达时间顺序执行,保该算法没有考虑进程的执行时间,可能管理证了公平性导致短进程被长进程阻塞,降低系统效率短作业优先算法SJF算法原理优势劣势该算法选择当前就绪队列中预计运行时间能够有效地减少平均等待时间,提高系统无法准确预测进程的实际运行时间,可能最短的进程优先运行它可以有效地提高吞吐量导致长作业长时间等待,造成饥饿现象系统吞吐量,减少平均等待时间时间片轮转算法RR轮流分配公平性响应时间每个进程被分配一个固定时间片,并在时这种算法可以保证所有进程都有机会获得RR算法可以有效地缩短交互式进程的响间片结束时被强制切换到下一个进程,从CPU时间,避免了某些进程长时间霸占应时间,因为即使一个进程没有完成,也而实现进程间的轮流执行CPU资源能够及时响应用户的请求多级反馈队列算法优先级队列时间片轮转12将进程按优先级分为多个队列每个队列都使用时间片轮转调,高优先级队列的进程优先执度,时间片大小随队列优先级行递减进程迁移动态调整34如果进程在某个队列的时间片进程的优先级可以根据其执行用完,则会降级到下一个优先情况进行动态调整,例如长时级队列间等待的进程可以提升优先级实时调度算法实时调度算法需要满足时间限制,对事实时系统需要在严格的时间范围内完件作出快速反应.成任务.实时系统需要确保任务在规定的时间内完成,避免延迟或错误.进程同步概念共享资源并发执行12多个进程需要访问同一共享资同步是为了确保进程之间相互源时,需要同步操作协调,有序地访问共享资源,避免冲突协调合作3同步机制可以保证进程之间的合作,实现复杂的系统功能临界区与临界资源临界区临界资源在多道程序环境中,多个进程可能需要访问相同的资源例如,临界资源是指在同一时刻只允许一个进程访问的资源,例如打印共享变量、文件、设备等机、文件等当多个进程要访问同一临界资源时,就可能出现冲突进程同步的实现方式123信号量机制管程机制消息传递机制通过信号量计数器控制进程的同步与互提供数据结构和操作,简化同步操作,进程之间通过发送和接收消息实现同步斥访问确保数据的一致性,适用于不同平台的进程通信信号量机制定义操作信号量是一种用于进程同步的机制,信号量支持两种操作等待(P操作它本质上是一个计数器,用于控制对)和释放(V操作)共享资源的访问使用场景信号量常用于解决生产者-消费者问题、读者-写者问题等经典同步问题管程机制数据和方法的封装互斥访问同步机制将共享数据和对该数据的操作封装在一一次只允许一个进程进入管程,确保对管程内部包含条件变量和等待/唤醒操个抽象数据类型中,称为管程共享数据的互斥访问作,用于协调进程间的同步死锁的概念与必要条件互锁状态必要条件两个或多个进程无限期地阻塞等待对方释放资源,从而无法继续执死锁发生的必要条件包括互斥、持有并等待、不可剥夺、循环等行待死锁的预防、避免与检测死锁预防死锁避免死锁检测通过破坏死锁发生的必要条件来防止死锁在进程请求资源时,根据系统当前的资源允许死锁发生,但系统会定期检测系统中的发生例如,可以采用资源预分配的方状态和进程未来的资源需求,动态地决定是否发生了死锁如果检测到死锁,则采式,在进程开始运行之前分配所有需要的是否分配资源,从而避免死锁的发生例取措施来解除死锁例如,可以终止死锁资源,从而避免由于资源竞争而导致的死如,银行家算法就是一种经典的死锁避免的进程或回收死锁进程持有的资源锁算法死锁的解决方法预防避免12通过破坏死锁产生的必要条件在资源分配过程中,通过动态来防止死锁的发生地检测资源状态来避免死锁的发生检测与解除3检测系统中是否发生了死锁,并采取措施来解除死锁内存管理概述内存管理是操作系统中重要的组成部分它负责管理计算机系统中宝贵的内存资源,以确保程序能够高效地运行内存分配内存保护将物理内存分配给不同的进程或程序防止程序访问其他程序的内存空间,,确保每个程序都有足够的内存空间确保系统的稳定性和安全性运行连续分配方式单一分区分配固定分区分配可变分区分配内存被划分为一个分区,一个进程占据整内存被划分为多个固定大小的分区,每个内存根据进程的大小动态划分分区,每个个分区进程占据一个分区进程占据一个可变大小的分区分页存储管理物理地址空间逻辑地址空间将内存划分为大小相等的页面,将进程的地址空间划分为相同大每个页面对应一个页号小的页,每个页对应一个页号页表建立逻辑地址和物理地址之间的映射关系,存放每个页面的物理地址分段存储管理将程序地址空间划分为若干个大小不每个段可以分配到内存中的任何地方等的段,每个段对应程序的逻辑单元,不必连续段表用于记录段在内存中的地址和大小,每个条目对应一个段虚拟存储器扩大地址空间提高多道程序度12将逻辑地址空间扩展到物理地允许多个程序同时驻留在内存址空间,允许程序大于可用物中,提高系统资源利用率理内存简化内存管理3用户无需关注物理内存分配,系统自动管理,简化编程和系统设计页面置换算法先进先出最佳置换算法最近最少使用时钟算法FIFO OPTLRU CLOCK最早进入内存的页面最先被淘淘汰未来最长时间内不会被访淘汰最近最长时间未被使用的结合FIFO和LRU,提高效率汰问的页面页面工作集理论页面访问频率时间局部性空间局部性抖动问题及解决方法页面置换频繁工作集大小变化频繁的页面置换会导致CPU和内当工作集大小发生变化时,需要存之间的数据传输量增加,降低频繁进行页面置换,导致系统性系统性能能下降算法优化内存扩容选择合适的页面置换算法,如最增加内存容量可以减少页面置换佳置换算法,可以有效减少抖动次数,从而减少抖动问题问题作业和进程的关系作业进程作业是指用户向操作系统提交的一个完整的任务,它包含了完成进程则是操作系统执行作业的最小单位,它是作业在内存中的一该任务所需的所有资源,例如程序、数据、输入输出设备等个执行实例作业调度与作业控制作业调度1选择合适的作业进入内存执行作业控制2管理作业执行过程作业管理3协调作业调度和作业控制。
个人认证
优秀文档
获得点赞 0