导图社区 操作系统引论
操作系统引论:嵌入式操作系统:在嵌入式系统中的OS是运行在嵌入式智能芯片环境中对整个智能芯片以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件。
编辑于2022-09-28 11:35:03操作系统引论<br>
操作系统的目标和作用
定义
资源管理的观点:操作系统是控制和管理计算机的软,硬资源,合理的组织计算机的工作流程,以及方便用户的程序集合
用户的观点:操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充
地位
操作系统是计算机系统的核心,是最基本的和最重要的系统软件。是唯一的控制和管理整个计算机系统硬件的软件<br>
目标
方便性(用户的观点):提供良好的,一致的用户接口,弥补硬件系统的类型和数量差别,使计算机更容易使用
有效性(系统管理人员的观点):使CPU、I/O设备和存储空间得到有效作用;管理和分配硬件、软件资源,合理地组织计算机的工作流程;提高系统资源的利用率和系统的吞吐量
可扩充性:OS应采用层次化结构,以便于增加新的功能层次和模块,并能修改老的功能层次和模块,如微内核结构
开放性:遵循准规范,方便地实现互连,实现应用的可移植性和互操作性。如Linux
作用
OS作为用户与计算机硬件系统之间的接口
OS作为计算机系统资源的管理者
OS实现了对计算机资源的抽象
推动操作系统发展的主要动力
提高资源利用率
方便用户
器件的不断更新换代
计算机体系结构的不断发展
不断提出新的应用需求
操作系统的发展过程
单道批处理系统
50年代~60年代(晶体管),为实现对作业的连续处理,需求先把一批作业以脱机方式输入到磁带上,并在系统上配上监督程序,在它的控制下,使这批作业能一个接一个地处理
组成:用户程序,数据,作业说明书
特征
自动性:在顺利的情况下,磁带上的一批作业能自动地逐个地依次运行,而无需人工干预
顺序性:磁带上的各道作业是顺序地进入内存,完成顺序与进入内存顺序相同
单道性:内存中只有一道程序运行
CPU和I/O设备使用忙闲不均(取决于当前作业):对计算为主的作业,外设空闲,对I/O为主的作业,CPU空闲<br>
无操作系统的计算机系统
人工操作方式
1946~50年代(电子管),集中计算(计算中心),计算机资源昂贵
工作方式:<br>用户:用户即是程序员,又是操作员,用户是计算机专业人员<br>编程语言:计算机语言<br>输入输出:纸袋或卡片<br>
工作特点<br>用户独占全机:不出现资源被其他用户占有,资源利用率低<br>CPU等待用户:计算前,手工装入纸袋或卡片;计算完成后,手工卸取纸袋或卡片;CPU利用率低<br>
脱机输入/输出
特点:<br>减少了CPU的空闲时间<br>提高了I/O速度<br>
事先将用户程序或者数据的纸袋或卡片转入纸带输入机,在外围机的控制下输入对到磁带上,CPU从磁带上读入数据输出过程正好相反<br>
该阶段存在的问题
主要矛盾:<br>计算机处理能力的提高,手工操作的低效率<br>用户占全机的所有资源<br>
提高效率的途径<br>专门操作员<br>批处理<br>
多道批处理系统
60年代中 ~ 70年代中(集成电路),利用多道批处理提高资源的利用率和系统吞吐量
特征:
多道性
多道程序驻留内存:提高了资源的利用率;<br>程序并发执行:提高了系统的吞吐量;<br>
无序性
作业进入内存先后顺序和完成的先后顺序无对应性
调度性
作业提交给系统需经过两次调度<br>作业调度<br>进程调度<br>
特点
优点
资源利用率高:CPU、I/O设备和内存利用率较高;<br>作业吞吐量大:单位时间内完成的工作总量大<br>
缺点
无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改<br>平均周转时间长:短作业的周转时间显著增长<br>
问题:
处理机管理
如何共享、分配及回收处理机、提高利用率
内存管理
如何分配、互不重叠及干扰
I/O设备管理
如何共享及分配、方便用户、提高利用率
文件管理
如何组织数据和程序、便于使用、保证数据的安全性及一致性
作业管理
如何根据作业类型进行组织
用户与系统的接口问题
分时系统
“分时”的含义:指多个用户分享使用同一台计算机;多个程序分时共享硬件和软件资源
70年代中期至今,用户需要,人机交互,共享主机,指在一台主机上连接多个配有显示器和键盘的终端所形成的系统
人机交互定义:允许多个用户同时通过自己的键盘键入命令,系统也能将全部命令及时接收并处理
关键问题<br>如何提供多个终端<br>如何及时接收并处理并响应<br>解决办法<br>及时接收:系统中配置多路卡<br>及时处理:作业直接进入内存;采用时间片轮转方式运行<br>
原理:把计算机的系统资源(尤其是CPU时间)<br>进行时间上的分割,每个时间段称为一个时间片<br>每个用户依次轮流使用时间片<br>
特征
多路性
系统允许将多台终端同时联接在一台主机上<br>提高了资源利用率,节省维护开支,促进了计算机的普遍应用<br>
独立性
每个用户在各自终端上进行操作,互不干扰。
及时性
用户请求应尽快得到响应
交互性
用户可通过终端与系统进行广泛的人机对话<br>系统能及时对用户的操作进行响应<br>
实现方法
单道分时系统<br>具有“前台”和“后台”的分时系统<br>多道分时系统<br>
子主题
优点
缩短平均周转时间<br>用户方便直接控制自己的作业<br>多用户互相独立互不干扰地同时使用一台计算机<br>
实时系统
主要设计目标:响应时间短;实时时钟管理;连续人机对话;过载防护;高度可靠性和安全性
子主题
用于工业过程控制、军事实时控制、金融等领域,
实时任务的类型
周期性实时任务:外部设备周期性地发出激励信号给计算机,要求按照制定周期循环执行。
非周期性实时任务:联系着截止时间(deadline),开始截止时间(最晚开始时间)和完成截止时间(最晚完成时间)
对截止时间的要求
软实时任务(soft real-time task):截止时间不太严格。如信息查询系统和多媒体系统
硬实时任务(hard real-time task):必须满足截止时间要求。如工业和武器控制系统
实时系统为了追求高可靠性和安全性,可能会降低资源利用率
微机操作系统
通常把兼有分时、实时和批处理三者或其中两者的操作系统,称作通用操作系统。可适用于计算、事务处理等多种领域,能运行在多种硬件平台上,配置在微机上的OS,
分类方法:
位长
8,16,32,64
运行方式
单用户单任务OS
单用户多任务OS
多用户多任务OS
列子
MS-DOS系统
DOS系统是1981年由微软公司为IBM个人电脑开发的,即MS-DOS。是单用户单任务的操作系统。在1985-1995年间占据操作系统的统治地位
出现年月:1981
系统特点:
文件管理方便
外设支持良好
小巧灵活
应用程序众多
windows系统
Windows系统是由微软公司为个人电脑和服务器用户设计的图形界面式的操作系统。Windows98是单用户多任务的操作系统,Windows XP、Windows7及以上均是多用户多任务操作系统。现在90%以上使用Windows系统,成垄断状态。<br>主<br>
出现年月:1985
系统特点
界面图形化
网络支持良好
硬件支持良好
多用户,多任务
出色的多媒体功能
众多的应用程序
UNIX系统
UNIX系统是一种分时的多用户多任务计算机操作系统。1969年在Bell实验室诞生。从此其优越性不可阻挡的占领网络。大部分的重要网络环节都是UNIX构造的
出现年月:1969
系统特点
分时系统
C语言编写
字符用户界面和图形用户界面
支持对称式多处理
支持多种硬件平台
多用户多任务
多线程
高安全性
可连续性
移植性
Linux
Linux是UNIX克隆的操作系统,在源代码上兼容大部分UNIX标准,是一个支持多用户、多进程、多线程、实时性较好且稳定的操作系统
出现年月:1991
系统特点
完全免费
玩全兼容POSIX1.0标准
良好的用户界面
支持多种平台
多用户,多任务
多进城,多线程 ,实时性好
可靠的安全,稳定性能
丰富的网络功能
Mac OS系统
是一套运行于苹果Macintosh系列电脑上的操作系统。Mac OS是首个在商用领域成功的图形用户界面。
出现年月 :1984
系统特点
多平台兼容模式
占用更少的内存
为安全和服务做准备
多种开发工具
嵌入式操作系统
在各种设备、装置或系统中,完成特定功能的软硬件系统
EOS
在嵌入式系统中的OS 是运行在嵌入式智能芯片环境中 对整个智能芯片以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件
特性
系统内核小
系统要精简
实时性高
具有可配置性
网络操作系统
在各种计算机操作系统上,按网络体系结构协议标准开发的软件
目标:是相互通信及资源共享
特性
硬件独立性
接口一致性
资源透明性
系统可靠性
执行并行性
分布式操作系统
基于两种环境:多处理器系统 多计算机系统
是网络操作系统的更高级的形式 保持了网络操作系统的全部功能
特点
分布式
透明性
同一性
全局性
操作系统的基本特性
并发
区分并行并发
并发是指多个事件同一时间段内发生
并行是指同一时刻发生
在单处理器情况下,在多道程序处理时,宏观上并发,微观上交替执行
程序的静态实体是可执行文件,而动态实体是进程(叫任务),并发是指的是进程(线程)
进程
是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的是一个独立运行的活动实体
进城来历:通常的程序是静态实体,他们是不能并发执行,为使多个程序能并发执行,系统必须分别为每个程序建立进程
多个进程之间可以并发执行和交换信息 ,一个进程在运行时需要一定的资源
进程都是OS中可以拥有资源和作为独立运行的基本单位
共享
是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。因资源属性不同,对资源共享的方式也不同
互斥共享 :资源分配后到释放前,不能被其他进程所用
同时访问:同时是宏观上的,在微观上进程可能是交替地对资源进行访问
虚拟
通过某种技术把一个物理实体变为若干个逻辑上的对应物,主要目的在于提高资源的利用率
时分复用技术
虚拟处理机技术:利用多道程序设计技术,为每道程序建立至少一个进程,让多道程序并发执行
虚拟设备技术:将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备
空分复用技术
虚拟存储技术:实现内存的分时复用,在逻辑上扩大存储器容量,提高内存的利用率
异步性
也称不确定性,指进程的执行顺序和执行时间的不确定性
进程的运行速度不可预知:分时系统中,多个进程并发执行,"时走时停",不可预知每个进程的运行推进快慢
性能保证:实时系统与分时系统相似,但通过资源预留以保证性能
难以重现系统在某个时刻的状态(包括重现运行中的错误)
操作系统的异步性体现在三个方面: 1.进程的异步性,进程以人们不可预知的速度向前推进; 2.程序的不可再现性,即程序执行的结果有时是不确定的; 3.程序执行时间的不可预知性,即每个程序何时执行,执行顺序以及完成时间是不确定的。
操作系统的运行环境
硬件支持
CPU和若干个设备控制器
操作系统内核
内存
存储设备
I/O
操作系统内核
一直运行在计算机上的程序,常驻内存
与硬件紧密相关的模块
各种常用设备的驱动程序
运行频率较高的模块:时钟管理、进程调度
许多模块的公用基本操作
目的
保护以上软件
提高OS的运行效率
资源管理功能
进程管理
存储器管理
设备管理
处理机的双重工作模式
处理机工作模式
内核态(0):管态、系统态,系统调用
用户态(1):目态,执行用户程序
双重模式的保护手段
特权指令:内核态下运行的指令,访问内存不受限制
非特权指令:用户态下运行的指令,只能完成一般性的操作,只能访问内存中的用户空间
中断与异常
现代OS是中断驱动的 中断是硬件通过系统总线发送信号到CPU来触发的 中断是计算机体系结构的重要组成部分
操作系统的主要功能
处理机管理系统
主要功能
进程控制:创建和撤销进程
主动改变进程的状态有挂起,改变运行优先级
进程同步 :对诸多进程的运行进行协商
互斥方式:进程访问临界资源时采用这种方式
同步方式:在相互合作完成任务的进程之间由同步机构对执行次序加以协调
进程通信 :实现进程之间的信息交换,以协调进程间的协作
进程调度 :按照一定的算法把处理机分配给进程,作业和进程的运行切换,以充分利用处理机资源提高系统性能
作业调度:从外存调入内存
进程调度:从内存中的进程就绪队列中选一个分配处理机
在多线程OS中,要考虑线程调度
考虑同一类型内的公平性,高效率,作业或进程的 周转时间
存储器管理功能
管理目标:提高利用率,方便用户使用,提供足够的存储空间,方便进程并发运行
内存分配
为每道程序分配空间,静态,动态
提高利用率
允许正在运行程序申请附加空间
内存保护
确保每道程序 都只在自己的内存空间内运行,彼此互不干扰
一种方法是设置两个界限寄存器,由硬件实现越界检查
地址映射
程序中的地址称为逻辑地址或者相对地址
内存中的单元地址称为物理地址
多道程序下,进程装入内存后要由逻辑地址到内存的物理地址进行变换
内存扩展
借助于虚拟存储技术,从逻辑上去扩充内存容量
改善了系统的性能,基本上不增加硬件投资
请求调入功能
置换功能
设备管理功能
目标
方便的设备使用,提高CPU与I/O设备的利用率,提高I/O速度
缓冲区管理
匹配CPU和外设的速度,提高两者利用率
单,双,公共
设备分配和回收
在多用户间共享I/O设备资源
针对不同设备采用不同策略
虚拟设备:设备由多个进程共享,每个进程如同独占
设备独立性:用户申请的设备与实际操作的设备无关
文件管理功能
目标
对用户文件或者系统文件进行管理,方便用户使用并保证安全
文件存储空间管理
目录管理
文件的读写
文件保护
接口管理功能
提供一个友好的用户访问接口
命令接口
联机用户接口
脱机用户接口
程序接口
图形接口
操作系统的结构<br>
简单结构
无结构操作系统 设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想 此时的OS是为数众多的一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构必缺点 缺点 操作系统既庞大又杂乱,缺乏清晰的程序结构,调试困难 程序难以阅读和理解,增加了维护人员的负担口简单结构
模块化结构
模块化设计概念
模块由众多服务过程(模块接口)组成,可以随意调用其他模块中的服务过程
优点 具有一定灵活性,在运行中的高效率 缺点 功能划分和模块接口难保正确和合理 模块之间的依赖关系(功能调用关系)复杂(调用深度和方向),降低了模块之间的相对独立性--不利于修改
模块独立性
模块接口法
子主题
按其功能划分成若干具有独立性和大小的模块,并仔细地规定好各模块间的接口。关键问题是模块的划分和规定好模块之间的接口。
模块划分的大小
过小复杂性低,但模块间联系过多,系统混乱 过大复杂性高,模块内部联系增加 模块
模块独立性
内聚性:模块内部各部分间联系的紧密程度。 耦合度:模块间相互联系和相互影响的程度。
优缺点
利用模块-接口法开发的OS,较之无结构OS具有以下明显的优点: (1) 提高OS设计的正确性、可理解性和可维护性。 (2) 增强OS的可适应性。 (3) 加速OS的开发过程。 模块化结构设计仍存在的问题: (1)对各模块间的接口规定很难满足在模块设计完成后对接口的实际需求 (2)模块-接口法是无序模块法,很难找到可靠的决定顺序
分层式结构
优点 1.以保证系统的正确性 2.易扩充和易维护性
缺点 系统效率降低
与模块式结构的区别 分层式结构中模块之间是有序的 分层式结构组织结构和依赖关系更加清晰,增加了系统的可读性可适应性和可靠性
微内核结构
基本功能
1) 进程(线程)管理 2) 低级存储器管理 3) 中断和陷入处理
优点
1) 提高了系统的可扩展性。 2) 增强了系统的可靠性。 3) 可移植性强。 4) 提供了对分布式系统的支持。 5) 融入了面向对象技术。
缺点
1)微内核操作系统的运行效率有所降低。 2)实际情况是往往还会引起更多的上下文切换。
外核结构
基本思想 内核不提供传统OS中的进程、虚拟存储器等抽象事物,而是专注于物力资源的隔离(保护)与复用
优点 OS可以做到保证 资源安全的前提下,减少对应用程序的限制,充分满足应用程序对硬件资源的不同 需求
可维护性:容易修改与否称为可维护性 改错性维护:改正已发现的错误; 适应性维护:修改软件,使之适应新的运行环境(硬件环境和软件环境);如:操作系统的移植。 完善性维护:增加新功能;
可靠性 正确性:正确实现所要求的功能和性能; 稳健性:对意外(故障和误操作)作出适当的处理;
可理解性:易于理解,以方便测试、维护和交流
性能:有效地使用系统资源,尽可能快地响应用户请求;
软件工程的基本概念
软件是指令和程序的集合
软件工程是指系统的规范的和可定量的方法
系统调用
系统调用的类型 进程控制类系统调用 文件操纵类系统调用 进程通信类系统调用
浮动主题
内聚性越高,耦合度越低,模块独立性越强
未必是进程控制操作所引起
交换信息能力强,也可以用来协调进程之间的推进
交换信息能力弱
子主题
主动改变进程状态
四者之间关系 并发性和共享性是OS最基本的特征 并发性和共享性是相互依存 虚拟性是以并发性和共享性为前提 异步性是并发性和共享性的必然结果
并发和共享是操作系统的两个最基本的特征,资源共享是以程序的并发执行的条件 若系统不能对资源共享实施有效管理,协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程度