<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p></p>
讯享网
利用计算机运行程序大部分都是为了提高处理效率。例如,Microsoft Word 这样的文字处理软件,是用来提高文本文件处理效率的程序,Microsoft Excel 等表格计算软件,是用来提高账本处理效率的程序。类似于文字处理软件及表格计算软件这样,为了提高特定处理效率的程序总称为“应用”。
程序员的工作就是编写各种各样的应用来提高业务效率。而应用的运行环境,也就是操作系统。不过,一定不能忽略操作系统,否则就无法编写应用。这是因为,程序员是通过利用操作系统提供的功能来编写应用的。
操作系统(Operating System)也称为基础软件。操作系统是计算机运行时不可或缺的控制程序,以及在控制程序下运转的为其他软件运行提供操作环境的软件的统称。另外,在操作系统上运行的应用也称为“应用程序”。
在计算机中尚不存在操作系统的年代,完全没有任何程序,因此程序员就需要编写出处理相关的所有程序。用机器语言编写程序,然后再使用开关将程序输入,这一过程非常麻烦。于是,有人开发出了仅具有加载和运行功能的 监控程序,这就是操作系统的原型。通过事先启动监控程序,程序员就可以根据需要将各种程序加载到内存中运行。虽然依旧比较麻烦,但比起在没有任何程序的状态下进行开发,工作量得到了很大的缓解。

讯享网
随着时代的发展,人们在利用监控程序编写程序的过程中,发现很多程序都有共通的部分。例如,通过键盘输入文字数据、往显示器输出文字数据等。这些处理,在任何程序下都是一样的。而如果每编写一个新的程序都要记述相同的处理的话,那真的是太浪费时间了。因此,基本的输入输出部分的程序就被追加到了监控程序中。初期的操作系统就这样诞生了。

虽然对程序员来说,掌握硬件的基本知识是必需的,不过,在操作系统诞生以后,就没有必要再编写直接控制硬件的程序了。这样一来,制作应用的程序员就逐渐同硬件隔离开来了。也就是说,程序员是很少关注现实世界(硬件)的。
由于操作系统诞生后,程序员无需再考虑硬件的问题,因此程序员的数量也增加了。哪怕是自称“对硬件一窍不通”的人,也可能会制作出一个有模有样的应用。不过,要想成为一个全面的程序员,有一点需要清楚的是,掌握基本的硬件知识,并借助操作系统进行抽象化,可以大大提高编程效率。否则,遇到问题时,你就无法找到解决办法。操作系统确实为程序员提供了很多方便。不过,仅仅享受方便是不行的,还要了解为什么自己能够这么方便。了解了这一点,就可以尽情地享受方便了。
应用的可执行文件指的是,计算机的CPU 可以直接解释并运行的本地代码。不过这些代码是无法直接控制计算机中配置的时钟IC 及显示器用的I/O 等硬件的。在操作系统这个运行环境下,应用并不是直接控制硬件,而是通过操作系统来间接控制硬件的。变量定义中涉及的内存的申请分配,以及time() 和printf() 这些函数的运行结果,都不是面向硬件而是面向操作系统的。操作系统收到应用发出的指令后,首先会对该指令进行解释,然后会对时钟IC(实时时钟)和显示器用的I/O 进行控制。

操作系统的硬件控制功能,通常是通过一些小的函数集合体的形式来提供的。这些函数及调用函数的行为统称为系统调用(system call),也就是应用对操作系统(system)的功能进行调用(call)的意思。
C 语言等高级编程语言并不依存于特定的操作系统。这是因为人们希望不管是Windows 还是Linux,都能使用几乎相同的源代码。因此,高级编程语言的机制就是,使用独自的函数名,然后再在编译时将其转换成相应操作系统的系统调用(也有可能是多个系统调用的组合)。也就是说,用高级编程语言编写的应用在编译后,就转换成了利用系统调用的本地代码。

通过使用操作系统提供的系统调用,程序员就没必要编写直接控制硬件的程序了。而且,通过使用高级编程语言,有时甚至也无需考虑系统调用的存在。这是因为操作系统和高级编程语言能够使硬件抽象化。这是个非常了不起的处理。
Windows 操作系统的主要特征如下所示:
(1)32 位操作系统(也有64 位版本)
这里的32 位表示的是处理效率最高的数据大小。
(2)通过API 函数集来提供系统调用
Windows 是通过名为API 的函数集来提供系统调用的。API 是联系作成应用的程序员和操作系统之间的接口。所以称为API(Application Programming Interface,应用程序接口)。API 通过多个DLL 文件来提供。各API 的实体都是用C 语言编写的函数。
(3)提供采用了图形用户界面的用户界面
(4)通过WYSIWYG 实现打印输出
WYSIWYG 是What You See Is What You Get 的略写。意思是,显示器上显示的文本及图形等(What You See),是(Is)可以原样输出到打印机上打印(What You Get)的。
WYSIWYG 指的是显示器上显示的内容可以直接通过打印机打印输出。在Windows 中,显示器和打印机是被作为同等的图形输出设备处理的,而该功能也就为WYSIWYG 的实现提供了条件。
(5)提供多任务功能
多任务指的是同时运行多个程序的功能。Windows 是通过 时钟分割技术来实现多任务功能的。
时钟分割指的是在短时间间隔内,多个程序切换运行的方式。在用户看来,就是多个程序在同时运行。也就是说,Windows 会自动切换多个程序的运行。此外,Windows 中还具有以程序中的函数为单位来进行时钟分割的多线程功能。

(6)提供网络功能及数据库功能
(7)通过即插即用实现设备驱动的自动设定
NIC(Network Interface Card)是计算机连接网络(LAN)时使用的设备。也称为网卡或者LAN 卡。
有时DLL 文件也会同设备驱动文件一起安装。这些DLL 文件中存储着用来利用该新追加硬件的API(函数集)。通过API,可以制作出运用该新硬件的应用。可以任意追加设备驱动和API 的机制使Windows 操作系统变得非常灵活。这里所说的灵活,是指可以事后再对新追加的硬件进行处理。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/140655.html