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