导图社区 操作系统思维导图第一章脑图操作系统知识点
操作系统思维导图第一章脑图操作系统知识点导图,归纳了操作系统的目标和作用、发展过程、基本特性、主要功能和结构设计相关内容,知识全面详细,干货满满,赶紧收藏!
编辑于2021-06-26 14:21:55操作系统引论
1.1 操作系统的目标和作用
操作系统基本概念
操作系统是计算机系统中的⼀个系统软件,是⼀些程序模块的集合——它 们能以尽量有效、合理的⽅式组织和管理计算机的软硬件资源,合理的组 织计算机的⼯作流程,控制程序的执⾏并向⽤户提供各种服务功能,使得 ⽤户能够灵活、⽅便、有效的使⽤计算机,使整个计算机系统能⾼效地运 ⾏。
(系统观点) ▪控制程序 – 控制⽤户程序的执⾏和I/O设备的操作 ▪资源分配器 – 管理和分配资源,解决资源冲突 ▪内核 – ⼀直运⾏在计算机上的程序 (其他程序则为应⽤程序)
引入操作系统的目标
方便性(⽤户的观点)
提供良好的、⼀致的⽤户接⼝,弥补硬件系统的类型和数量差别
有效性(系统管理⼈员的观点)
含义
提高系统资源利用率
提高系统的吞吐量
可扩充性(开放的观点)
适应硬件、体系结构发展。采⽤微内核结构的OS具有良好的可扩展性
开放性
不同⼚家的计算机及设备要求具有统⼀的开放的环境,故⾸先要求操作系统的开放性
操作系统的作用
OS作为用户与计算机硬件系统之间的接口
方式有: ▪命令⾏ ▪系统调⽤:程序接⼝ ▪图形、窗⼝⽅式
OS作为计算机系统资源的管理者
▪硬件资源 ▪软件资源 CPU、Memory、IO Devices、File System…
OS实现了对计算机资源的抽象
在裸机上添加: • 设备管理 • ⽂件管理 • 存储管理(针对内存和外存) • 处理机管理(针对CPU);
屏蔽硬件细节,将物理设备抽象成数据结构和操作命令
推动OS发展的主要动⼒
不断提高计算机资源利用率
计算机发展的初期,计算机系统昂贵,⽤作集中计算
方便用户
⽤户上机、调试程序,分散计算时的事务处理和⾮专业⽤户(商业和办公、家庭)
器件的不断更新换代
CPU的位宽度(指令和数据)、快速外存
计算机体系结构的不断发展
不断提出新的应用需求
三种基本操作系统
批处理系统
分时系统
实时系统
1.2 操作系统的发展过程
⽆操作系统的计算机系统
人工操作方式
主要矛盾
计算机处理能⼒的提⾼,⼿⼯操作的低效率(造成浪费);
⽤户独占全机的所有资源;
提高效率的途径
专⻔的操作员,批处理
脱机输入/输出(Off-Line I/O)方式
减缓CPU和IO设备速度⽭盾,提⾼资源利⽤率

批处理系统( 60 年代)
单道批处理系统
利⽤磁带把若⼲个作业分类编成作业执⾏序列,每个批作业由⼀个专⻔的监督程序(Monitor)⾃动依次处理。内存中始终只保留1道作业
批处理中的作业的组成
⽤户程序
数据
作业说明书(作业控制语⾔)
批
供⼀次加载的磁带或磁盘,通常由若⼲个作业组装成,在处理中使⽤⼀组相同的系统软件(系统带),不需要任何⽤户交互,把它提交给系统,系统会选择⼀个最合适的时间来执⾏它
单道批处理系统的特征
⾃动性。
顺序性。
单道性。
单道批处理系统的主要缺点
系统中资源得不到充分的利用:内存中仅有⼀道作业, 它⽆法充分利⽤系统中的所有资源,致使系统性能较差。
单道批处理的主要问题
CPU和I/O设备使⽤忙闲不均(取决于当前作业的特性)
对计算为主的作业,外设空闲;
对 I/O 为主的作业, CPU 空闲;
多道批处理系统
为实现“多道批处理” ⽤户所提交的作业都先存放在 外存上并排成⼀个队列,称为“后备队列”
由作业调度程序按⼀定的算法从后备队列中选择若⼲个 作业调⼊内存,使它们共享CPU和系统中的各种资源
多道批处理的运⾏特征
多道:内存中同时存放⼏个作业;
宏观上并⾏运⾏:都处于运⾏状态,但都未运⾏完;
微观上串⾏运⾏:各作业交替使⽤ CPU
多道批处理系统的优缺点
优点
资源利⽤率⾼。
系统吞吐量⼤。 系统吞吐量是指从作业进⼊系统开始所完成的总量。
缺点
平均周转时间⻓。
⽆交互能⼒。
多道批处理系统需要解决的问题
处理机管理问题。
内存管理问题。
I/O 设备管理问题。
⽂件管理问题。
作业管理问题。
单道和多道批处理的⽐较

分时系统 ( 60 年代)
用户的需求
⼈ — 机交互。
共享主机。
便于⽤户上机。
分时系统实现中的关键问题
及时接收。
及时处理。
分时系统的类型
单道分时
前台后台分时
多道分时
分时系统的特征
多路性 :多个⽤户同时⼯作。
共享系统资源,提⾼了资源利⽤率。节省维护开⽀,可靠性⾼:哑 终端 ——⾄今仍在使⽤。促进了计算机的普遍应⽤,提⾼资源利⽤ 率:远地⽤户通过终端(较便宜)联机使⽤。
独⽴性 :各⽤户独⽴操作,互不⼲扰。
交互性
系统能及时对⽤户的操作进⾏响应,显著提⾼调试和修改程序 的效率:缩短了周转时间。
分时系统的主要问题
及时接受输⼊:多个 I/O 端⼝,设⽴多路缓冲区
及时响应:
提⾼对换速度(快速外存)、
限制⽤户数⽬、
缩短时间⽚(可能引起对换次数增多,开销增⼤,程序总运⾏时间增⼤)
减少对换信息量:
可重⼊代码 (re-entrant code)
请求⻚式存储管理:只对换部分程序
实时系统( 70 年代)
主要特征
实时性
可靠性
应用需求
实时控制。
实时信息处理。
实时任务的类型
硬实时任务 (hard real-time task) 。系统必须满⾜任务对截⽌时间的要求,否则可能出现难以预测的结果。
软实时任务 (Soft real-time task) 。它也联系着⼀个截⽌时间,但并不严格,若偶尔错过了任务的截⽌时间, 对系统产⽣的影响也不会太⼤。
实时系统与批处理系统和分时系统的区别
专用系统
许多实时系统是专⽤系统,⽽批处理与分时系统通常是通⽤系统。
实时控制
实时系统⽤于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。
高可靠性
实时系统⽤于控制重要过程,要求⾼度可靠,具有较⾼冗余。如双机系统。
可与通⽤系统结合成通⽤实时系统
实时处理前台作业,批处理为后台作业。
微机操作系统( 70-90 年代)
单⽤户单任务操作系统
单⽤户多任务操作系统
多⽤户多任务操作系统
1.3 操作系统的基本特性
操作系统的特征
并发 (concurrence)
并发是指多个事件在同⼀时间段内发⽣。操作系统是⼀个并发系统,各进程间的并发,系统与应⽤间的并发。操作系统要完成这些并发过程的管理。 并⾏(parallel)是指在同⼀时刻发⽣。
程序的静态实体是可执⾏⽂件,⽽动态实体是进程(或称任务),并发指的是进程。
共享 (sharing)
两种资源共享⽅式
互斥共享:资源分配后到释放前,不能被其他进程所⽤。
同时访问(如可重⼊代码,磁盘⽂件)
并发和共享是操作系统的两个最基本的特征,它们⼜是互为存在的条件。
虚拟 (virtual)
“虚拟”,是指通过某种技术把⼀个物理实体变为若⼲个逻辑上的对应物。物理实体(前者)是实的, 即实际存在的;⽽后者是虚的,是⽤户感觉上的东⻄。
⼀个物理实体映射为若⼲个对应的逻辑实体——时分或空分复⽤。虚拟是操作系统管理系统资源的重要⼿段,可提⾼资源利⽤率。
CPU ——每个⽤户(进程)的 虚处理机
存储器 —— 每个进程都占有的地址空间(指令+数据+堆栈)
显示设备 —— 多窗⼝或虚拟终端 (virtual terminal)
异步性 (asynchronism)
也称不确定性,指进程的执⾏顺序和执⾏时间的不确定性
⽆论快慢,应该结果相同——通过进程互斥和同步⼿段来保证
1.4 操作系统的主要功能
处理机管理功能
进程控制
创建、撤销、挂起、改变运⾏优先级等——主动改变进程的状态
进程控制的主要功能
为作业创建进程、撤消已结束的进程,以及控制进程在运⾏过程中的状态转换。
进程同步
协调并发进程之间的推进步骤,以协调资源共享;—— 进程互斥⽅式和同步⽅式
进程同步的主要任务
为多个进程(含线程)的运⾏进⾏协调。 有两种协调⽅式
进程互斥⽅式
这是指诸进程(线程)在对临界资源进⾏访问 时, 应采⽤互斥⽅式;
进程同步⽅式
指在相互合作去完成共同任务的诸进程(线程) 间,由同步机构对它们的执⾏次序加以协调
进程通信
⼀组相互合作的进程去完成⼀个共同的任务时,它们之间需要交换信息
当相互合作的进程处于同⼀计算机系统时,通常在它们之间采⽤直接通信⽅式,即由源进程利⽤发送命令直接将消息挂到⽬标进程的消息队列上,⽬标进程利⽤接收命令从其消息队列中取出消息
调度
作业和进程的运⾏切换,以充分利⽤处理机资源和提⾼系统性能
在后备队列上等待的每个作业,通常都要经过调度才能执⾏。在传统的操作系统中,包括作业调度和进程调度两步
作业调度的任务:是从后备队列中按照⼀定的算法,选择出 若⼲个作业,为它们分配其必需的资源(⾸先是分配内存)。
进程调度的任务:是从进程的就绪队列中选出⼀新进程,把 处理机分配给它,并为它设置运⾏现场, 使进程投⼊执⾏
存储管理功能
内存分配
静态分配
动态分配
内存分配的主要任务
为多道程序分配内存空间
提⾼存储器的利⽤率
允许正在运行的程序申请附加的内存空间
内存保护
主要任务
确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰
决不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其他用户程序中去执行
地址映射
内存扩充
设备管理功能
主要任务
完成 I/O 请求,分配 I/O 设备,完成 I/O 操作
提⾼ CPU I/O 设备利⽤率
缓冲管理
单缓冲
双缓冲
缓冲池
设备分配
主要任务
完成⽤户进程提出的I/O请求; 为⽤户进程分配其所需的I/O设备;提⾼CPU和I/O设备的利⽤率;提⾼I/O速度;⽅便⽤户使⽤I/O设备
设备处理
设备处理程序⼜称为设备驱动程序
基本任务是⽤于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理
文件管理功能
文件存储空间的管理
主要任务是为每个⽂件分配必要的外存空间
目录管理
文件的读/写管理和保护
⽂件保护
① 防⽌未经核准的⽤户存取⽂件
② 防⽌冒名顶替存取⽂件
③ 防⽌以不正确的⽅式使⽤⽂件
操作系统与⽤户之间的接⼝
用户接口
联机用户接口
脱机用户接口
图形用户接口
程序接口
现代操作系统的新功能
系统安全
认证、密码、访问控制、反病毒技术
网络的功能和服务
⽹络通信、资源管理、应⽤互操作
支持多媒体
1.5 OS结构设计
传统操作系统结构
第⼀代:⽆结构:⼀组过程的集合
第⼆代: 模块式结构
模块化OS的优点
提⾼了 OS 设计的正确性、 可理解性和可维护性。
增强了 OS 的可适应性。
加速了 OS 的开发过程。
模块化OS的缺点
对模块的划分及对接⼝的规定并不精确, ⽽且还可能存在错误,很难保证所设计出的模块会完全正确, 使在把这些模块装配成OS 时发⽣困难;
从功能观点来划分模块时,未能将共享资源和独占资源加以区别; 由于管理上的差异,⼜会使模块间存在着复杂的依赖关系使OS 结构变得不清晰。
第三代: 层次式结构
基本思想
OS被分成若⼲层,每层建⽴在较低层之上,最低层 (0)层是硬件,最⾼层是⽤户⼝。
每层由数据结构和⼀组可为上层所调⽤的⼦程序集合所组成
每层只能利⽤ 较低层的功能和服务
优点
简化了调试和系统验证
分层设计的困难
对层的划分及定义较困难
与其它⽅法相⽐效率较差
20 世纪 90 年代中期: 微内核结构
其它操作系统结构
客户/服务器模式
客户机:⽹络上独⽴的计算机,服务的请求者
服务器:⽹络上独⽴的计算机,通常功能强⼤,配置有⽹络⽂件系统或者DBMS 系统,能为⽹络上多个⽤户提供多种服务
客户服务器的特点
优点
数据分布处理和存储,数据本地处理,服务器存储,提⾼可靠性和性能
集中管理,重要数据存放服务器,集中管理,提⾼安全和可靠
灵活性和可扩充性,客户机和服务器数量不收限制
软件管理⽅便,客户机软件易维护和升级
缺点
服务器和⽹络为瓶颈,重负载下会出现极⼤延迟
面向对象的程序设计
OOP的概念
对象
对象类
继承
优点
通过“重用”提高产品质量和生产率
使系统具有更好的易修改性和易扩展性
更易于保证系统的“正确性”和“可靠性”
微内核OS结构
基本思想
将操作系统中所有⾮基本部分从内核中移⾛,并将他们当作系统级程序和⽤户级程序来实现
提供客户程序和运⾏在⽤户空间的各种服务之间的通信功能
微内核
指精⼼设计、能实现现代OS核⼼功能的⼩型内核;微内核并⾮⼀个完整的OS,⽽是为构建通⽤OS提供了⼀个重要基础。---- ⼀个OS系统框架,各模块执⾏的平台
采取的两种技术
客户 —— 服务器模式 (C/S Model)
⾯向对象的程序设计技术 (OOP)
客户/服务器模式
OS划分为两部分
⽤于提供各种服务的⼀组 服务器 进程 ,服务器进程都运⾏在⽤户态
另⼀部分是 OS 内核 ,⽤来处理客户和服务器之间的通信 %2c 运⾏于核心态
优点
提⾼了系统的灵活性、可扩充性、可靠性

OOP技术给OS设计带来的优点
利⽤“重构”提⾼质量和⽣产率
系统有更好的易修改性和扩展性
保证系统的正确性和可靠性
基本功能
进程管理
存储器管理。
进程通信管理。
I/O设备管理
优点
提⾼系统可扩展性
增强可靠性
可移植性强
提供对分布式系统的⽀持
融⼊⾯向对象技术
主题