当前位置: 技术问答>linux和unix
提一个奇怪的问题:同时运行两个OS
来源: 互联网 发布时间:2015-02-17
本文导语: 最近可能脑子进水,总是想起些奇怪的问题:) 基于目前通用的计算机的硬件架构, 使用分时方式可以实现同时运行两个操作系统吗(理论上)? 当然不算在虚拟机里运行的情况,都要在实模式下运行。 可以做到...
最近可能脑子进水,总是想起些奇怪的问题:)
基于目前通用的计算机的硬件架构,
使用分时方式可以实现同时运行两个操作系统吗(理论上)?
当然不算在虚拟机里运行的情况,都要在实模式下运行。
可以做到吗?为什么行?为什么不行?
在别处问过,很多人好像理由很含糊,而且好像没有经过怎么仔细思考,
希望能够得到大家的一些比较详细的指导
基于目前通用的计算机的硬件架构,
使用分时方式可以实现同时运行两个操作系统吗(理论上)?
当然不算在虚拟机里运行的情况,都要在实模式下运行。
可以做到吗?为什么行?为什么不行?
在别处问过,很多人好像理由很含糊,而且好像没有经过怎么仔细思考,
希望能够得到大家的一些比较详细的指导
|
你的要求也太高了,而且不合理!
实模式即为独占模式,什么都只有一套,内存地址、端口地址、中断号等等,
要在这种条件下运行两套系统,那么这两套系统从根本上就不能独立,又要不
碍着另一套,还没有办法保证不给另一套系统给破坏了。如果要实现这个功能,
就得有一套调度及资源分配的系统来给两套系统协调,这样一来这一套调度系统
就成了操作系统(windows3.2及以下就是这样的),原来的两套系统就成了应用
程序了。
为了解决这个问题,在处理器中引入了保护模式!两套系统一旦不安份守已(必然的),
CPU立即引起保护错,从而可以让软件来解决问题。当然这里的两套系统也不成为操作
系统了,解决问题的这个才是操作系统。
如果你还是想有两个操作系统,那就只有以一个系统来控制另外两个系统了,这就
是虚拟方式!
当然现在我们常用的虚拟方式也还是先在一个操作系统中执行,所以效率低不少。
如果能搞出一个操作系统上的操作系统,那也可算达到你的愿望,这个解决方案
可能就是虚拟机(虚拟硬件),实模式是不可能解决问题的。
实模式即为独占模式,什么都只有一套,内存地址、端口地址、中断号等等,
要在这种条件下运行两套系统,那么这两套系统从根本上就不能独立,又要不
碍着另一套,还没有办法保证不给另一套系统给破坏了。如果要实现这个功能,
就得有一套调度及资源分配的系统来给两套系统协调,这样一来这一套调度系统
就成了操作系统(windows3.2及以下就是这样的),原来的两套系统就成了应用
程序了。
为了解决这个问题,在处理器中引入了保护模式!两套系统一旦不安份守已(必然的),
CPU立即引起保护错,从而可以让软件来解决问题。当然这里的两套系统也不成为操作
系统了,解决问题的这个才是操作系统。
如果你还是想有两个操作系统,那就只有以一个系统来控制另外两个系统了,这就
是虚拟方式!
当然现在我们常用的虚拟方式也还是先在一个操作系统中执行,所以效率低不少。
如果能搞出一个操作系统上的操作系统,那也可算达到你的愿望,这个解决方案
可能就是虚拟机(虚拟硬件),实模式是不可能解决问题的。
|
我觉得不可能
即使内存各分一半,cpu以队列处理俩个os的进程,就只是引导这里就无法完成,而且硬件的中断不可能同时分配给两个os使用,除非你什么东西都有两个,一个os一个了
即使内存各分一半,cpu以队列处理俩个os的进程,就只是引导这里就无法完成,而且硬件的中断不可能同时分配给两个os使用,除非你什么东西都有两个,一个os一个了
|
IBM有相关的虚拟服务器技术,在大型的主机上可以虚拟多个服务器,是企业级应用,应该没有问题
|
佩服你的激情联想!但是好象他的实用价值并不大啊!至于在分时系统中确实理论上可以实现!但是我想还是有困难的!否则IBM旧不会高什么VM了,虚拟现实的技术才刚起步!VM虚拟机还没有成熟,看看JAVA,。NET不是他的推动者吗
|
没有什么不可以, 可是硬件是不直接支持分时的, 操作系统又不肯分时给其他操作系统(霸道啊), 这种软件要你自己去找了(不会要你来作吧?).