一、现代OS的主要目标:
最重要的目标(1和2)
1、有效性(提高系统资源利用率;提高系统的吞吐量)
2、方便性
3、可扩充性
4、开放性
二、操作系统的作用
1、从一般用户的观点,OS可看做是用户与计算机硬件系统之间的接口:三种使用计算机方式(命令方式;系统调用方式;图形、窗口方式)
2、从资源管理的观点看,OS可视为计算机系统资源的管理者(处理机管理,用于分配和控制处理机;存储器管理,主要负责内存的分配和回收;I/O设备管理,负责I/O设备的分配与操作;文件管理,负责文件的存取、共享和保护)
3、OS实现了对计算机资源的抽象,因为对如一个完全无软件的计算机系统(裸机),它向用户提供的是实际硬件接口(物理接口),用户必须对物理接口的实现细节有充分的了解,并利用机器指令进行编程,因此该物理机器必定是难以使用的。比如在裸机上铺设的I/O管理软件隐藏了对I/O设备操作的具体细节,向上提供了一组抽象的I/O设备;比如对文件按的管理软件。由此,OS是铺设在计算机硬件上的多层系统软件,它们不仅增强了系统的功能,而且还隐藏了对硬件操作的细节,由它们实现了对计算机硬件操作的多个层次的抽象。
三、推动OS发展的主要动力
1、不断提高计算机资源的利用率
2、方便用户
3、器件的不断更新换代
4、计算机体系结构的不断发展
四、分时系统
定义:在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
分时系统实现中的关键问题:
1、及时接收(多路卡、缓冲区暂存用户键入的命令(或数据))
2、及时处理(时间片来解决)
分时系统的特征
1、多路性—一台主机同时联接多台联机终端
2、独立性——各个终端互不干扰
3、及时性
4、交互性
五、实时系统
定义:指系统能及时响应外部时间的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行
应用需求:实时控制;实时信息处理
硬实时任务:必须满足任务对截至时间的要求,否则可能出现难以预测的结果。航空导航应用系统中的任务
软实时任务:超过截至时间,影响不大。媒体播放系统中的任务
分时系统与实时系统的区别:
交互性:实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统中某些特定的专用服务程序;分时系统能向终端用户提供数据处理和资源共享等服务
可靠性:实时系统要求系统具有高度的可靠性
六、操作系统的基本特性
并发性:
1、并行与并发:并行性,指两个或多个事件在同一时刻发生。并发性,在一段时间内宏观上有多个程序在同时运行(多通道处理机系统),单处理机系统中(分时交替进行)
、引入进程:进程是指在系统中能独立运行并作为资源分配的基本单位,由一组机器指令、数据和堆栈等组成,是一个独立运行的活动实体。
、引入线程:一个进程包含若干个线程,线程作为独立运行和独立调度的基本单位,基本不拥有系统资源
共享性
定义:指系统中的资源可供内存中多个并发执行的进程(线程)共同使用,相应地,把这种资源共同使用称为资源共享,或称为资源复用。
1、互斥共享
2、同时访问方式三、虚拟技术
操作系统中的所谓虚拟,是指通过某种技术把一个物理实体变为若干个裸机上的对应物。
1、时分复用技术,利用处理机的空闲时间(包括虚拟处理机技术和虚拟设备技术)
2、空分复用技术,利用存储器的空闲时间(包括虚拟磁盘技术(磁盘分区)和虚拟存储器技术(本质:内存分时复用))
异步性
由于资源等因素的限制,使进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行,也即进程是以人们不可预知的速度向前推进的。
七、操作系统的主要功能
1、进程控制——创建、分配资源、撤销
进程同步——进程互斥方式、进程同步方式。实现进程同步的最常用的机制是信号量机制
进程通信——进程之间的通信
调度——作业调度(分配资源,首先是分配内存,建立进程)、进程调度(分配处理机,设置运行现场,使进程投入执行)
2、存储器管理功能:
内存分配:任务——分配内存空间;提高存储器利用率;允许正在运行的程序申请附加的内存空间
分配方式——静态分配方式(每个作业的内存空间在作业装入时确定,后续不许增加);动态分配方式(内存空 间在作业装入时装入,但允许在运行过程中继续申请新的附加内存空间)
内存分配机制的结构和功能——内存分配数据结构;内存分配功能;内存回收功能
内存保护:任务——确保每道用户程序都只在自己的内存空间运行,彼此互不干扰;绝不允许用户程序访问操作系统的程序和数据;也不允许程序转移到非共享的其他用户程序中去执行
地址映射:逻辑地址——物理地址
内存扩充:借助于虚拟存储技术,从逻辑上去扩充内存容量。
3、设备管理功能(管理外围设备)
缓冲管理——CPU—I/O设备的速度匹配问题
设备分配——根据用户进程的I/O请求,系统的现有资源情况以及按照某种设备的分配策略,为之分配其所需的设备
设备处理——设备处理程序(设备驱动程序),用于实现CPU和设备控制器之间的通信。
4、文件管理功能
文件存储空间的管理
目录管理
文件的读\写管理和保护
5、操作系统与用户之间的接口
用户接口:联机用户接口、脱机用户接口、图形用户接口
程序接口:为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序。
八、OS结构设计
传统的操作系统结构:无结构操作系统、模块化结构操作系统、分层式结构OS
客户/服务器模式
组成:客户机、服务器、网络系统
交互:客户发送请求消息——服务器接受消息——服务器回送消息——客户机接收消息
优点:数据的分布处理和存储;便于集中管理;灵活性和可扩充性;易于改变应用软件
不足:存在不可靠性和瓶颈问题
微内核OS结构
基本概念:
足够小的内核——微内核并非一个完整的OS,只是OS的最基本的部分:实现与硬件紧密相关的处理;实现一些较基本的功能;负责客户和服务器之间的通信
基于客户/服务器模式
应用“机制与策略分离”原理
采用面向对象技术
基本功能
进程(线程)管理——进程之间的通信时微内核OS的最基本功能
低级存储器管理
中断和陷入处理
OS优点:提高系统的可扩展性;增强了系统的可靠性(严格测试、API)可移植性;提供了对分布式系统的支持;融入了面向对象的思想
不足:运行效率有所降低