1.1 操作系统进入
1.1.1 操作系统基础知识
学习目标
了解计算机操作系统的分类、特性及常用操作系统的种类
理解操作系统的概念
掌握计算机操作系统的功能
相关知识
1. 操作系统的基本概念
操作系统作为计算机系统资源的管理者,它的主要任务是管理并调用计算机系统资源,满足用户程序对资源的请求,提高系统资源利用率,协调各程序对资源的使用冲突。此外,操作系统为用户提供友好的接口和服务,用户可以不必了解计算机硬件工作的细节就可通过操作系统来使用计算机,从而为用户使用计算机提供方便。
操作系统的定义:控制和管理计算机系统的硬件和软件资源,合理地组织计算机工作流程,为用户提供便于操作的界面,是位于计算机软件系统最底层的程序集合。
2. 操作系统的基本功能
操作系统具有五大功能:处理器管理功能,存储管理功能,设备管理功能,文件管理功能和用户接口功能。
(1)处理器管理功能
处理器是计算机中最重要的资源,它的时间相当宝贵,当只有一个用户使用计算机时,在输入命令或打印文件时处理器都是空闲的,这就大大降低了处理器的使用效率。因此,人们想到使用多道程序同时进行的办法来提高处理器的利用率。但由于处理器的速度极快,如何转换处理器为不同的程序服务就成了操作系统处理器管理的任务。处理器管理是指操作系统根据一定的调度算法对处理器进行分配,并对其运行进行有效的控制和管理。在多道程序环境下,处理器的分配和运行都是以进程为基本单位的,因而对处理器的管理可归结为对进程的管理,包括进程调度、进程控制、进程同步与互斥、进程通信、死锁的检测与处理等。
(2)存储器管理的功能
存储器(一般称为主存或者内存)由RAM(Random Access Memory)和ROM (Read only Memory)组成,是存放程序运行、中间数据和系统数据的地方。由于硬件的限制,存储器的存储容量是有限的。在计算机系统中,为了提高系统资源的利用率,系统内要存放多个交替运行的程序,这些程序共享存储器,并且彼此之间不能相互冲突和干扰。存储器管理功能的主要任务,就是完成对用户作业和进程的内存分配、内存保护、地址映射和内存扩充等工作,为用户提供比实际容量大的虚拟存储空间,从而达到对存储空间的优化管理。
(3)设备管理功能
外部设备不仅包含设备的机械部分,还包含控制它的电子线路部分。随着信息社会的发展,计算机外部设备得到了迅速发展,处理机和外部设备之间的接口关系也越来越复杂,因此操作系统设备管理模块的主要任务,就是把不了解具体设备技术特性及使用细节的用户的简单请求转化为对设备的具体控制,并充分发挥设备的使用效率,提高系统的总体性能。
(4)文件管理功能
计算机要处理大量的数据,这些数据以文件的方式存储在海量存储设备(如磁盘、磁带、光盘)中,操作系统文件管理功能是将这些数据与信息面向用户实现按名存取,完成文件在存储介质上的组织和访问,支持对文件的检索和修改,以及解决文件的共享、保护和保密等问题。
(5)用户接口功能
计算机的最终目的是为了用户使用,操作系统通过系统调用为应用程序提供一个很友好的接口,方便用户程序对文件和目录的操作,申请和释放内存,对各类设备进行I/O操作,以及对进程的控制。此外,操作系统还提供了命令级的接口,用户通过命令操作和程序操作与计算机交互,使计算机系统的使用更方便、适用。
3. 操作系统的特性
操作系统有四个基本特性:并发性、共享性、虚拟性和不确定性。
(1)并发性
并发性是指宏观上在一段时间内能处理多个同时操作和计算重叠,即一个进程的第一个操作在另一个进程的最后一个操作完成之前开始。操作系统必须能够控制和管理各种并发活动,无论这些活动是用户的还是操作系统本身的。
(2)共享性
共享是指系统中的硬件和软件资源不再为某个程序所独占,而是供多个用户共同使用。根据资源属性,通常有互斥共享和同时共享两种方式。互斥共享在一段时间内只允许一个作业访问该资源,这种资源(如打印机或内部链表)只有被使用者释放之后才能被另一使用者使用。同时共享指该资源允许在一段时间内由多个进程同时对它进行访问。
(3)虚拟性
虚拟的本质含义是把物理上的一个变成逻辑上的多个。前者是实际存在的,后者只是用户的一种感觉。例如,多道程序设计技术能把一台物理CPU虚拟为多台逻辑上的CPU,SpooLing技术能把一台物理I/O设备虚拟为多台逻辑上的I/O设备(虚拟设备)。此外,通过操作系统的控制和管理,还可实现虚拟存储器、虚拟设备等。
(4)不确定性
不确定性是指在操作系统控制下的每个作业的执行时间、多个作业的运行顺序和每个作业的所需时间是不确定的。这种不确定性对系统是个潜在的危险,它与资源共享一起将可能导致与时间有关的错误。
4. 操作系统的分类
(1)单用户操作系统
单用户操作系统的基本特征是在一台计算机系统内一次只能支持一个用户程序的运行。个人计算机(PC)上配置的操作系统大多属于这种类型,它提供联机交互功能,用户界面特别友好。
(2)多道批处理系统
在这种操作系统控制下,用户作业逐批地进入系统、逐批地处理、逐批地离开系统,作业与作业之间的过渡不需要用户的干预。多道即在主存内同时有多个正在处理的作业,相互独立的作业在单CPU情况下交替地运行或在多CPU情况下并行运行。它主要装配在用于科学计算的大型计算机上。
(3)分时系统
它一般连接多个终端,用户通过相应的终端使用计算机。它将CPU的整个工作时间分成一个个的时间段,从而将CPU的工作时间分别提供给多个终端用户。
(4)实时系统
在这种操作系统的控制下,计算机系统能对随机发生的外部事件做出及时的响应,在规定的时间内完成对该事件的处理并有效地控制所有实时设备和实时任务协调地运行。它常有两种类型,即实时控制和实时信息处理。前者常用于工业控制、航天器控制、医疗控制;后者常用于联机情报检索、图书管理、航空订票等。
(5)网络操作系统
网络操作系统是使网络上各计算机能方便而有效地共享网络资源,而为网络用户提供所需的各种服务的软件和有关规程的集合。因此,网络操作系统除了具备存储管理、处理机管理、设备管理、信息管理和作业管理外,还应具有提供高效可靠的网络通信能力和多种网络服务能力。网络用户只有通过网络操作系统才能享受网络所提供的各种服务。
(6)分布式操作系统
分布式系统具有一个统一的操作系统,它可以把一个大任务划分成很多可以并行执行的子任务,并按一定的调度策略将它们动态地分配到不同的处理站点上执行。分布式操作系统要实现并行任务的分配、并行进程通信、分布机构、分散资源管理等功能。
5. 操作系统的结构
操作系统结构分为模块结构、层次结构和客户/服务器结构。
模块结构是指操作系统通过若干个模块共同来完成用户所要求的服务,这种系统的结构关系不清晰,系统的可靠性低;层次结构是把操作系统分成若干个层次,所有功能模块按功能流程图的调用次序,分别排列在这些层,各层之间具有单向的依赖关系;客户/服务器结构是将操作系统分成若干个小的并且自包含的分支(服务器进程),每个分支运行在独立的用户进程中,相互之间通过规范一致的方式接口发送消息,从而把这些进程链接起来。
6.常用操作系统
目前常用的操作系统有美国微软公司开发的Windows系列、美国AT&T公司的分时操作系统UNIX和在互联网上产生、发展并不断壮大的Linux系统,还有NetWare、OS/2等。