第七章围绕程序是在和的环境中运行的来展开介绍7.1告诉我们运行环境等于操作系统加组件,操作系统和硬件是运行环境的重要组成部分不同的操作系统和硬件组合可能会导致,软件在不同的环境中表现出不同的行为。 Windows操作系统在一定程度上解决了CPU以外的硬件差异问题使得软件在不同的硬件设备上在不同的环境中表现出不同的行为,主要是通过以下几个方面实现的一驱动程序:Windows提供了丰富的驱动程序库驱动程序可以适应不同硬件的特性和功能,做使得不同型号和品牌的硬件设备在Windows系统上能够兼容使用。二硬件抽象层: Windows采用了硬件抽象层的概念将硬件的具体细节抽象出来为上层的操作系统和应用程序提供一个统一的接口。三标准接口和规范:Windows遵循一系列的硬件标准和规范,例如USB PCI sata等,
而不同操作系统的API不同则是应用程序编程接口确实存在差异,因为每个操作系统都有自己独特的设计和功能,为了与系统的内部机制和特性相匹配,它们的api也会有所不同。不同操作系统的api差异可能体现在以下几个方面一函数命名和参数二数据结构和类型三系统特性和限制在不同在同类型操作系统下不管硬件如何API基本没有差别。因而,针对某特定操作系统的api所编写的程序,在任何硬件上都可以运行。但是由于cpu种类不同,机器人也不相同,因此本地代码自然也不同。此情况,则需利用能生成个CPU专用的本地代码的编译器,来对源代码进行重新编译。
第七章第四小节告诉我们freebsd port对于使用源代码的帮助, freebsd上应用的源代码大部分是用C语言来计数的他们的操作系统中都带有标准的CB器全球很多站点都提供适用于freebsd的应用源代码这些代码还被按照不同的领域进行了分类整理
第五小节告诉我们通过虚拟机获得其他操作系统环境,通过虚拟机可以在一台物理机器上创建多个虚拟计算机,每个虚拟计算机都可以运行不同的操作系统。使用虚拟机的好处包括一可以在一台物理计算机上运行多个操作系统,而无需在物理计算机上安装多个操作系统。二可以在不同的操作系统之间切换而不需重新启动物理计算机。三可以在虚拟机中隔离不同的操作系统,以避免不同操作系统之间的冲突和干扰。四可以在虚拟机中测试和调试软件,而不会影响物理计算机上的其他软件和数据。
第六章告诉我们提供相同运行环境的Java虚拟机它是除虚拟机的方法之外能提供不依赖于特定硬件及操作系统的程序运行环境的第二种方法,查在程序运行时,将编译后的字节代码转换成本地代码,这样的操作方法可以实现同样字母自己的代码在不同环境下运行。 Windows有Windows专用的Java虚拟机都好Mac INTOSH也有它专用的Java虚拟机从操作系统方面来看Java虚拟机是一个应用。其次Java虚拟机每次运行时都要把字节代码变换成本机代码,这一机制是造型运行速度慢的原因。
第七小节则讲了BIOS和引导,当计算机开机时BIOS会首先执行一系列的自检操作总的来说BIOS和引导程序共同合作确保计算机能够正确的启动操作系统为用户提供一个稳定的计算环境