请教下,同样体系架构下,不同OS的APP区别在哪里?

llABC
llABC 2015-09-17 字数 233

我自己理解的,所有程序最终都是转换成机器指令,而OS服务的调用是通过中断指令进行

的。

那Windows应用没法直接在Linux上的原因是什么?APP封装格式?系统库的区别?

跨OS程序移植难点在哪里?是不是一般重新编译就可以了?

这些问题一直没想明白,谢谢。

CSArch 计算机体系结构
44 个回复
BigCarrot
大萝卜1号 2015-09-17

os提供的服务

【 在 llABC (llABC) 的大作中提到: 】

: 我自己理解的,所有程序最终都是转换成机器指令,而OS服务的调用是通过中断指令进行

: 的。

: 那Windows应用没法直接在Linux上的原因是什么?APP封装格式?系统库的区别?

: ...................

HITM
萨满教-哲学分析教派 2015-09-17

gui库

各os肯定不一样。

否则就是qt那种跨平台了。

【 在 llABC 的大作中提到: 】

: 我自己理解的,所有程序最终都是转换成机器指令,而OS服务的调用是通过中断指令进行

: 的。

: 那Windows应用没法直接在Linux上的原因是什么?APP封装格式?系统库的区别?

: ...................

hehu
Café 2015-09-17

如果你的APP能绕过OS,或者说不干扰OS运行的情况下能工作就没有问题。

大部分病毒就是这么工作的。

OS说白了就是管理计算机硬件的软件。

像linux这种提供全部源码的OS,你有能力的话想怎么搞都是你的事。

而按部就班在操作系统框架下编出来的APP必然依赖OS。

所以windows的应用自然没法直接在linux下运行。

java这种就靠jvm实现不同平台下直接运行。

jvm屏蔽掉了操作系统的差异。

【 在 llABC (llABC) 的大作中提到: 】

: 我自己理解的,所有程序最终都是转换成机器指令,而OS服务的调用是通过中断指令进行

: 的。

: 那Windows应用没法直接在Linux上的原因是什么?APP封装格式?系统库的区别?

: ...................

tsa300
Tele-Superachromat T* 2015-09-17

照你这么说,病毒是跨平台的喽?windows上的病毒水果一样会中弹喽?安卓上的病毒木马,iOS也会中毒,甚至死去的palmos也会挺尸起来中弹。。。。

【 在 hehu 的大作中提到: 】

: 如果你的APP能绕过OS,或者说不干扰OS运行的情况下能工作就没有问题。

: 大部分病毒就是这么工作的。

: OS说白了就是管理计算机硬件的软件。

: ...................

hehu
Café 2015-09-17

我可没说病毒一定可以跨平台。

【 在 tsa300 (Tele-Superachromat T*) 的大作中提到: 】

: 标  题: Re: 请教下,同样体系架构下,不同OS的APP区别在哪里?

: 发信站: 水木社区 (Thu Sep 17 09:24:51 2015), 站内

: 照你这么说,病毒是跨平台的喽?windows上的病毒水果一样会中弹喽?安卓上的病毒木马,iOS也会中毒,甚至死去的palmos也会挺尸起来中弹。。。。

: 【 在 hehu 的大作中提到: 】

: : 如果你的APP能绕过OS,或者说不干扰OS运行的情况下能工作就没有问题。

: : 大部分病毒就是这么工作的。

: : OS说白了就是管理计算机硬件的软件。

: : ...................

: --

tsa300
Tele-Superachromat T* 2015-09-17

你不是说大部分病毒都是这么工作的么?

【 在 hehu 的大作中提到: 】

: 我可没说病毒一定可以跨平台。

hehu
Café 2015-09-17

大部分病毒都是不影响操作系统的情况下运行。

哪里说了是跨操作系统的。

病毒通常是非常熟悉计算机软硬件系统的人开发的。

病毒可以让计算机运行与操作系统无关的特殊代码。

这才是关键。

【 在 tsa300 (Tele-Superachromat T*) 的大作中提到: 】

: 标  题: Re: 请教下,同样体系架构下,不同OS的APP区别在哪里?

: 发信站: 水木社区 (Thu Sep 17 09:36:24 2015), 站内

: 你不是说大部分病毒都是这么工作的么?

: 【 在 hehu 的大作中提到: 】

: : 我可没说病毒一定可以跨平台。

: :

: --

tsa300
Tele-Superachromat T* 2015-09-17

啥叫与操作系统无关的特殊代码?你举个例子

【 在 hehu 的大作中提到: 】

: 大部分病毒都是不影响操作系统的情况下运行。

: 哪里说了是跨操作系统的。

: 病毒通常是非常熟悉计算机软硬件系统的人开发的。

: ...................

shubao
书包 2015-09-17

最早的病毒应该是能够获取普通用户无法执行而操作系统所拥有的一些特权干坏事吧。

现在大多病毒也不关心操作系统了,专注于特定应用的漏洞。

【 在 hehu (Café) 的大作中提到: 】

: 大部分病毒都是不影响操作系统的情况下运行。

: 哪里说了是跨操作系统的。

: 病毒通常是非常熟悉计算机软硬件系统的人开发的。

: ...................

hehu
Café 2015-09-17

应该叫不依赖操作系统的代码。

比如直接访问硬件。

【 在 tsa300 的大作中提到: 】

: 啥叫与操作系统无关的特殊代码?你举个例子

hehu
Café 2015-09-17

其实机器里面的BIOS就与操作系统无关。

全面掌管机器。

【 在 tsa300 的大作中提到: 】

: 啥叫与操作系统无关的特殊代码?你举个例子

tsa300
Tele-Superachromat T* 2015-09-17

bios 是病毒?

【 在 hehu 的大作中提到: 】

: 其实机器里面的BIOS就与操作系统无关。

: 全面掌管机器。

: :

tsa300
Tele-Superachromat T* 2015-09-17

病毒直接访问啥硬件?往并口里写数据骚扰打印机?

【 在 hehu 的大作中提到: 】

: 应该叫不依赖操作系统的代码。

: 比如直接访问硬件。

: :

hehu
Café 2015-09-17

写显存直接黑屏算吗?

【 在 tsa300 的大作中提到: 】

: 病毒直接访问啥硬件?往并口里写数据骚扰打印机?

hehu
Café 2015-09-17

谁说bios是病毒?

【 在 tsa300 的大作中提到: 】

: bios 是病毒?

tsa300
Tele-Superachromat T* 2015-09-17

哪个病毒写显存?

【 在 hehu 的大作中提到: 】

: 写显存直接黑屏算吗?

: :

tsa300
Tele-Superachromat T* 2015-09-17

你说“病毒可以让计算机运行与操作系统无关的特殊代码。”

我问你啥叫与操作系统无关的代码,你回答说“bios就是与操作系统无关的代码”,于是我问你bios是病毒吗,请继续回答。

【 在 hehu 的大作中提到: 】

: 谁说bios是病毒?

: :

hehu
Café 2015-09-17

病毒可以,bios也可以。

有问题吗?

【 在 tsa300 的大作中提到: 】

: 你说“病毒可以让计算机运行与操作系统无关的特殊代码。”

: 我问你啥叫与操作系统无关的代码,你回答说“bios就是与操作系统无关的代码”,于是我问你bios是病毒吗,请继续回答。

tsa300
Tele-Superachromat T* 2015-09-17

我就想知道病毒运行哪些与操作系统无关的代码

病毒是靠写显存来传播的?

【 在 hehu 的大作中提到: 】

: 病毒可以,bios也可以。

: 有问题吗?

: :