进程的进一步深入
16页1、进程的进一步深入,PCB的组织方式,链表:同一状态的进程其PCB成一链表,多个状态对应多 个不同的链表 各状态的进程形成不同的链表:就绪链表、阻塞链表 索引表:同一状态的进程归入一个index表(由index指 向PCB),多个状态对应多个不同的index表 各状态的进行形成不同的索引表:就绪索引表、阻塞索引表,进程上下文,用户级上下文:进程的用户地址空间(包括用户栈各层次),包括用户正文段、用户数据段和用户栈; 寄存器级上下文:程序寄存器、处理机状态寄存器、栈指针、通用寄存器的值; 系统级上下文: 静态部分(PCB和资源表格) 动态部分:核心栈(核心过程的栈结构,不同进程在调用相同核心过程时有不同核心栈),核心态和用户态,用户态时不可直接访问受保护的OS代码; 核心态时执行OS代码,可以访问全部进程空间。,五状态进程模型(多队列结构),挂起进程模型,这个问题的出现是由于进程优先级的引入,一些低优先级进程可能等待较长时间,从而被对换至外存。这样做的目的是: 提高处理机效率:就绪进程表为空时,要提交新进程,以提高处理机效率; 为运行进程提供足够内存:资源紧张时,暂停某些进程,如:CPU繁
2、忙(或实时任务执行),内存紧张 用于调试:在调试时,挂起被调试进程(从而对其地址空间进行读写),单挂起进程模型,双挂起进程模型,含挂起后更新的进程状态,就绪状态(Ready):进程在内存且可立即进入运行状态; 阻塞状态(Blocked):进程在内存并等待某事件的出现; 阻塞挂起状态(Blocked suspend): 进程在外存并等待某事件的出现; 就绪挂起状态(Ready suspend): 进程在外存,但只要进入内存,即可运行;,注:这里只列出了意义有变化或新的状态。,新的状态转换,挂起(Suspend):把一个进程从内存转到外存;可能有以下几种情况: 阻塞到阻塞挂起:没有进程处于就绪状态或就绪进程要求更多内存资源时,会进行这种转换,以提交新进程或运行就绪进程; 就绪到就绪挂起:当有高优先级阻塞(系统认为会很快就绪的)进程和低优先级就绪进程时,系统会选择挂起低优先级就绪进程; 运行到就绪挂起:对抢先式分时系统,当有高优先级阻塞挂起进程因事件出现而进入就绪挂起时,系统可能会把运行进程转到就绪挂起状态; 激活(Activate):把一个进程从外存转到内存;可能有以下几种情况: 就绪挂起
《进程的进一步深入》由会员ldj****22分享,可在线阅读,更多相关《进程的进一步深入》请在金锄头文库上搜索。
2024-04-08 20页
2024-04-06 36页
2024-02-09 36页
2024-01-31 31页
2024-01-28 18页
2024-01-28 31页
2024-01-28 24页
2024-01-28 27页
2024-01-28 24页
2024-01-28 25页