操作系统的5大管理功能:
1)设备管理:主要负责内核和外围设备的数据交互,实质是对硬件设备的管理,包括输入输出设备的分配、初始化、维护和回收等等。
2)作业管理:负责人机交互、图形界面或系统任务的管理。
3)文件管理:涉及文件的逻辑组织和物理组织、目录结构和管理等等。
从操作系统的角度来看,文件系统是系统对文件存储器的存储空间进行分配、维护、回收,同时负责文件的索引、共享和权限保护。
从用户的角度来说,文件系统是按照文件目录和文件名来进行存取的。
4)进程管理:说明一个进程存在的唯一标志是PCB(进程控制块),负责维护进程的信息和状态。进程管理的实质是系统采取某些进程调度算法来是处理合理的分配给每个任务使用。
5)存储管理:数据的存储方式和组织结构。
五大类型操作系统各自的特点分别是:
(1) 批处理操作系统的特点有:
a. 用户脱机使用计算机。用户提交作业之后直到获得结果之前就不再和计算机打交道。
作业提交的方式可以是直接交给计算中心的管理操作员,也可以是通过远程通讯线路提交。
提交的作业由系统外存收容成为后备作业。
b. 成批处理。操作员把用户提交的作业分批进行处理。
每批中的作业将由操作系统或监督程序负责作业间自动调度执行。
c. 多道程序运行。
按多道程序设计的调度原则,从一批后备作业中选取多道作业调入内存并组织它们运行,成为多道批处理。
(2) 分时操作系统的特点有:
a. 交互性:首先, 用户可以在程序动态运行情况下对其加以控制。
其次,用户上机提交作业方便。
第三,分时系统还为用户之间进行合作提供方便。
b. 多用户同时性:多个用户同时在自己的终端上上机,共享CPU和其他资源,充分发挥系统的效率。
c. 独立性:客观效果上用户彼此间感觉不到有别人也在使用该台计算机,如同自己独占计算机一样。
(3) 实时操作系统的特点有:
a. 实时时钟管理(定时处理和延时处理)。
b. 连续的人-机对话,这对实时控制往往是必须的。
c. 要求采取过载保护措施。例如对于短期过载,把输入任务按一定的策略在缓冲区排队,等待调度;
对于持续性过载,可能要拒绝某些任务的输入;
在实时控制系统中,则及时处理某些任务,放弃某些任务或降低对某些任务的服务频率。
d.高度可靠性和安全性需采取冗余措施。双机系统前后台工作,包括必要的保密措施等。
(4) 网络操作系统的特点有:
a. 计算机网络是一个互连的计算机系统的群体。
b. 这些计算机是自治的,每台计算机有自己的操作系统,各自独立工作,它们在网络协议控制下协同工作。
c. 系统互连要通过通信设施(硬件、软件)来实现。
d. 系统通过通信设施执行信息交换、资源共享、互操作和协作处理,实现多种应用要求。
(5) 分布式操作系统的特点有:
a. 计算机网络的开发都遵循协议,而对于各种分布式系统并没有制定标准的协议。
当然,计算机网络也可认为是一种分布式系统。
b. 分布式系统要求一个统一的操作系统,实现系统操作的统一性。
c. 分布式操作系统对用户是透明的。
但对计算机网络,若一个计算机上的用户希望使用另一台计算机上的资源,则必须明确指明是哪台计算机。
d.分布式系统的基础是网络。分布式系统已不仅是一个物理上的松散耦合系统,同时还是一个逻辑上紧密耦合的系统。
e.分布式系统还处在研究阶段。而计算机网络已经在各个领域得到广泛的应用。
操作系统的结构
1)单结构:不同的功能归类为不同的功能块,每个功能块相对独立,它们通过一定的方式进行联系,不同的功能块可以相互调用它们提供的服务。这样,整个操作系统就像是一个巨大的单一体,运行在系统的内核态下,为用户提供服务。
由于单结构系统的功能块之间结构复杂,修改某一功能块将导致其他功能块的修改,从而导致操作系统设计开发的困难。
例:MS-DOS操作系统。
2)分层结构:将操作系统分成若干层,低层次的功能为其上一个层次的功能提供服务,而高层次的层尤为更高一个层次的功能提供服务。
操作系统的所有功能都在内核态下运行,而从用户态转化为内核态需要一定的时间成本,这样造成了操作系统效率的嫡系。另外,内核态运行的程序可以访问所有的系统资源,随着操作系统越来越大,设计可靠和安全的操作系统将变得异常困难。
3)微内核:目标是建立基于消息传送机制的最小内核,以便在此基础上建造对其他操作系统的模拟层来模拟其他操作系统的特性。
微内核的有优点是大大提高了操作系统的兼容性,使得基于微内核的操作系统能够迷你其他操作系统的特性,从而支持许多运行于其他操作系统上的应用程序。
微内核的另一优点是提高了系统的扩充性。微内核设计的一个目标就是内核只要提供对操作系统绝对必要的功能,而把其他属于传统操作系统内核部分功能留给用户态进程实现。
例:Unix操作系统。
4)模块化方法:使用面向对象技术创建模块化内核。
采用模块化结构的操作系统由一些不同功能的结构模块集合组成,每一个模块实现一个特定的功能,如调度、文件系统、设备驱动等等,并且这些模块可以根据需要自动进行加载和卸载。本质上,一个模块就是内核在运行时可以链接或者断开链接的一个对象文件。
例:Linux操作系统。
现代操作系统的基本特征
1)并发性:并发(Concurrency)是指在某一段时间间隔内,宏观上有多个程序在同时运行的状态。
并行是指在同一时刻计算机内有多程序在执行,这是多CPU系统中才有的概念。
2)共享性:共享(Sharing)是指多个用户或者程序共享操作系统中的软硬件资源。共享可以提高各种系统资源的使用效率。
由于共享资源属性不同,产生了不同的共享方式:
互斥共享方式:一段时间内只允许一个程序访问资源。互斥共享的设备有打印机、磁带机、绘图仪等等。
同时访问方式:允许一段时间内有多个程序同时对它们进行访问。有些快速设备,如磁盘,尽管也只能让多个程序串行访问,但由于程序访问和释放资源的时间较短,在宏观上可以看成是同时共享。另外,只读数据和数据结构、只读文件和可执行文件等软件资源也可以同时共享。
共享性和并发性相互依存,有一定的依赖关系,它们是操作系统最基本的两个特征。
3)虚拟性:虚拟性(Virtuality)是指通过某种技术把一个物理实体变成若干逻辑上的对应物。另外,操作系统也用到了很多虚拟技术来改善系统的性能,如虚拟存储,是为了提高内存利用率,在内存中部分装入程序,其余部分放在虚拟内存,也就是硬盘的一部分。SPOOLING技术则是为了减小等待和请求的重复申请,允许硬件设备虚拟为多台虚拟设备,实现脱机工作的方式。
4)异步性:异步性(Asynchronism)是指系统中的多个程序以不可预知的速度向前推进。由于系统中的处理器资源往往是稀缺的,因此程序不可能一气呵成,而是以走走停停的方式运行的。