首页 > 编程语言 >《程序是怎样跑起来的》第7章—— 程序是在何种环境中运行的

《程序是怎样跑起来的》第7章—— 程序是在何种环境中运行的

时间:2024-02-21 19:12:02浏览次数:35  
标签:硬件 操作系统 环境中运行 Windows 虚拟机 程序 何种 API CPU

一、运行环境
1、运行环境是什么:运行环境=操作系统+硬件。操作系统和硬件决定了程序的运行环境。
示例:2007 Microsoft Office sytem的运行环境(这里省略了部分内容)

同一类型的硬件可以选择安装多种操作系统。同样的AT兼容机”中,既可以安装Windows,也可以安装Linux等操作系统。不过,Windows及Linux操作系统也存在多种版本。根据应用的具体情况,有时只有在特定版本的操作系统上才能运行。
①AT兼容机是指,可以和IBM开发的PC/AT在硬件上相互兼容的计算机的总称。称为“PC/AT兼容机”和“DOS/V机”。现在市面上销售的大部分计算机都是AT兼容机。另外,IBM现在已经把计算机事业部卖给了联想。
②Linux是1991年赫尔辛基大学的Linus Torvalds开发的Unix系操作系统。发布后得到了很多有志者的协助,为其追加了大量的功能。在服务端操作系统中占有比较高的比率。
③美国Intel的微处理器,是按照8086、80286、80386、80486、Pentium……
这样的顺序不断升级的。因为这些型号的后面都带有86,所以总称为x86。32位处理器也称为“IA-32”。
示例:操作系统和硬件共同决定应用的运行环境

2、机器语言:CPU只能解释其自身固有的机器语言。不同的CPU(CPU有x86、MIPS、SPARC、PowerPC等类型,MIPS是美国MIPS科技公司开发的CPU。曾出现过面向MIPS工作站的Windows,不过现在市面上已经不再出售了。SPARC是美国SUN系统开发的CPU。很多工作站都采用了该CPU。PowerPC是美国苹果、IBM、摩托罗拉共同开发的CPU。苹果的Power Mac及IBM的工作站都采用了该CPU。不过现在的Mac采用的是Intel的x86系列CPU。)能解释的机器语言的种类也是不同的。机器语言的程序称为本地代码(native code)。程序员用C语言等编写的程序,在编写阶段仅仅是文本文件。文本文件(排除文字编码的问题)在任何环境下都能显示和编辑。我们称之为源代码。通过对源代码进行编译,就可以得到本地代码。
示例:CPU负责解析并运行从源代码编译而来的本地代码

二、操作系统
1、计算机的硬件并不仅仅是由CPU构成的,还包括用于存储程序指令和数据的内存,以及通过I/O连接的键盘、显示器、硬盘、打印机等外围设备。Windows操作系统对克服这些硬件构成的差异做出了很大贡献。Windows的前身操作系统MS-DOS(MS-DOS(Microsoft Disk Operating System)是20世纪80年代普遍使用的计算机操作系统。)。
2、Windows与MS-DOS
MS-DOS中,不同机型的应用是不同的,而Windows则可以使用同一个应用。

MS-DOS应用大多都是不经过操作系统而直接控制硬件的,而Windows应用则基本上都由Windows来完成对硬件的控制。

三、不同操作系统的API不同
1、操作系统:同样机型的计算机,可安装的操作系统类型也会有多种选择。除Windows之外,还可以采用Unix系列的Linux及FreeBSD等多个操作系统。
2、API含义:应用程序向操作系统传递指令的途径称为API(ApplicationProgramming Interface)。Windows及Unix系列操作系统的API,提供了任何应用程序都可以利用的函数组合。因为不同操作系统的API是有差异的,因此,将同样的应用程序移植到其他操作系统时,就必须要重写应用中利用到API的部分。
3、API作用:像键盘输入、鼠标输入、显示器输出、文件输入输出等同外围设备进行输入输出操作的功能,都是通过API提供的。
在同类型操作系统下,不管硬件如何,API基本上没有差别。
四、FreeBSD Port
1、介绍:①FreeBSD是1993年加州大学伯克利分校的Computer Systems ResearchGroup在4.4BSD-Lite的基础上开发的Unix系列操作系统。
②API也称为“系统调用”,是应用调用操作系统功能的手段。
2、FreeBSD的Ports机制

五、虚拟机与环境
1、虚拟机与操作系统环境:操作系统的运行不仅仅使用移植也可以利用虚拟机软件。
2、Java虚拟机:除虚拟机的方法之外,还有一种方法能够提供不依赖于特定硬件及操作系统的程序运行环境,那就是Java。字节代码的运行环境就称为Java虚拟机(JavaVM,Java Virtual Machine)。
示例:Java应用在Java虚拟机上运行

标签:硬件,操作系统,环境中运行,Windows,虚拟机,程序,何种,API,CPU
From: https://www.cnblogs.com/Li204217/p/18026024

相关文章

  • 《程序是怎样跑起来的》第六章
    第六章,亲自尝试压缩数据。首先6.1节文件是以字节为单位保存。在任何情况下,文件中的字节数据都是连续储存的。6.2节,RLE算法的机制。像这样,把文件内容用“数据乘以重复次数”的形式来表示的压缩方法称为RLE算法,它是一种很好的压缩方法。图像文本也可用此算法来压缩。在讲述了此算法......
  • 《程序是怎样跑起来的》第十章的读后感
    又到了读书分享的时候,本篇分享《程序是怎样跑起来的》第十章的读后感,通过汇编语言了解程序的实际构成。首先我了解到了助记符的含义,通过使用助记符的编程语言称为汇编语言。这样通过查看汇编语言编写的源代码就可以了解程序的本质。即使是用汇编语言编写的源代码,最终也必须要转换......
  • 《程序是怎么跑起来的》第十章
    阅读了程序集是怎么跑起来的第十章,我了解了通过汇编语言了解程序的实际构成,对于本章的总结我认为本章的前半部分讲的是CPU运行本地代码的关系,而后半部分则讲述的是局部变量和全局变量的不同。汇编语言和本地代码之间存在一一对应的关系。汇编语言是一种低级语言,它提供了一种与计......
  • 读《程序是怎样跑起来的》第五章有感
    第五章——内存和磁盘的亲密关系本章重点是在计算机系统中高速小容量的内存与低速高容量的磁盘如何协同作业。内存主要是指主内存(负责存储CPU中运行的程序指令和数据的内存),磁盘主要是指硬盘。不读入内存就无法运行存储程序方式:程序保存在存储设备中,通过有序地被读出来实现运......
  • 《程序是怎么跑起来的》第九章
    关于第九章的学习我了解到了“操作系统和应用之间的关系”对于第九章的学习,我们可以学习五个课时,本章讲述了在软件商城购买软件的注意事项,首先我们在购买时一定不要忘记了操作系统的使用,这也就要讲述到操作系统的作用。操作系统的功能在不断地演进和完善,以适应不断变化的计算机环......
  • 《程序是怎样跑起来的》第六章
    这一章不仅系统地介绍了内存的概念、种类和重要性,还详细阐述了程序是如何与内存进行交互的。我深刻感受到了内存管理对于程序运行的重要性。内存作为程序运行的基础,其分配、使用和回收直接影响着程序的性能和稳定性。合理的内存管理不仅可以提高程序的运行效率,还能有效避免内存泄......
  • 《程序是怎样跑起来的》——第八章读后感
    一:1.利源代码进行编译后可得到本机代码。2.通过编译和链接可得到EXE文件。3.对源文件进行编译可得到日标文件。例如,补源文件wempikes进行编译可得到目标文件sample.obj。日标文件的内容较是在机代码。4.链接器会从库文件中提取必要的目标文件并将它们拼接成。EXE文件。在程......
  • 《程序是怎么跑起来的》第八章
    今天沃阅读了程序是怎么跑起来的第八章,从源文件到可执行文件。本章分为九个课时,分别介绍了关于编码器,原代码和代码的执行方面的问题,且计算机只能运行本地的代码,虽然计算机通常只能直接运行本地代码,但通过虚拟机和解释器等技术,可以实现在计算机上运行非本地代码的需求。本地代码是......
  • 《程序是怎样跑起来的》第10章
    本章主要讲通过汇编语言认识程序的真面目。本章讲汇编语言到程序,那么,我们总得要知道什么是汇编语言吧?其实呢汇编语言就是(assemblylanguage)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的......
  • Python启动其他程序
    通过python脚本来启动其他的程序,一般使用subprocessimportsubprocess#启动Windows上的计算机程序subprocess.Popen('C:\\Windows\\System32\\calc.exe')#启动记事本,并打开text.txt文件,在该列表中第一个元素表示程序名称,后面的都是参数subprocess.Popen(['C:\\Windows......