作者bookmarket (bookmarket)
看板Programming
标题[问题] 程式在多核心架构下执行
时间Thu Sep 6 22:26:46 2007
请问一下,现在应用程式或者系统程式怎麽跑在多核心架构下呢
譬如说,现在有A、B两个cpu,
现在有两个程式要执行分别是game和一个应用程式如word
那麽这两个程式是怎麽执行呢
是由A cpu执行game,b cpu跑word吗
还是说另一种情况
game的程式中,有某一段程式码(code area S)可以独立出来执行
那这样game就分成两边跑
A cpu跑word,而B cpu跑 code area S吗
还是说上述说的情况都不是呢?
麻烦各位指点一下
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.216.117
1F:推 WPC001:实际上, OS会拆成thread, 而OS会去分配资源 61.62.156.162 09/06 23:08
2F:→ bookmarket:OS会怎麽去拆呢?是我说的第二种情况吗140.123.216.117 09/06 23:12
3F:嘘 Lordaeron:哪个OS 有这麽大本事去拆成thread? 61.229.157.179 09/07 00:24
4F:→ bookmarket:不然是怎麽样的做法呢?140.123.216.117 09/07 00:31
5F:→ bookmarket:还有Lord你有必要这样嘘吗?140.123.216.117 09/07 00:31
6F:→ bookmarket:不懂不能问吗?我只不过是提出我的问题140.123.216.117 09/07 00:34
7F:→ bookmarket:及假设这没错吧?140.123.216.117 09/07 00:35
8F:嘘 Lordaeron:OS 不会帮你切, 哪是的程式自己要产生 61.229.157.179 09/07 00:56
9F:→ Lordaeron:thread, 致於会不会一个word, 一个game 61.229.157.179 09/07 00:58
10F:→ Lordaeron:XP没招. 61.229.157.179 09/07 00:58
11F:推 ephesians:OS只会管理工作执行顺序 61.231.18.2 09/07 01:39
12F:→ ephesians:一楼想说的也许是在多核心基础下,工作 61.231.18.2 09/07 01:40
13F:→ ephesians:排程管理也涉及多核心...不必按字面嘘啦 61.231.18.2 09/07 01:40
14F:推 adms:切磋讨教不必嘘 大家都有错误时 140.116.39.108 09/07 01:59
15F:推 WPC001:OS把CPU拆成thread... 不管是几颗CPU 61.64.148.132 09/07 17:08
16F:→ WPC001:程式A和程式B不见得是分配到不同的CPU 61.64.148.132 09/07 17:10
17F:→ WPC001:我有讲错嘛? o_Oa 61.64.148.132 09/07 17:10
18F:→ WPC001:还是我没讲清楚? 应该是说OS是thread base 61.64.148.132 09/07 17:11
19F:→ WPC001:不是CPU base 61.64.148.132 09/07 17:11
20F:→ WPC001:发问者还这麽会嘘别人... 不太好耶 61.64.148.132 09/07 17:12
21F:→ WPC001:看错了...sorry, 是Lord嘘别人,不好耶 61.64.148.132 09/07 17:13
22F:推 ephesians:你这一解释反而变诡异了,何谓把CPU拆成 61.231.18.2 09/07 20:16
23F:→ ephesians:thread? Thread的定义是什麽? 61.231.18.2 09/07 20:17
24F:→ ggg12345:virtual processor ->process -> kernel 140.115.1.146 09/08 08:54
25F:→ ggg12345:thread, 说 OS 提供 virtual-processor 140.115.1.146 09/08 08:55
26F:→ ggg12345:是符合layer structure, 但program是由 140.115.1.146 09/08 08:57
27F:→ ggg12345:programmer分成 user thread (single 或 140.115.1.146 09/08 08:59
28F:→ ggg12345:multiple), multiple user thread 是由一 140.115.1.146 09/08 09:00
29F:→ ggg12345:个kernel thread(vp)对应负责几个 user 140.115.1.146 09/08 09:02
30F:→ ggg12345:thread 是可要求 os 就观看范围(scope)就 140.115.1.146 09/08 09:05
31F:→ ggg12345:实际资源分派拨给. CPU 是硬体是拆不得的 140.115.1.146 09/08 09:08
32F:→ ggg12345:OS虚拟造出多个kernel thread 的virtual 140.115.1.146 09/08 10:37
33F:→ ggg12345:processor再由dispatcher分派 real core 140.115.1.146 09/08 10:39
34F:→ ggg12345:来实体化 virtual processor. 140.115.1.146 09/08 10:41