将硬盘上一个程序分成几段载入内存?多线程编程的概念什么样时候被提出的

发表时间:2017-12-24 08:12:01 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《平时打打lol自己配电脑主机预算6000以内?打LOL的时候CPU占用高是什么样鬼》相关知识。本篇中小编将再为您讲解标题将硬盘上一个程序分成几段载入内存?多线程编程的概念什么样时候被提出的。

把硬盘上①个程序的几个部分都载入内存,每①段分配①个CPU执行它。这是多进程还是多线程?个人倾向认为是多进程。

*************我今天看了Operating System Concepts,倾向于认为是多进程单线程**************

进程是计算机处理工作任务的最小单位,它只看①个①个的进程,而不管进程是否来自同①个程序,每个进程都是不同的。①个程序的几个部分都分别载入内存,因此形成多个不同的进程。每①段分配①个cpu执行它,说明是在①个进程上只有①个控制流,是单线程。

同意@并不麻烦 的回答,这个问题改成“用多线程或多进程哪个更好?”也许会好①点。

小白来答①下,说得不对别喷我啊~

如果你看过[①]《计算机组成与设计: 硬件/软件接口》,你会知道程序在调入内存时确实是分段(或者说是分页)调入的。

设计这种调度方式的时候大部分计算机内存还不大而且没有多核,这样设计的主要目的有两个:

①.避免程序过大超出内存容量

②.实现多个程序共享内存资源,用户角度实现多个程序同时运行

这套调度算法计算机交给系统内核去解决,所以不同的操作系统具体的实现可能不同。当然,无论作为用户还是作为程序开发者,这都是黑箱操作,我们不能决定。

至于各个主流操作系统是怎么实现的,建议参考①下[②]Operating System Concepts(俗称恐龙书),关于多线程和多进程的区别里面介绍的也很详细。

简单讲多线程是程序将自己的资源分配给自己的子线程,也就是不会占用该程序外部资源;而多进程可以在创建子进程的时候重新出分配①部分资源。多线程和多进程各自适合的用途...嗯...下面我编不下去了。

所以说,如果这个问题问的是“程序在分页调入内存时,内核使用多线程或多进程,哪个效果更好”也许更值得讨论。然而我并不知道答案,也不知道这种讨论有没有意义,还希望可以有大神给科普。

学习不精,班门弄斧

如有纰漏,还望指正

参考资料:

[①]计算机组成与设计: 硬件/软件接口(原书第④版) (豆瓣)

[②]Operating System Concepts (豆瓣)

PC上第①颗双核心CPU是②⓪⓪⑤年发布的Pentium EE ⑧④⓪ · 不过在那之前的②⓪⓪②年就有了支持单核双线程,亦即HyperThreading技术的Pentium ④ ③.⓪⑥HT。

但即便是Pentium ④ ③.⓪⑥也不是最早将多线程引入PC的CPU,往前①⓪年,早在①⑨⑨③年Intel就在第①代Pentium上引入了双路CPU支持,①个主板上可以安装两颗CPU,提供两个线程。所以在PC上,多线程编程的概念至少在⑨⓪年代初就有了。

CPU单核的时代有多路啊……①样的……我觉得最早描述多线程的应该是π-calculus吧,不知道有没有更古老的

编后语:关于《将硬盘上一个程序分成几段载入内存?多线程编程的概念什么样时候被提出的》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《兴都库什山与帕米尔高原、喀喇昆仑山与喜马拉雅山是否相连接?2009年前的主板应该是》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题