
底层的开发平台是什么
各位前辈们,老弟我一直有个问题不明白:一些应用软件是用高级语言在windows/dos环境下编的,高级语言是用汇编啊等低级语言编的,其也是在dos或win平台下开发的,那...
各位前辈们,老弟我一直有个问题不明白:一些应用软件是用高级语言在windows/dos环境下编的,高级语言是用汇编啊等低级语言编的,其也是在dos或win平台下开发的,那么比如像windows,dos/unix操作系统级的软件已经是基础平台一级的了,他们又该怎么开发呢,总要有个开发的平台吧?机器和软件之间总要有一个突破的入口吧?一直搞不明白,请各们前辈赐教!谢谢
展开
2个回答
展开全部
你提这个问题,说明你有一点不清楚,之所以应用程序开发有平台之分是由于应用程序的运行需要操作系统的辅助,比如调用系统服务函数,需要系统的特性,需要调用系统的图形驱动等等。这些是系统相关的,所以有不同平台之分。
而操作系统的开发就没有平台的限制了,直接是基于硬件的开发了,他的区别不再是系统的差异,而是CPU架构的差异,比如x86架构和x64架构不一样。还有就是硬件的差异,比如Intel的CPU和AMD的不一样,寄存器组指令集都不一样。所以开发起来有差别。
如果你所说的开发平台就是编程环境的话,那么任何环境都可以,只要能写代码,能编译就行,反正这种编译也 不依赖于当前平台 。系统都是交叉编译的,就是在宿主机编译目标机的内核级代码。Windows Vista是肯定不是在Vista平台上开发的吧,或许就是在Windows Server 2003上开发的。
不明白你说的突破口是什么意思,操作系统的编写需要与硬件厂商紧密配合,两者相辅相成。操作系统的实现要对硬件作出假设,硬件的设计要对操作系统的使用做出假设。所以开发操作系统很大的难度就是要和众多硬件设备供应商保持紧密的合作。
有问题可以继续沟通啊,我就是学习内核编程的,呵呵
而操作系统的开发就没有平台的限制了,直接是基于硬件的开发了,他的区别不再是系统的差异,而是CPU架构的差异,比如x86架构和x64架构不一样。还有就是硬件的差异,比如Intel的CPU和AMD的不一样,寄存器组指令集都不一样。所以开发起来有差别。
如果你所说的开发平台就是编程环境的话,那么任何环境都可以,只要能写代码,能编译就行,反正这种编译也 不依赖于当前平台 。系统都是交叉编译的,就是在宿主机编译目标机的内核级代码。Windows Vista是肯定不是在Vista平台上开发的吧,或许就是在Windows Server 2003上开发的。
不明白你说的突破口是什么意思,操作系统的编写需要与硬件厂商紧密配合,两者相辅相成。操作系统的实现要对硬件作出假设,硬件的设计要对操作系统的使用做出假设。所以开发操作系统很大的难度就是要和众多硬件设备供应商保持紧密的合作。
有问题可以继续沟通啊,我就是学习内核编程的,呵呵
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |