操作系统学习笔记(一)[^1]
第一章 操作系统引论
- 操作系统(Operating System ,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。OS是现代计算机系统中最基本和最重要的系统软件,而其他的诸如编译程序、数据库管理系统等系统软件,以及大量的应用软件,都直接依赖于操作系统的支持,取得它所提供的服务。
1.1 操作系统的目标和作用
- 操作系统的目标与环境有关
查询系统中的OS:良好的人—机交互性
工业控制、武器控制、多媒体环境下:实时性
微机上配置的OS:方便性
- 操作系统在计算机系统中的作用,可从用户、资源管理、资源抽象等多个不同的角度来分析
1.1.1 操作系统的目标
在计算机上配置操作系统,其主要目标是:方便性、有效性、可扩充性、开放性
1、方便性:未配置OS的计算机系统极难使用。用户使用裸机运行程序时,必须使用机器语言书写程序。OS可使用将用户采用高级语言书写的程序翻译成机器代码,极大地翻遍了用户的操作。
2、有效性:
- 第一层含义:提高系统资源的利用率(是推动OS发展最主要的动力)
- 第二层含义:提高系统的吞吐量(OS可以通过合理地组织计算机的工作流程,加速系统的运行,缩短程序的运行周期)
3、可扩充性:可扩充性的好坏与OS的结构有着十分紧密的联系
早期 发展 进而 近年来 无结构 模块化结构 层次化结构 微内核结构 4、开放性:指系统能够遵循世界标准规范,遵循开放系统互联OSI国际标准。
1.1.2 操作系统的作用
1、OS作为用户与计算机硬件系统之间的接口
- 含义:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统,用户可通过命令方式、系统调用方式、图标——窗口方式来实现与操作系统的通信,并取得他的服务。
2、OS作为计算机系统资源的管理者
- 在一个计算机系统中,通常含有多种硬件和软件资源,可归纳为四类:处理机、存储器、I/O设备、文件(数据和程序)
处理机管理:用于分配和控制处理机
存储器管理:负责内存的分配与回收
I/O设备管理:负责I/O设备的分配(回收)与操纵
文件管理:实现对文件的存取、共享、保护
- 需要进一步说明的是,当多个用户使用同一台计算机系统时,用户对系统中共享资源的需求(包括数量和时间)可能发生冲突,所以,操作系统必须对使用资源的请求进行授权,以协调用户的使用。
3、OS实现了对计算机资源的抽象
- 对于裸机,它向用户提供的仅仅是硬件接口,导致该物理机器难以广泛使用。
- 在裸机上铺设的I/O软件隐藏了I/O设备的具体细节,向上提供了一组抽象的I/O设备。
通常情况下:覆盖了上述软件的机器称为扩充机器或虚机器(虚拟机)
- 同理,为了方便使用,可以在硬件上一层层的将软件覆盖下去。
- OS是铺设在计算机硬件上的多层软件的集合
- 它们隐藏了对硬件操作的具体细节,实现了对计算机硬件操作的多个层次的抽象模型
1.1.3、推动操作系统发展的主要动力(了解)
1、不断提高计算机资源利用率
- OS最初发展的推动力
2、方便用户
- 继提高资源利用率之后推动OS发展的主要因素
3、器件的不断更新换代
4、计算机体系结构的不断发展
5、不断提出新的应用需求
1.2 操作系统的发展过程(了解)
| 20世纪50年代中期 | 60年代中期 | 20世纪70到90年代 | 导致 | 相继开发出 |
|---|---|---|---|---|
| 第一个简单的批处理OS | 多道程序批处理系统、分时系统 | VLSI(超大规模集成电路)与计算机体系结构大发展 | 微型机、多处理机、计算机网络、 | 微机OS、多处理机OS、网络OS |
1.2.1 未配置操作系统的计算机系统
1、人工操作方式
- 早期操作方式:人为将事先已穿孔的纸带(或卡片)装入纸带输入机(或卡片输入机),在启动它们将纸带(或卡片)上的程序和数据输入计算机,在启动计算机运行;仅当计算机运行完毕并取走计算结果后,才允许下一个用户上机。
- 缺点:
1、用户独占全机
2、CPU等待人工操作:利用率低下
2、脱机输入/输出(Off-Line I/O)方式
- 该技术:事先将纸带装入纸带输入机,在一台外围机(相当于一台低配的计算机)的控制下,将数据输入到磁带上。需要时即可高速的调入内存;输出亦然。
- 脱离主机的情况下进行输入/输出——脱机输入/输出方试
- 在主机的直接控制下输入/输出时——联机输入/输出方式
该技术主要优点为:
1、减少了CPU的空闲时间(提高了资源利用率)
2、提高了I/O速度(进一步减少了CPU的空闲时间)
1.2.2 单道批处理系统
1.单道批处理系统
-
系统对作业是成批处理的,但是内存里始终只保持一道作业,所以称为单道批处理系统。
-
批处理系统旨在提高系统资源利用率和系统吞吐量,但是单道批系统仍然不能充分利用系统资源。
2、单道批处理系统的缺点
主要缺点:系统中资源没法充分利用
原因:该程序在运行中发出I/O请求后,CPU就在等待状态,加上I/O设备的低速性
1.2.3 多道批处理系统
1、多道程序设计的基本概念
- 创建后备队列,作业调度按一定的算法,多道程序交替运行,保持CPU处于忙碌状态。
2、多道批处理系统的优缺点
- 优点:
1、资源利用率高(在内存中存入多道程序,可以提高内存利用率,还可以提高I/O设备利用率)
2、系统吞吐量大(CPU和其他资源处于忙碌状态,系统开销小)
- 缺点:
1、平均周转时间长
2、无交互能力
3、多道批处理系统需要解决的问题
1、处理机争用问题
2、内存分配和保护问题
3、I/O设备保护问题
4、文件的组织和管理问题
5、作业管理问题
6、用户与系统的接口问题
- 针对上述问题,应在计算系系统中添加一组软件来处理,这样一组软件便构成了操作系统
- 操作系统的定义:操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合
1.2.4 分时系统
1、分时系统的引入
- 推动分时系统形成和发展的主要动力:为了满足用户对人——机交互的需求(具体需求表现在以下几个方面)
- 人—— 机交互
- 共享主机
- 分时系统:在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统(该系统允许多个用户通过自己的终端以交互方式使用计算机,共享主机中的资源)
2、分时系统现实中的关键问题
1、及时接收:及时接收多个用户的命令和数据,需在系统中配置一个多路卡
- 多路卡的作用:实现分时多路复用
2、及时处理
- 作业直接存入内存
- 采用转轮运行方式
3、分时系统的特征
- 多路性
- 独立性
- 及时性
- 交互性
1.2.5 实时系统
- 指系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
1、实时系统的类型
1、工业(武器)控制系统
2、信息查询系统
3、多媒体系统
4、嵌入式系统
2、实时任务的类型
- 周期性实时任务(周期循环执行)
- 非周期性实时任务(有截止时间)
- 硬实时任务:系统必须满足对截止时间的要求
- 软实时任务:有截止时间,但并不严格
3、实时系统与分时系统的比较
1、多路性
2、独立性
3、及时性
4、交互性
5、可靠性
1.2.6 微机操作系统的发展
- 配置在微型机上的操作系统称为微机操作系统
1、单用户单任务操作系统:只允许一个用户上机,且只允许用户程序作为一个任务运行
2、单用户多任务操作系统:只允许一个用户上机,但允许用户把程序分为若干个任务并发执行
3、多用户多任务操作系统:多个用户通过不同终端,共享主机系统中的资源,每个用户程序又可进一步分为几个任务并发执行
1.3 操作系统的基本特性
- 并发、共享、虚拟、异步
1.3.1 并发
1、并行与并发
-
并行性:同时运行
-
并发性:同一时间段内交替运行
2、引入进程
- 进程:在系统中内独立运行并作为资源分配的基本单位,它是有一组机器指令、数据和堆栈等组成,能独立运行的活动实体
1.3.2 共享
OS环境下的资源共享/资源复用:系统中的资源可供内存中多个并发执行的进程共同使用
1、互斥共享方式
- 临界资源/独占资源:一段时间内只允许一个进程访问的资源
2、同时访问方式
- OS两个最基本的特征:并发、共享
1.3.3 虚拟
1、时分复用技术
1、虚拟处理机技术:引入进程,使多个进程并发执行
2、虚拟设备技术:利用某设备为某用户服务的空闲时间,转去为其他用户服务,提高资源利用率
- 空分复用技术:利用存储器的空闲空间分区域存放和运行其他的多道程序,以此提高内存利用率
- 引入虚拟存储技术才可以在逻辑上扩大存储器容量
1.3.4、异步
- 进程是以人们不可预知的速度向前推进的,此即进程的异步性
1.4 操作系统的主要功能
1.4.1 处理机管理功能
1、进程控制:进程的创建、撤销、状态转换
2、进程同步:进程互斥、同步
3、进程通信:合作进程之间的信息传递
4、调度:
- 作业调度
- 进程调度
1.4.2 存储器管理功能
1、内存分配
内存分配主要任务
1、为每道程序分配内存空间,使他们“各得其所”
2、提高存储器的利用率,尽量减少不可用的内存空间(碎片)
3、允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要
OS在实现内存分配时,可采取两种方式:
- 静态分配方式
- 动态分配方式
2、内存保护
1、确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰
2、绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其他用户程序中去执行
3、地址映射
- 即能够将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址
4、内存扩充
- 并非是物理层面的扩充,而是借助虚拟存储技术,从逻辑上扩充其容量
1、请求调入功能
2、置换功能
1.4.3 设备管理功能
1、缓冲管理
2、设备分配
3、设备处理
1.4.4 文件管理功能
1、文件存储空间的管理
2、目录管理
3、文件的读/写管理和保护
1.4.5 操作系统与用户之间的接口
- 用户接口
- 联机用户接口
- 脱机用户接口
- 图形用户接口
- 程序接口:用户程序取得操作系统服务的唯一途径
1.4.6 现代操作系统的新功能
1、系统安全
1、认证技术
2、密码技术
3、访问控制技术
4、反病毒技术
2、网络的功能和服务
1、网络通信
2、资源管理
3、应用互操作
3、支持多媒体
1、接纳控制功能
2、实时调度
3、多媒体文件的存储
1.5 OS结构设计
1.5.1 传统操作系统结构
| 第一代 | 第二代 | 第三代 | 现代结构 |
|---|---|---|---|
| 无结构OS | 模块化结构OS | 分层式结构OS | 微内核结构OS |
- 传统结构的OS:第一代、第二代、第三代
- 现代结构的OS:微内核结构OS
1、无结构操作系统
- 内部复杂且混乱
2、模块化结构OS
1、模块化程序设计技术基本概念
- 基于“分解”和“模块化原则”,按其功能精心的划分为若干个具有一定独立性和大小的模块
2、模块独立性
- 独立性越高,模块间交互越少,系统结构越清晰
衡量模块独立性:
- 内聚性:越高——独立性越强
- 耦合度:越低——独立性越好
即:高内聚低耦合
3、模块接口法的优缺点
- 优点:
1、提高OS设计的正确性、可理解性、可维护性
2、增强OS的可适应性
3、加速OS的开发过程
缺点:
1、在OS设计时,模块间接口规定很难满足设计完成后对模块接口的实际需求
2、无序性,因此“模块—接口法”又被称为“无序模块法”
3、分层式结构OS
1、分层式结构的基本概念
有序分层法,自底向上的铺设中间层
自底向上分层设计(基本原则):每一步设计都建立在可靠的基础上,每一层仅能用其底层提供的服务
2、分层结构的优缺点
- 主要优点:
1、易保证系统的正确性
2、易扩充和易维护性
- 主要缺点:系统效率降低
1.5.2 客户/服务器(C/S)模式简介
1、C/S模式的由来、组成、类型
-
组成:
1、客户机:每台客户机都是一个自主计算机(低配)
2、服务器:一台规模较大的机器(高配)
3、网络系统:连接客户机和服务器
2、客户/服务器之间的交互
1、客户发送请求消息
2、服务器接收消息
3、服务器回送消息
4、客户机接收消息
3、C/S模式的优点
1、数据的分布处理和存储
2、便于集中管理
3、灵活性和可扩充性
4、易于改编应用软件
1.5.3 面向对象的程序设计技术简介
1、面向对象技术的基本概念
- 基于“抽象”和“隐蔽”原则
- 对象:在现实世界中具有相同属性、服从相同规则的一系列事物的抽象。
1、对象
- 在面向对象的技术中,是利用被封装的数据结构(变量)和一组对它进行操作的过程(方法)来表示系统中的的某个对象的
- 对象的变量(数据)也称为属性
2、对象类
- 类:描述一组对象的共同属性和行为
- 类是在对象上的抽象,对象则是类的实例
3、继承
- 根据已有的类来定义一个新的类,新类称为子类,原来的类称为父类
- 继承是子类和父类之间共享变量和方法的机制(该机制规定自类自动继承父类中定义的变量和方法,允许子类增加新的内容)
- 多重继承:一个子类继承于多个父类
2、面向对象技术的优点
- 通过“重用”提高产品质量和生产率
- 是系统具有更好的易修改性和易扩展性
- 更易于保证系统的“正确性”和“可靠性”
1.5.4 微内核OS结构
1、微内核操作系统的基本概念
- 足够小的内核:微内核并非完整的OS,只是将OS中最基本的部分放入其中,通常包含:
- 与硬件处理紧密相关的部分
- 一些较基本的功能
- 客户和服务器之间的通信
基于客户/服务器模式
应用“机制与策略分离”原理
- 机制:实现某一功能的具体执行机构
- 策略:在机制的基础上借助于某些参数和算法来实现该功能的优化
- 采用面向对象技术
2、微内核的基本功能
1、进程(线程)管理
2、低级存储器管理
3、中断和陷入处理
3、微内核OS的优点
1、提高了系统的可扩展性
2、增强了系统的可靠性
3、可移植性强
4、提供了对分布式系统的支持
5、融入了面向对象技术
4、微内核操作系统存在的问题
- 微内核操作系统的运行效率有所降低
(随笔)&spm=1001.2101.3001.5002&articleId=123194487&d=1&t=3&u=7fc720388232492caff88d041321d0ac)
7071

被折叠的 条评论
为什么被折叠?



