我们通常所说的计算机,严格来说应该是指计算机系统,它包括硬件(如CPU、内存、显示器、打印机等)和软件(运行在硬件上的各种程序).软件部分又分为系统软件和应用软件。应用软件是人们通常用来管理和完成各种业务的程序,而系统软件是管理和控制计算机系统的核心。这部分通常称为计算机操作系统(如Windows、Linux等系统软件。Windows是供PC机使用的单用户、多任务、分时操作系统;Linux是多用户、多任务、用于大中型计算机系统的分时操作系统。由于现在PC的硬件环境非常完善,PC操作系统也可以安装UNIX)。没有系统软件的计算机通常被称为裸机,它的功能很弱,只能进行0和1的二进制运算。在计算机硬件上加载计算机操作系统后,计算机的功能可以非常强大,服务质量非常高,使用非常方便,为使用电脑的人们提供一个安全可靠的应用环境。同时,操作系统可以有效、合理地组织和安排多个用户共享计算机系统的各种设施,从而最大限度地利用这些资源。操作系统的定义根据冯·诺依曼的指导思想,计算机硬件系统是由运行和控制部件(CPU)、存储器、输入输出部件等通过逻辑连接安装在计算机主板上的。为了让这些部件发挥它们的功能,需要有一个程序来管理(控制、分配)硬件并组织程序有序运行。这套程序就是人们通常所说的操作系统。通常,操作系统由许多可供用户调用的程序组成。这些程序分为三类:信息管理主要提供信息的存储、检索、修改和删除等功能。进程管理主要是为程序执行创建进程,调度进程,挂起进程,终止进程,重启进程。内存管理主要是为内存分配需要的内存,回收进程结束后释放的内存。操作系统的作用和服务对象在计算机系统上配置操作系统,就是将硬件性能提高数百倍甚至数千倍。通常,个人计算机系统安装的是小型、单用户、多任务的分时操作系统(如Windows);证券、银行、交通等行业的信息处理系统大多需要安装大型、多用户、多任务的操作系统。分时操作系统(如UNIX)。操作系统的功能管理和控制CPU管理内存(包括内存和外存)管理输入输出(I/O)设备管理系统中的各类信息(通常也叫文件)以上功能的完成依赖于计算机系统,通过控制器和操作系统的配合来实现。操作系统的服务对象从广义上讲,操作系统或整个计算机系统都是为人服务的。但具体来说,它是用来完成对计算机系统硬件的管理和控制,具体完成对各类信息的编辑、操作、输入和输出的控制。因为,在一个计算机系统中,有多个程序(作业)并发执行并竞争使用资源。这时,操作系统根据资源的状态和运行程序的优先级,按照一定的算法,将资源分配给符合条件的程序(进程或线程)。在计算机系统中,人们通过操作系统或操作系统提供的各种相关命令来使用计算机,因此操作系统是用户与计算机系统之间的接口。操作系统的结构操作系统是一个非常复杂和庞大的系统软件。为了控制软件的复杂性,可以运用软件工程的概念和原理来开发、运行和维护软件,以消除开发软件的随意性、编程冗余和维护困难。为此,人们将做工程的思想和方法应用到软件开发过程中。层次结构在层次结构中,整个操作系统的组成通常是分层结构实现的,各部分之间的关??系一目了然。内核层是操作系统的最内层,也是唯一直接与计算机硬件打交道的层。他使操作系统和计算机硬件相互独立。也就是说,只要改变操作系统的内核层,同一个操作系统就可以运行在不同的计算机硬件环境中。内核提供操作系统中最基本的功能,包括加载、执行程序、为程序分配各种硬件资源等子系统。在内核中处理软件和硬件传输的各种信息。这样,对于普通用户来说,复杂的计算机系统变得简单易操作。服务层服务层接受来自应用程序或命令层的服务请求,并将这些请求解码成指令传送给内核执行,然后将处理结果返回给请求服务的程序。通常,服务层由许多可以提供以下服务的程序组成。访问I/O设备:输入和输出数据。访问存储设备(内存或外存):从磁盘读取数据并发送到内存或将内存中的数据写入磁盘。文件操作:通常指打开(关闭)文件、读写文件。特殊服务:窗口管理、通信网络和数据库访问等。命令层提供用户界面,是操作系统中唯一直接与用户(应用程序)打交道的部分。这里的用户通常指的是应用程序。模块化结构模块化结构是指在开发软件,特别是计算机操作系统等大型软件时,由于其功能复杂,参与开发工作的人员较多,要做到人人有责,各司其职。根据软件的规模、功能的强弱和参与人员的具体情况,将软件开发工作按功能划分成若干块,分散开发,组合调试,集中调试,因此即所开发软件的功能完善的结构优化。在整个计算机系统中,无论是等级组织还是模块化操作系统,都可以用下图来说明其结构体系。高层:用户界面(命令界面、程序界面、图形界面)中层:操作和管理对象的软件集合底层:操作系统的对象(CPU、内存、I/O设备、文件和作业)可以从上图可以看出,底层其实就是操作系统控制和管理的计算机硬件,各种信息,需要运行的程序。中间层是指完成底层任务所需要的各种程序,是一个庞大的软件体。除了上面提到的两部分,剩下的应该就是用户的各种应用了。这些应用程序怎么能这样用操作系统的管理程序来调用呢?这就需要一个入口,也就是人们天天说的接口。即应用程序通过这些接口渗透到计算机系统的核心。反之亦然。
