操作系统
操作系统的目标
对于不同的应用环境
查询系统——要求满足用户对响应时间的要求
实时控制——应具有实时性,较高的可靠性
对于不同规模的计算机
大中型计算机——价格昂贵,看重操作系统的有效性
微机——价格便宜,看重操作系统的方便性
1.方便性
用户无需了解底层硬件,无需用0、1机器语言操作
2.有效性
(1) 提高系统的资源利用率——通过调配使CPU和I/O设备等资源得到尽可能有效的利用、对内存和外存中存放的数据有序化,节省存储空间
(2) 提高系统的吞吐量——操作系统通过合理组织计算机的工作流程,加速程序的运行,从而提高了系统的吞吐量
3.可扩充性
扩充应用软件、适应硬件和体系结构发展、扩充底层管理功能模块
4.开放性
单机封闭环境转向开放的网络环境,遵循开放系统互连 OSI(Open System Interconnect)国际标准
操作系统的作用
1.用户与计算机硬件系统之间的接口
OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统
(1)命令方式——由OS提供一组命令接口,允许用户通过键盘输入有关命令取得操作系统为用户提供的服务,控制用户程序运行
(2)系统调用方式——通过OS提供的系统调用接口,将请求传给内核,调用相应的内核函数完成处理,将结果返回给应用程序
(3)图形、窗口方式——允许用户通过屏幕上的窗口和图标实现与操作系统的通信,并取得它的服务
2.OS作为计算机系统资源的管理者
OS的主要功能正是针对以下四类资源进行有效管理
(1) 处理机管理——用于分配和控制处理机
(2)存储器管理——负责内存的分配与回收
(3)I/O设备管理——负责I/O设备的分配与操纵
(4) 文件管理——负责文件的存取、共享和保护
3.OS实现了对计算机资源的抽象
对用户隐藏了硬件操作的细节,实现了对计算机硬件操作的多个层次的抽象
裸机上覆盖I/O设备管理软件、文件管理软件、窗口软件等
操作系统的发展过程
(1)人工操作方式——由程序员采用人工操作方式直接使用计算机硬件系统,将事先穿孔(对应于程序和数据)的纸带(或卡片)装入纸带输入机(或卡片输入机),再启动它们将程序和数据输入计算机,启动计算机运行
(2) 脱机输入/输出(Off-Line I/O)方式——程序和数据的输入和输出都是在外围机的控制下完成的,并在脱离主机下进行
(3)单道批处理系统——故通常把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序,在其控制下使这批作业能一个接一个地连续处理
(4)多道批处理系统——用户提交的作业先存放在外存磁盘上并排成一个队列,由作业调度程序按一定的算法从队列中选择若干个作业调入内存,使它们共享CPU和系统中的资源
三大基本操作系统类型:批处理操作系统、实时操作系统、分时操作系统
(5)分时系统——在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,允许多个用户同时通过自己的终端,以交互方式使用计算机,共享资源
(6)实时系统——及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
(7)微机OS——【1】单用户单任务操作系统:CP/M和MS-DOS 【2】单用户多任务操作系统:Windows 【3】多用户多任务操作系统:Solaris OS和Linux OS
(8)多处理机OS
(9)分布式OS
操作系统的基本特性
1.并发性
在一段时间内有多个程序在同时运行,但每一时刻仅能有一道程序被处理——故微观上这些程序是分时地交替执行
并发性——两个或多个事件在同一时间间隔内发生
并行性——两个或多个事件在同一时刻发生
2.共享性
指系统中的资源可供内存中多个并发执行的进程共同使用
并发和共享是操作系统的两个互为存在的最基本特征
3.虚拟性
通过某种技术将一个物理实体变成若干个逻辑上的对应物
4.异步性
多道程序下,允许多个进程并发执行,但进程只有在获得所需的资源后(处理器、I/O设备、内存等)方能执行,所以通常不是一气呵成,而是停停走走
操作系统结构设计
无结构、模块化、分层式、客户/服务器模式、面向对象、微内核