整容说文库 > 程序代码 > 教育资讯

提一个奇怪的问题:同时运行两个OS

来源:学生作业帮助网 编辑:整容说文库 时间:2019/12/10 18:40:03 程序代码
提一个奇怪的问题:同时运行两个OS程序代码
最近可能脑子进水,总是想起些奇怪的问题:)

基于目前通用的计算机的硬件架构,
使用分时方式可以实现同时运行两个操作系统吗(理论上)?
当然不算在虚拟机里运行的情况,都要在实模式下运行。
可以做到吗?为什么行?为什么不行?

在别处问过,很多人好像理由很含糊,而且好像没有经过怎么仔细思考,
希望能够得到大家的一些比较详细的指导
我觉得不可能
即使内存各分一半,cpu以队列处理俩个os的进程,就只是引导这里就无法完成,而且硬件的中断不可能同时分配给两个os使用,除非你什么东西都有两个,一个os一个了
不可能的,主要是IRQ的分配问题
当然可以,你可以使用VMware WorkStation 软件版本:3.2官方网站:http://www.vmware.com 软件大小:18M

用她你甚至可以模拟一个网络!
一山不能容二虎。万一系统出了问题,两个系统就相互推卸责任,对谁都没有好处。
好像不行吧
to ayiiq180(阿一) 
谢谢你的回答。我想并不是把内存分为两半,而是使用进程切换,因为这一部分是由硬件来完成的,所以我想在操作系统一级是否也可以通过切换来让两个OS在不同时刻使用系统资源。
另外,为什么中断不能分配给两个os同时使用
IBM有相关的虚拟服务器技术,在大型的主机上可以虚拟多个服务器,是企业级应用,应该没有问题
呵呵,请 yaos大虾提供一点资料的来源,我去看看。
www.ibm.com

http://www.zdnet.com.cn/biztech/tech-trend/special/vm
呵呵,你说的这个好像是在虚拟机中运行的,不是我问的意思,不过还是谢谢
进程切换内存的话,那么cpu的负载必定很大,而且速度也会很慢,处理其他工作可能就无法进行.
中断如果同时付给两个系统,那么硬件应该处理的是哪个?如果说分时操作的话,那么你的每一个硬件都要加很多寄存器来存储事件队列了,而且最终的输出结果是哪个系统的就很难判断
所以我认为这基本不可能实现
物理虚拟服务器在IBM找
不行
除非你用VMware虚拟进行还差不多
不过不是实际意义上的
佩服你的激情联想!但是好象他的实用价值并不大啊!至于在分时系统中确实理论上可以实现!但是我想还是有困难的!否则IBM旧不会高什么VM了,虚拟现实的技术才刚起步!VM虚拟机还没有成熟,看看JAVA,。NET不是他的推动者吗
yaos,请还是提供一个具体的联接地址,我没有找到。
jaminwm,如果理论上可以实现的话,如何处理上面所说的中断冲突问题呢?是否需要添加额外的硬件呢?
没有什么不可以, 可是硬件是不直接支持分时的, 操作系统又不肯分时给其他操作系统(霸道啊), 这种软件要你自己去找了(不会要你来作吧?).
prosong,你的意思是目前的硬件结构已经提供了足够的底层功能来支持我所说的情况,
但是需要在两个操作系统之下再来一个切换器用于管理操作系统之间的切换,
是不是?
可以啊,两块主板做在一起,想办法让它们共用一套显示器、键鼠、机箱要装得下。呵呵,你会改装吗?计算机硬件厂商会开发吗?
我想可以,不过,我觉得要一个中间软件来协调着两个OS
恐怕两个os之上还要有一个底层的os,用来为这两个同时运行的OS充当调度。
那岂不是如同一个os吗?底层的os是os,上层的两个os简直成了应用软件了!
问题主要是在中断上,分时也许可以。
目前就连在一个系统上同时运行两个声音播放都不可以,如果 在两个系统下不就更乱了吗。
你的要求也太高了,而且不合理!
实模式即为独占模式,什么都只有一套,内存地址、端口地址、中断号等等,
要在这种条件下运行两套系统,那么这两套系统从根本上就不能独立,又要不
碍着另一套,还没有办法保证不给另一套系统给破坏了。如果要实现这个功能,
就得有一套调度及资源分配的系统来给两套系统协调,这样一来这一套调度系统
就成了操作系统(windows3.2及以下就是这样的),原来的两套系统就成了应用
程序了。
为了解决这个问题,在处理器中引入了保护模式!两套系统一旦不安份守已(必然的),
CPU立即引起保护错,从而可以让软件来解决问题。当然这里的两套系统也不成为操作
系统了,解决问题的这个才是操作系统。
如果你还是想有两个操作系统,那就只有以一个系统来控制另外两个系统了,这就
是虚拟方式!
当然现在我们常用的虚拟方式也还是先在一个操作系统中执行,所以效率低不少。
如果能搞出一个操作系统上的操作系统,那也可算达到你的愿望,这个解决方案
可能就是虚拟机(虚拟硬件),实模式是不可能解决问题的。
谢谢waq,你的解释很详细。
程序代码