1.1 操作系统的目标和作用
一、 OS的目标
(一)、方便性:用户无需了解底层硬件,无需用0、1机器语言操作。
(二)、有效性:CPU、I/O、存储等的管理专门、合理地被组织管理起来,提高资源的利用率。
(三)、可扩充性:扩充应用软件;适应硬件和体系结构发展,扩充底层管理功能模块等。
(四)、开放性:网络环境,遵循开放互联标准。
二、 OS的作用
(一)、作为用户与计算机硬件系统之间的接口;
(二)、OS作为计算机系统资源的管理者;
(三)、OS用作扩充机器
1.2 操作系统的发展过程
一、“多道”程序的优缺点:
(一)、优点
1.资源利用率高:CPU和内存利用率较高;
2.系统吞吐量大:单位时间内完成的工作总量大;
(二)、缺点
1.平均周转时间长:短作业的周转时间显著增长;
2.无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;
二、多道批处理系统的特征:
(一)、多道性
(二)、无序性:作业入内存由算法决定,不按提交顺序。入内存后顺序执行。
(三)、调度性:包括作业调度、进程调度
三、多道批处理系统解决的五大问题:
(一)、处理机管理问题
(二)、内存管理问题
(三)、I/O设备管理问题
(四)、文件管理问题
(五)、作业管理问题
*操作系统定义:
一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度(多道),方便用户使用的程序的集合。
五、分时系统的特征:
(一)、多路性:多个用户同时使用一台计算机,共享CPU和其他资源,充分利用系统资源。
①、宏观上:是多个人同时使用一个CPU
②、微观上:多个人在不同时刻轮流使用CPU
(二)、独立性:用户感觉不到计算机为其他人服务,各用户独立操作,互不干扰。
(三)、及时性:通过时间片技术和轮转调度算法保证及时响应。
(四)、交互性:系统及时响应用户的请求,显著提高调试和修改程序的效率:缩短了周转时间。
1.3 操作系统的基本特性
一、基本特征:
并发、共享、虚拟、异步
二、并发concurrence:(并发和进程是现代OS最重要的基本概念)
并行性:两个或多个事件在同一时刻发生(在硬件技术支持的条件下,CPU 和 I/O操作能实现并行,这也是多道程序设计能够提高效率的原因之一。)
并发性:两个或多个事件在同一时段发生(单处理器系统中,多道程序在宏观上看似并行,实际在微观上是多道程序占用cpu交替执行的,并不是真正的“并行”。多处理器系统才有CPU并行。)
三、共享sharing
系统中的资源可供内存中多个并发执行的进程(线程)共同使用。主要有两种共享方式:
互斥共享方式:
对临界资源(如打印机)采用该方式,资源分配给某进程后未释放前,不能被其他进程所用。
同时访问方式:
对允许“同时”访问的资源(如磁盘)采用该方式,但“同时”仍然是“宏观并行微观串行”的,不是真正的同时
*临界资源(独占资源):
一段时间内只允许一个进程访问的资源。
四、虚拟virtual
通过某种技术把一个物理实体变为若干个逻辑对应物(用户感觉上的东西),两种实现方式:
时分复用:
一个物品被多人分时使用,在一段时间内就表现为每个人都有一个该物品可用,1虚拟为n。
空分复用:
一个物品划分为多个部分,多个人每人都有一部分可用,主观上看也是1虚拟成n。
五、异步性asynchronism
指进程的执行顺序和执行时间的不确定性
进程的运行速度不可预知:
由于资源等因素限制,进程通常不能一气呵成地执行完,多个进程并发执行是“时走时停”的,不可预知每个进程的运行推进快慢;
允许异步,但结果应正确:
只要环境相同,无论快慢,结果应该相同(可再现性),这需要进程互斥和同步手段来保证。
1.4操作系统的主要功能
一、主要功能:
(一)、处理机管理功能(作业管理)
(二)、存储器管理功能
(三)、设备管理功能
(四)、文件管理功能
(五)、用户接口
二、处理机管理功能
(一)、进程控制:
为作业创建进程、撤销已结束的进程,控制进程在运行过程中的状态转换。以及线程的创建撤销等;(可理解为对单个进程基本信息进行管理)
(二)、进程同步:
为多个进程运行进行协调;(包括互斥和同步)
(三)、进程通信:
用来实现在相互合作进程间的信息交换;(直接通信和网络通信)
(四)、调度:
作业调度(入内存)和进程调度。(分配CPU)
三、 存储器管理功能
(一)、内存分配:为每道程序分配内存空间(包产到户)
1、具体分配涉及许多细节:
①、分配方式:动态、静态
②、分配机制需要的数据结构、分配算法、回收内存功能
(二)、内存保护:确保每道用户程序都只在自己的内存空间中运行
需要一个硬件——界限寄存器,存放正在执行进程的内存上下界,每条指令的访问地址都要进行越界检查,一般用硬件实现检查
(三)、地址映射(变换):进程的逻辑地址到内存物理地址的映射。
1、程序编译形成的目标程序地址都是从0开始,是逻辑地址
2、真正调入内存某个空间存放的地址是物理地址
(四)、内存扩充:用虚拟存储技术解决内存容量不足的问题;
1、请求调入功能
2、页面置换功能
四、设备管理功能
(一)、缓冲管理:匹配CPU和外设的速度,提高两者的利用率和并行操作程度;
(二)、设备分配:按某种设备分配策略,为之分配所需的设备;(应设置设备控制表等数据结构记录设备及其控制器的标识符和状态;不同的设备,分配方式不同)
(三)、设备处理:设备处理程序即驱动程序,及时X响应设备控制器请求,实现CPU和设备控制器之间的通信。
五、文件管理功能
(一)、存储空间的管理:
1、分配外存空间,提高外存的利用率,提高文件系统的运行速度;
2、需要相应的数据结构,记录文件存储空间的使用情况;
3、要有对存储空间分配和回收的功能
(二)、目录管理:
1、为文件建立目录项,并有效组织,实现方便的按名存取;
2、提供快速的目录查询手段,提高文件检索速度;
3、还需实现文件共享。
(三)、文件的读写管理和保护:
1、读写操作与有效的存取控制功能。
六、用户接口
(一)、命令接口
1、用户可通过键盘终端发出命令以控制作业的运行。
①、联机用户接口:由一组磁盘操作命令和命令解释程序组成。
②、脱机用户接口:由一组作业控制语言组成,如批处理文件。
(二)、程序接口
1、用户程序在执行中访问系统资源而设置,由一组系统调用组成。
2、早期汇编语言才能使用,后高级语言及C语言中都给出了系统调用对应的库函数。
(三)、图形接口
1.5操作系统的结构
无结构OS、模块化OS结构、分层式OS结构、微内核OS结构