相信大家对“操作系统”这个名词并不陌生,很多人在很多年前就已经知道了这个名词,但是很少有人真的了解“操作系统”到底是什么。其中有一个很重要的原因就是跟计算器的硬件相比,硬件是很容易让人们理解的,因为硬件真是存在可见,人们能够看到,而操作系统属于软件,它看不见、摸不着,总有一种神秘感。
笔记本电脑内部的大致结构
在计算机技术如此发达的今天,我们每时每刻都在使用操作系统,享受着它给我们提供的帮助与便利。今天就和大家说一说“操作系统”,当然,操作系统极其复杂,在计算机科学里是一门重要的课程,有关它的书籍成百上千,所以在这里不可能仅仅用一篇文章把操作系统说明白,我们也没必要深入了解操作系统的每个细节,甚至是自己去编写一个操作系统。我们只需要从用户的使用角度去了解一下操作系统,以便提高自己在日常生活和工作过程中对计算机的使用效率。
早期的电子计算机采用的是分配机时,每个计算员在轮到他们时,带着他们的纸带、卡片、磁带和操作说明书轮流上机操作。他们首先要将上一个计算员的计算痕迹清除掉,将自己即将运行的纸带、卡片“装载”到计算机上才能开始工作。计算过程中一旦出现任何严重问题,只能暂时把机器彻底停下来检查。那时的检查方式是很低效的,只能通过大量指示灯的明灭来分析和判断问题的原因。以这种方式运行的计算机在时间和空间上都有很大的缺陷。
从时间上看,首先看一个计算过程中每一关键步骤的处理速度。主机的频率还是比较快的,单位通常是以微秒和纳秒为单位,每秒钟可以执行几百万到上亿条指令。而带有电动机、继电器等电机械成分的外部设备,动作时间就以毫秒为单位了。而到计算员这里,他们的反应和操作时间最快也只能以秒为单位。这就造成了计算机处理性能的整体低下,也是当时计算机性能的最大问题所在。
从空间上看,早期的计算机体型都很庞大,有大量的主存和外部设备。但是计算时用到的设备资源却总是占很小的一部分,这就造成了严重的系统资源浪费问题。
通过总结以上两点,人们发现不能在人工操作管理计算机了,要用软件来自动管理和调度这些资源,操作系统就此应运而生。
操作系统是计算机的最重要组成部分,它一般是由生产厂家和专门的软件公司提供的。随着近几十年计算机技术的飞速发展,操作系统也变的越来越复杂。20世纪60年代中期,IBM公司曾花费大量的人力研发了其360系列的操作系统,这在当时是最先进的。
windows历代产品
历史上曾出现过各种各样的操作系统,现在老百姓最熟悉的莫过于微软公司在1985年推出的Windows操作系统,经过三十多年的不断升级,从最初的Windows1.0版本更新到现在的Windows10。在操作系统领域,可不是Windows一家独大,由贝尔实验室研发出来的UNIX系统也有着极其广泛的应用。
早期的微软磁盘操作系统(MS DOS)其实借鉴了UNIX系统的一部分命令。现如今,微软的Windows在PC端依然被广泛使用,而工作站、大型服务器和超级计算机都是UNIX的忠实用户。利用计算机做科学计算和研究、程序员等很多专业人士早已弃用了Windows,投入到了UNIX的怀抱。另一方面,为了适应新的技术发展和新的程序设计概念,现有的操作系统也在不断的添加新功能,计算机领域的发展日新月异,只有不断的学习,才能避免不进则退。
要学会使用一个新事物,首先,也是必须要知道的就是它都包含什么样的功能才行。同理,要想了解操作系统,必须要知道它的功能。
1.文件
提起文件相信大家再熟悉不过了,我们操作计算机的过程中免不了会有创建文件、修改文件、删除文件等等对文件的操作,其实文件并没有这么简单。在新买的计算机刚开机时,进入磁盘管理器就可以看到磁盘已经占用了不少空间,可是我们并没有做任何操作,其实这些文件绝大部分是系统文件,另外还有一些就是各种语言的编译和解释程序,以及产生和修改文件用的编辑程序,连接程序等等。
用户操作文件
在我们的使用过程中,产生的文件属于用户文件一类,它不仅仅是我们创建的文档、程序、图片和多媒体数据等。计算机还会在我们的某些操作的同时自动创建一些文件,比如有些重要操作的备份等。
文件不仅仅是在文件管理器里能看到的文字或者编码后的二进制信息。有些外部设备同样可以被当做是文件看待。例如,键盘就是一种“只读文件”,而打印机则是“只写文件”。我们在键盘输入的内容被打印出来,其实就是操作系统发出了一条命令,将“键盘”这个文件连接到“打印机”文件上了。
键盘也是一种文件
2.输入输出设备
输入设备的功能是向计算机输入数据和信息,例如:键盘,鼠标;输出设备是经过计算机的计算处理,要将结果输出给人来识别,例如:显示器,打印机等。它们统称为IO设备,也就是Input和Output的缩写。
各种IO设备
各种IO设备是不允许用户直接操作的,而是要操作系统来完成调度工作。试想一下,如果用户程序中的每一个打印语句都使得打印机立即操作,同时执行几个程序,那么打印结果一定会乱成一片。实际上这种情况并没有发生,这是因为实际上程序中的每一条输入输出指令,都只是向操作系统提出了请求,何时执行则是操作系统决定的。一条打印命令只是把要打印的信息送到指定的临时文件中保存,待操作系统决定开始打印时,将文件中的信息一并打出。
3.时钟管理
对于一个操作系统,往往可以定义多种时钟,其中最重要的莫过于与现实生活一致的时钟了。只要操作系统具有了这个时钟,就可以规定某个程序从事先指定的时刻自动开始运行,或者每隔一定的时间执行一次固定的操作,又或者某一天某一时刻才自动启动。
4.图形功能
操作系统所拥有的一类重要资源就是图形功能,这是因为现代操作系统大都具有视窗化的界面。窗口、菜单、按钮、滚动条,凡此种种都是操作系统自己使用的图形对象,它们随着计算机一起来到了用户手边,许多人不知道也不利用。例如,绝大多数UNIX工作站使用麻省理工学院发展的X窗口系统,它的图形函数库叫做Xlib,对应的工具库是Xtoolkit。
我们经常能见到的图形控件
制造工作站的厂家为了使自己的产品具有独特的界面,都在Xlib的基础上定义了自家的窗口对象。在SGI工作站上叫做Motif,在Sun工作站上叫做OpenLook。调用这些库编写的应用程序,与各自工作站的整体风格完全统一。但是,这些编写出来的应用程序可移植性很差,也就是换到其他工作站上就无法正常使用。
然而,能够直接使用Xlib为UNIX工作站设计图形接口或者微软视窗系统(MFC)为微软视窗编写应用程序的用户越来越少,有一个重要原因就是JAVA预言的蓬勃发展。
5.其他功能
操作系统的功能还有通信和网络管理、提供程序调试手段、窗口管理、虚拟存储管理、提供中断服务、以及对进程的排队调度等等。
计算机对网络的管理
相对于很多编程语言,操作系统与计算机的依赖性更强。虽然在同一台计算机上可以安装和运行多种操作系统,但一般人倾向于固定使用一两个最顺手的系统,或不得不使用随机器买来的那个系统。其实各种操作系统的用法大同小异,只要懂得了基本规则,很容易从一个系统切换到其他的系统。
操作系统是计算机和人之间的“接口”,它也是计算机的灵魂,可以说一台没有操作系统的计算机就如一堆废铜烂铁一般,失去了它存在的意义。
(部分图片来源于网络,如有侵权请及时联系删除)