问个比较专业的计算机问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:56:26
1操作系统和cpu接口问题:操作系统是运用cpu的指令集编写的程序.按说特定版本的操作系统应该是专门针对特定指令集的cpu.而cpu指令集一直在不断发展,可是新版本的操作系统却可以装在老指令集的cpu上,同一个版本的操作系统却可以装在不同品牌(如:intel,amd)的cpu上,这是为什么呢?还是说我以上的理解有误?
2:操作系统和应用软件的接口问题:我们知道一般一个特定的应用软件是针对一个品牌的操作系统的(如:unix,windows).可是软件经过编译后应该是机器语言的形式.为什么还会只能在某个特定的操作系统上运行呢?倘若不安装操作系统.让这个软件直接写到硬盘的第一扇区,而且又假设该软件不涉及外设的访问或者在软件内另外加载外设的驱动,是不是也可以运行呢?
谢谢两位的解答。不过我还是不大明白,可能是我的问题描述的不够清楚:
关于问题1:我不清楚的地方在于:就ibm的兼容机而言,虽然cpu的指令集是想下兼容,新的包括旧的。可是如果将老版本的操作系统安装在新指令集的cpu上,由于没用到新的指令那岂不是浪费了资源。另外如果将新版本的操作系统安装在老的cpu上,由于采用了老cpu没有的新指令,那cpu怎么处理呢?
关于问题2:我不明白的地方是应用软件为什么不能同时在windows上和unix上运行。我的想法是:可执行软件是机器语言,那么只要是cpu识别就应该可以运行啊。当然倘若该应用软件调用了系统的api函数,那么自然可以理解。另外如果该应用软件要调用其他文件,那么由于不同系统文件格式无法识别这也可以理解。但是倘若这个文件就自身一个可执行文件而且不调用其他的文件,那么是不是就可以在不同的操作系统上运行呢?

1.windows系列不可以安装在MAC机上,这是因为:IBM兼容机系列(个人PC)CPU均采用了同一指令集。PC是x86的CPU,属于CISC,MAC机属于RISC。
品牌与指令集是两个东西。同理PC机也不可以安装MACOS系列。
2.现在的软件都依赖于操作系统,操作系统是位于最底层,与CPU关系最密切。如果软件不依赖于操作系统,则可以直接进行操作。想想DOS就知道了。DOS(不是winX系列的DOS,那些东西是依赖于windows的。在DOS622以前和版本是纯DOS,比如:可以直接使用dir del tree type edit等等,他们与Windows无关,虽然在windows中也有相关的命令集,但它们实现的方式与DOS中的命令是不一样的。现在有不少的工具集软件,实际上就是直接在对设备进行操作,这也是它们不能在windows加载以后使用的原因,一旦加载了windows,设备最底层的东西被windows所控制,所有的访问都需要有这个家长的许可。
拙见,仅供参考。

你的思路很有问题,简单点说吧
1。各种cpu提供的api都是一样的,发展不代表推翻以前的

2。假设一个windows应用软件,在dos系统下,连显示一个窗口的元素都没有了,还怎么运行?