IT评测·应用市场-qidao123.com
标题:
计算机利用系统历程(2)
[打印本页]
作者:
圆咕噜咕噜
时间:
2025-3-13 12:46
标题:
计算机利用系统历程(2)
系列文章目录
第二章:历程的描述与控制
文章目录
系列文章目录
前言
一、挂起利用的界说:
二、历程状态的转换:
总结
前言
上一节我们讲了介绍了历程的相干概念和基本状态,这段内容我们将详细的扩展挂起利用和历程状态的转换,历程的控制和一点历程同步的内容。下面我们对其进行讲解。
一、挂起利用的界说:
在很多系统中,历程除了就绪,执行和阻塞三种最基本的状态外,为了系统和用户观察分析历程的必要,还引入了一个对历程的重要利用——挂起利用。当该利用作用于某个历程时,该历程将被挂起,意味着此时该历程除于静止状态。如果历程正在执行,它将暂停执行。若原本就处于就绪状态,则该历程此时暂不担当调理。与挂起利用对应的利用是激活利用。
简易理解:就是把历程中的内存的内容转移到外存当中。
历程不重要/更重要的历程
:挂起利用的一个缘故起因是系统资源(如内存)不足时,利用系统会选择挂起某些历程(可能是那些暂时不重要的历程)以释放资源,从而给更重要或优先级更高的历程提供资源。
内存数据量大时
:如果系统的内存不足,可能会将某些历程的状态保存到磁盘(例如交换空间或虚拟内存)中,以释放内存给其他历程使用。这一过程可能是“挂起”利用的一个构成部门,通常陪同有“换出”(swap out)利用。
二、历程状态的转换:
历程状态转换是利用系统进行资源调理和管理的核心机制。
在典型利用系统中,历程可能处于以下状态:
新建(New)
:历程正在被创建。
就绪(Ready)
:历程已准备好运行,等候CPU时间片。
运行(Running)
:历程正在CPU上执行。
阻塞(Blocked)
:历程因等候事件(如I/O)暂停执行,分为:
活动阻塞(Active Blocked)
:驻留在内存中。
静止阻塞(Suspended Blocked)
:被换出到外存。
挂起(Suspended)
:历程被移出内存,分为:
就绪挂起(Ready Suspended)
:挂起但已满意运行条件。
阻塞挂起(Blocked Suspended)
:挂起且仍在等候事件。
终止(Terminated)
:历程执行完毕或被强制终止。
这里面其实我想夸大一下运行和就绪的转换,由于在Java当中就绪和运行就是线程中的两种差异的概念
就绪到运行:
必要调理器选择该历程分配CPU
例子:就绪队列中的历程A被调理器选中,抢占历程B的CPU时间片。
运行到就绪:
时间片耗尽
(如轮转调理算法)。
更高优先级历程抢占CPU
(如实时利用系统)
历程A在运行中因时间片用完被中断,回到就绪队列等候下一次调理。
运行到活动阻塞:
历程自动或被动等候事件:
发起I/O哀求(如读取磁盘文件)。
哀求互斥锁但锁已被占用。
等候用户输入(如 scanf())。
例子:历程调用 read() 系统调用读取文件,进入阻塞状态直到数据就绪。
活动阻塞到就绪:
等候的事件已完成(如I/O完成、锁释放)。
例子:磁盘I/O完成后,利用系统通过中断唤醒阻塞的历程,将其标志为就绪。
活动阻塞到静止阻塞:
系统必要释放内存资源(如内存不足时)。
例子:在Linux中,当OOM Killer(内存不足杀手)触发时,长时间阻塞的历程可能被换出。
静止阻塞到活动阻塞:
事件完成且历程被换入内存
→ 转为活动阻塞。
事件完成且资源足够
→ 直接转为就绪。
自身理解:
利用系统在资源约束下,通过动态调解历程状态,均衡效率(CPU利用率)、相应速度(延迟)和公平性。
总结
以上就是今天要讲的内容,我们又复习了一遍历程的全部基本状态及转换。我们接下来会继承更新重中之重的历程的同步,谢谢大家,大家一起努力。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4