操作系统
操作系统的主要功能是
操作系统是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。
系统简介
在计算机中,操作系统是其最基本也是最为重要的基础性系统软件。从计算机用户的角度来说,计算机操作系统体现为其提供的各项服务;从程序员的角度来说,其主要是指用户登录的界面或者接口;如果从设计人员的角度来说,就是指各式各样模块和单元之间的联系。事实上,全新操作系统的设计和改良的关键工作就是对体系结构的设计,经过几十年以来的发展,计算机操作系统已经由一开始的简单控制循环体发展成为较为复杂的分布式操作系统,再加上计算机用户需求的愈发多样化,计算机操作系统已经成为既复杂而又庞大的计算机软件系统之一。
发展历史
纵观计算机之历史,操作系统与计算机硬件的发展息息相关。操作系统之本意原为提供简单的工作排序能力,后为辅助更新更复杂的硬件设施而渐渐演化。从最早的批量模式开始,分时机制也随之出现,在多处理器时代来临时,操作系统也随之添加多处理器协调功能,甚至是分布式系统的协调功能。其他方面的演变也类似于此。另一方面,个人计算机之操作系统因袭大型机的成长之路,在硬件越来越复杂、强大时,也逐步实现以往只有大型机才有的功能。
从1946年诞生第一台电子计算机以来,它的每一代进化都以减少成本、缩小体积、降低功耗、增大容量和提高性能为目标,随着计算机硬件的发展,同时也加速了操作系统(简称OS)的形成和发展。
最初的电脑没有操作系统,人们通过各种按钮来控制计算机,后来出现了汇编语言,操作人员通过有孔的纸带将程序输入电脑进行编译。这些将语言内置的电脑只能由制作人员自己编写程序来运行,不利于程序、设备的共用。为了解决这种问题,就出现了操作系统,这样就很好实现了程序的共用,以及对计算机硬件资源的管理。
随着计算技术和大规模集成电路的发展,微型计算机迅速发展起来。从20世纪70年代中期开始出现了计算机操作系统。在美国1976年的时候就研制了DIGITAL RESEARCH软件公司出8位的CP/M操作系统。这个系统允许用户通过控制台的键盘对系统进行控制和管理,其主要功能是对文件信息进行管理,以实现其他设备文件或硬盘文件的自动存取。此后出现的一些8位操作系统多采用CP/M结构。
主要功能
计算的操作系统对于计算机可以说是十分重要的,从使用者角度来说,操作系统可以对计算机系统的各项资源板块开展调度工作,其中包括软硬件设备、数据信息等,运用计算机操作系统可以减少人工资源分配的工作强度,使用者对于计算的操作干预程度减少,计算机的智能化工作效率就可以得到很大的提升。其次在资源管理方面,如果由多个用户共同来管理一个计算机系统,那么可能就会有冲突矛盾存在于两个使用者的信息共享当中。为了更加合理的分配计算机的各个资源板块,协调计算机系统的各个组成部分,就需要充分发挥计算机操作系统的职能,对各个资源板块的使用效率和使用程度进行一个最优的调整,使得各个用户的需求都能够得到满足。最后,操作系统在计算机程序的辅助下,可以抽象处理计算系统资源提供的各项基础职能,以可视化的手段来向使用者展示操作系统功能,减低计算机的使用难度。
操作系统主要包括以下几个方面的功能:
①进程管理,其工作主要是进程调度,在单用户单任务的情况下,处理器仅为一个用户的一个任务所独占,进程管理的工作十分简单。但在多道程序或多用户的情况下,组织多个作业或任务时,就要解决处理器的调度、分配和回收等问题。
②存储管理分为几种功能:存储分配、存储共享、存储保护、存储扩张。
③设备管理分有以下功能:设备分配、设备传输控制、设备独立性。
④文件管理:文件存储空间的管理、目录管理、文件操作管理、文件保护。
⑤作业管理是负责处理用户提交的任何要求。
用途分类
计算机的操作系统根据不同的用途分为不同的种类,从功能角度分析,分别有实时系统、批处理系统、分时系统、网络操作系统等。
实时系统主要是指系统可以快速的对外部命令进行响应,在对应的时间里处理问题,协调系统工作。
分时系统可以实现用户的人机交互需要,多个用户共同使用一个主机,很大程度上节约了资源成本。分时系统具有多路性、独立性、交互性、及时性的优点,能够将用户-系统-终端任务实现。
批处理系统出现于20世纪60年代,批处理系统能够提高资源的利用率和系统的吞吐量。
网络操作系统是一种能代替操作系统的软件程序,是网络的心脏和灵魂,是向网络计算机提供服务的特殊的操作系统。借由网络达到互相传递数据与各种消息,分为服务器及客户端。而服务器的主要功能是管理服务器和网络上的各种资源和网络设备的共用,加以统合并控管流量,避免有瘫痪的可能性,而客户端就是有着能接收服务器所传递的数据来运用的功能,好让客户端可以清楚的搜索所需的资源。
体系结构
简单体系结构
计算机操作系统诞生初期,其体系结构就属于简单体系结构,由于当时各式各样影响因素的作用,如硬件性能、平台、软件水平等方面的限制,使得当时的计算机操作系统结构呈现出一种混乱且结构模糊的状态,其操作系统的用户应用程序和其内核程序鱼龙混杂,甚至其运行的地址和空间都是一致的。这种操作系统实际上就是一系列过程和项目的简单组合,使用的模块方法也相对较为粗糙,因此导致其结构宏观上非常模糊。
单体内核结构
随着科学技术的不断发展和进步,硬件及其平台的水平和性能得到了很大程度的提高,其数量和种类也与日俱增,操作系统的复杂性也逐渐加深,其具备的功能以及性能越来越多,在此背景下,单体内核结构的操作系统诞生并得到了应用,例如UNIX操作系统、windows NT/XP等。一般情况下,单体内核结构的操作系统主要具备以下几种功能,分别是文件及内存管理、设备驱动、CPU调度以及网络协议处理等。由于内核的复杂性不断加深,相关的开发设计人员为了实现对其良好的控制,逐渐开始使用了一些较为成熟的模块化方法,并根据其不同的功能将其进行结构化,进而将其划分为诸多的模块,例如文件及内存管理模块、驱动模块、CPU调度模块及网络协议处理等。这些模块所使用的地址和空间与内核使用的完全一致,其以函数调用的方式构建了用于通讯的结构来实现各个模块之间的通讯。在使用模块化的方法以后,只要其通讯接口没有发生明显的变化,即使整个结构中的任何一个模块发生变化也不会对结构中的其他模块造成任何的影响,为其系统的维护和改良扩充提供了便利。虽然单体内核结构的计算机操作系统经过了模块化的处理,但是其中的全部模块仍然是在硬件之上、应用软件之下的操作系统核心中运转和工作。模块与模块之间活动的层次没有任何的差别。
层次式结构
层次式结构的计算机操作系统是为了减少以往操作系统中各个模块之间由于联系紧密而带来的各种问题而诞生的,其可以最大程度的减少甚至是避免循环调用现象的发生,确保调用有序,为操作系统设计目标的实现奠定了坚实的基础。在层次式结构的计算机操作系统之中,其是由诸多系统分为若干个层次的,其最底层是硬件技术,其他每一个层级均是建立在其下一层级之上的。在设计其计算机操作系统内核时,主要采用与抽象数据类型十分类似的设计方法进行的,在系统中的每一个层级均包含着多种数据和操作,且每一个的数据和操作是其他层不可见的,在每一层当中都配备了用于其他层使用的一操作接口,同时每一层发生的访问行为只能针对其下层进行,不能访问其上层的数据和服务,严格遵守了调用规则,在很大程度上避免了其他层次对某一层次的干扰和破坏。对于理想的层次式计算机系统体系结构来说,其之间的联系不仅仅是单向依赖性的,同时各个层级之间也要具备相互的独立性,且只能对低层次的模块和功能进行调用,例如THE系统。但是这种理想的全序层次式计算机操作系统在现实中建成是较为困难的,其无法完全避免模块之间循环调用现象的出现,某个层级之间仍旧存在某种循环关系,这种层次式结构又被叫作半序层次式计算机操作系统.