以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 计算机考研交流 』   (http://bbs.xml.org.cn/list.asp?boardid=67)
----  [讨论]CPU是什么资源  (http://bbs.xml.org.cn/dispbbs.asp?boardid=67&rootid=&id=36635)


--  作者:DavidPotter
--  发布时间:8/10/2006 1:35:00 PM

--  [讨论]CPU是什么资源
在ppt的“多道程序设计“中提到, CPU是一个只能调度不能分配的资源。
其中调度和分配是什么关系?是不是因为CPU只有一个的原因。可不可以这样理解,如果一个设备是独占设备,那么它就是只可调度的?

(上次看到那里就没看下去了)后面还有:
对CPU只能通过调度来解决竞争问题,而对于其他资源通过申请—分配—使用—回收的办法进行管理,当且仅当占有CPU的时候才可以申请,否则要排队等候。

但我想,对CPU也差不多是申请—分配—使用—回收这样一个过程。


--  作者:Supremgoooo
--  发布时间:8/10/2006 2:46:00 PM

--  
cpu也是计算机的组成部分,所以也是计算机的资源。但是它是一个特殊的资源。

cpu的使用是按照一定的调度算法,只有满足调度算法的进程才可以暂时使用cpu,这时就可以说cpu被分配给该进程。

分配更主要的说法是内存,外设等除cpu外的资源的分配,这个分配过程是由进程向cpu申请而得的,在批处理系统中cpu也要按照一定的分配算法,例如不可抢占时的银行家算法。

所以调度是更多限于cpu使用的名词,分配是更多限于除cpu以外的计算机资源使用的名词。

可不可以这样理解,如果一个设备是独占设备,那么它就是只可调度的?
独占设备也是要被cpu分配的,如一台打印机的使用。

但我想,对CPU也差不多是申请—分配—使用—回收这样一个过程。
cpu只是在按照调度算法执行,它空闲时就在计算调度算法。


--  作者:carroty
--  发布时间:8/10/2006 2:48:00 PM

--  
我觉得主要在于系统核心需要经常运行在cpu上,而实际上所有调度都是由它来实现的.

不知道对不对~


--  作者:DavidPotter
--  发布时间:8/10/2006 4:51:00 PM

--  
是不是CPU是自己决定该给谁,而其他的都是因为一个被动的调度,故称分配。
--  作者:Logician
--  发布时间:8/10/2006 5:15:00 PM

--  
《Modern Operating Systems 2nd Ed》上说:"If only one CPU is available, a choice has to be made which process to run next. The part of the operatinge system that makes the choice is called the scheduler and the algorithm it uses is called the scheduling algorithm."

所以我觉得:会不会schedule主要表示“计划”,它是安排以后CPU归谁用(因为当前肯定是操作系统在用),而“分配”是表示立即把一个资源分给一个进程(立即可以使这个资源属于它)?


--  作者:DavidPotter
--  发布时间:8/10/2006 6:18:00 PM

--  
对于打印机的spooling方式,以后调度其打印时应该不需要操作系统来调用吧。
--  作者:Supremgoooo
--  发布时间:8/10/2006 7:08:00 PM

--  
以下是引用carroty在2006-8-10 14:48:00的发言:
我觉得主要在于系统核心需要经常运行在cpu上,而实际上所有调度都是由它来实现的.

不知道对不对~



你说的系统核心是kernel吧?它包含了进程整个执行过程中的所有指挥程序,其中有些程序,例如调度算法就是专门负责计算在进程调度中选择哪个进程来执行。
--  作者:Supremgoooo
--  发布时间:8/10/2006 7:18:00 PM

--  
以下是引用DavidPotter在2006-8-10 16:51:00的发言:
是不是CPU是自己决定该给谁,而其他的都是因为一个被动的调度,故称分配。


具体说就是运行在上面的算法决定的。

而且这只是批处理系统中的特点,如果是实时系统,例如一个导弹防卫系统,对系统响应比有很高要求,这时根本来不及运行算法,cpu必须被动的接受。


--  作者:Supremgoooo
--  发布时间:8/10/2006 7:22:00 PM

--  
以下是引用Logician在2006-8-10 17:15:00的发言:
《Modern Operating Systems 2nd Ed》上说:"If only one CPU is available, a choice has to be made which process to run next. The part of the operatinge system that makes the choice is called the scheduler and the algorithm it uses is called the scheduling algorithm."

所以我觉得:会不会schedule主要表示“计划”,它是安排以后CPU归谁用(因为当前肯定是操作系统在用),而“分配”是表示立即把一个资源分给一个进程(立即可以使这个资源属于它)?



另外,我认为scheduling algorithm译为:调度算法


--  作者:Supremgoooo
--  发布时间:8/10/2006 7:25:00 PM

--  
以下是引用DavidPotter在2006-8-10 18:18:00的发言:
对于打印机的spooling方式,以后调度其打印时应该不需要操作系统来调用吧。


你可以先看下精灵进程部分。

spooling是要加重cpu负担的,它的使用目的不在此。而是为了提高设备利用率。


--  作者:北剑
--  发布时间:8/15/2006 5:08:00 PM

--  
CPU中有一个组成部分叫操作控制器时序产生器由他来决定CPU的调度。在CPU各寄存器之间建立数据通路的任务,是由叫作操作控制器的部件来完成的。操作控制器的功能,就是根据指令操作码和时序信号,以便正确的建立数据通路,从而完成取指令和执行指令的控制。时序产生器的作用,就是对各种操作实施时间上的控制。

W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
4,953.125ms