1.1 内核的执行单元:任务
admin
2024-05-04 01:29:03

进程、线程与任务

进程是满足用户需求的一系列正在执行的任务。有的进程服务于医疗;有的进程服务于电影娱乐;有的进程服务于游戏;有的进程却跨了很多个应用领域。这些进程在用户看来是按行业区分的,但是在操作系统看来它们都是对操作系统所管理的硬件资源的请求。从应用上来看,进程是一个个不同应用种类的服务;从操作系统看来,进程是不同种类硬件资源的消费者。

进程对硬件资源的需求大体分为磁盘I/O、网络I/O、内存、CPU和显卡,这些硬件资源也是计算机硬件所能提供的5种主要的资源。但计算机硬件资源是有限的,操作系统要找到合理分配资源的方式,如果利用不恰当,则会造成资源浪费。

无论哪种服务都需要有CPU的参与,而对其他资源的依赖很多都是非独占的,例如几个进程一起使用内存、网络和显卡等。但是在一个CPU上同一时刻只能运行一个任务。

进程调度是指调度CPU,所有的代码逻辑都运行在CPU上,包括调度算法本身。但是随着各个服务的复杂化和智能化,对于磁盘I/O或者显卡的请求会出现越来越无法充分并行的情况(即资源不足),而CPU也越来越具有并行能力(即CPU资源逐渐相对充足)。周边硬件为了提高效率,已经具备越来越强大的异构计算能力,例如在网卡中存在额外的小型CPU,网卡的收发数据可以直接绕过系统中的CPU操作内存。

多任务的需求非常大。多任务带来的副作用是资源竞争与对执行实体的调度,这个副作用很快就占据了操作系统核心逻辑的主要内容。如果是可以单任务完成的需求,则可以完全不需要操作系统,这种程序叫作裸片程序。

要在一个只能运行一个代码流水线的CPU上运行多个并行的代码逻辑,则需要分时分配CPU资源。这种分时复用的策略对于磁盘I/O、网络和GPU等周边资源一样有效。

相关内容

热门资讯

山水皆有情!丽江两山一江的千年... 去过丽江、走过虎跳峡的人,大概率都听过哈巴雪山和金沙江的传说。很多人站在峡谷之下,望着奔腾不息的金沙...
活力中国调研行丨“殷”你而来 ... 9月12日,游客在殷墟博物馆“甲骨文展厅”内参观。位于河南省安阳市的殷墟博物馆新馆是首个全景式展现商...
浦江之夜赴美好相逢,第37届上... 9月12日晚,黄浦江畔灯火璀璨,第37届上海旅游节大巡游在外滩中山东一路上演。不少观众早早便来到外滩...
美丽中国丨秋韵紫鹊界 梯田入画... 这是9月11日拍摄的紫鹊界梯田(无人机照片)。 金秋九月,湖南省娄底市新化县紫鹊界梯田稻谷渐次成熟。...
中国之巅奏响《共同的节日》,千... 千吨阻尼器,“迎世赛、游上海旅游节”。9月13日,由上海市文化和旅游局指导推出上海旅游·会客│巅峰之...