操作系统概观
1.1.1 操作系统的定义和目标
操作系统(Operating System,简称OS)的出现、使用和发展是近四十余年来计算机软件的一个重大进展。尽管操作系统尚未有一个严格的定义,但一般认为:操作系统是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。
1.1.2 操作系统的作用与功能
操作系统是用户与计算机硬件之间的接口。
操作系统为用户提供了虚拟计算机(Virtual Machine)。
操作系统是计算机系统的资源管理者。
1、处理机管理
处理器管理的第一项工作是处理中断事件。硬件只能发现中断事件,捕捉它并产生中断信号,但不能进行处理,配置了操作系统,就能对中断事件进行处理。处理器管理的第二项工作是处理器调度。
对处理器的管理和调度最终归结为对进程和线程的管理和调度,包括:
1)进程控制和管理;
2)进程同步和互斥;
3)进程通信;
4)进程死锁;
5)线程控制和管理;
6)处理器调度,又分高级调度,中级调度和低级调度。
正是由于操作系统对处理器的管理策略不同,其提供的作业处理方式也就不同,
例如,批处理方式、分时处理方式、实时处理方式等等。从而,呈现在用户面前,成
为具有不同处理方式和不同特点的操作系统。
2、存储管理
存储管理的主要功能包括:
1)存储分配。
存储管理将根据用户程序的需要分配给它存储器资源,这是多道程序能并发执行的首要条件。
2)存储共享。
存储管理能让内存储器(又叫主存储器,本书中有时用内存,有时用主存,没有区别)中的多个用户程序实现存储资源的共享,以提高存储器的利用率。
3)地址转换与存储保护。
存储管理负责把用户的逻辑地址转换成物理地址,同时要保证各个用户程序相互隔离起来互不干扰,更不允许用户程序访问操作系统的程序和数据,从而,保护系统和用户程序存放在存储器中的信息不被破坏。
4)存储扩充。
由于受到处理器寻址能力的限制,一台计算机的物理内存容量总是有限的,难以满足用户大型程序的需求,而外存储器容量大且价格便宜。存储管理还应该能从逻辑上来扩充内存储器,把内存和外存混合起来使用,为用户提供一个比内存实际容量大得多的逻辑编程空间,方便用户的编程和使用。
操作系统的这一部分功能与硬件存储器的组织结构和支撑设施密切相关,操作系统设计者应根据硬件情况和用户使用需要,采用各种相应的有效存储资源分配策略和保护措施。
3、设备管理
设备管理应该具有以下功能:
1)提供外围设备的控制与处理;
2)提供缓冲区的管理;
3)提供设备独立性;
4)外围设备的分配和去配;
5)实现共享型外围设备的驱动调度;
6)实现虚拟设备。
4、文件管理
文件管理要完成以下任务:
1)提供文件逻辑组织方法;
2)提供文件物理组织方法;
3)提供文件存取方法;
4)提供文件使用方法;
5)实现文件的目录管理;
6)实现文件的共享和存取控制;
7)实现文件的存储空间管理。
5、网络与通信管理
具有以下管理功能:
1)网上资源管理功能。
计算机网络的主要目的之一是共享资源,网络操作系统应实现网上资源的共享,管理用户应用程序对资源的访问,保证信息资源的安全性和完整性。
2)数据通信管理功能。
计算机联网后,结点之间可以互相传送数据,进行通信,通过通信软件,按照通信协议的规定,完成网络上计算机之间的信息传送。
3)网络管理功能。
包括:故障管理、安全管理、性能管理、记帐管理和配置管理等。
6、用户接口
为了使用户能灵活、方便地使用计算机和系统功能,操作系统还提供了一组友好的使用其功能的手段称用户接口,它包括两大类:程序接口和操作接口。用户通过这些接口能方便地调用操作系统功能,有效地组织作业及其工作和处理流程,并使整个系统能高效地运行。
1.1.3 操作系统的主要特性
1、并发性 2、共享性(sharing) 3、异步性(asynchronism) 4、虚拟性(virtual)
1.1.4 操作系统的发展与分类
1、批处理操作系统 2、分时操作系统 3、实时操作系统 4、微机操作系统 5、并行操作系统
6、网络操作系统 7、分布式操作系统 8、嵌入式操作系统
1.2 操作系统提供的服务和用户接口
共性服务大致有:
1)创建程序:提供各种工具和服务,如编辑程序和调试程序,帮助用户编程并生成高质量的源程序。
2)执行程序:将用户程序和数据装入主存,为其运行做好一切准备工作并启动它执行。
3)数据I/O:程序运行过程中需要I/O 设备上的数据时,可以通过I/O 命令或I/O指令,请求操作系统 的服务。操作系统不允许用户直接控制I/O 设备,而能让用户以简单方式实现I/O 控制和读写数据。
4)信息存取:文件系统让用户按文件名来建立、读写、修改、删除文件,使用方便,安全可靠。
5)通信服务:在许多情况下,一个进程要与另外的进程交换信息,这种通信发生在两种场合,一是在同一台计算机上执行的进程之间通信;二是在被网络连接在一起的不同计算机上执行的进程之间通信。进程通信可以借助共享内存(shared memory)方法实现,也可以使用消息传送(message passing)技术实现。采用前一种方法,操作系统要让两个进程连结到共享存储区;采用后一种方法,操作系统实现消息在进程之间的移动。
6)错误检测和处理:操作系统能捕捉和处理各种硬件或软件造成的差错或异常,并让这些差错或异常造成的影响缩小在最小范围内,必要时及时报告给操作员或用户。
操作系统可以通过程序接口和操作接口两种方式把它的服务和功能提供给用户;