操作系统的分类:
批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、个人计算机操作系统。
批处理操作系统:
优:资源共享,自动调度,提高了资源利用率和系统分吞吐量。
劣:无交互,周转时间较长。
多道批处理程序要处理的问题:同步互斥,内存大小,使用效率,内存保护
分时系统:联机多用户交互式操作系统,中断技术,时间片轮转
优:人机交互性好,共享主机 ,用户独立性
实时操作系统:联机系统,对外部请求能够在规定的时间内完成。
特点:有限等待
有限响应
用户控制
可靠性高
出错处理能力强
考虑因素:实时时钟管理,连续的人机对话,过载,高可靠性和安全性采取冗余措施
通用操作系统:
同时兼有多道批处理系统,分时,实时处理功能。
个人计算机操作系统:
联机交互单用户,以windows和linux为主。
网络操作系统:
特征:
互联计算机群体,物理上分散
自治,每台计算机有自己的操作系统,独立工作,在网络协议下协同工作。
系统互联靠通信设施(软硬件)实现
系统通过通信设施进行信息交换,资源共享,互操作和协作处理。
分布式系统:
特征:
功能分布
坚韧性
高可靠性
操作系统功能:
处理器管理,
存储管理(内存分配,内存保护,内存扩充),
设备管理(通道,控制器,输入输出设备分配与管理,设备独立性管理)
信息管理(文件系统管理)
用户接口管理
操作系统用户接口:
命令接口,程序接口,图形接口
通道:
用于控制I/O设备与内存数据的传输,启动后独立于CPU,实现CPU与I/O并行
中断:
CPU在收到外部请求中断信号后停止原来的工作,保存现场,转去处理中断事件,完毕后返回断点继续工作。
中断请求->中断响应->现场保护->中断处理->中断返回
计算机硬件组成:
处理器,存储器,I/O设备,外设
几种主要的寄存器:
地址寄存器
数据寄存器
程序计数器
指令计数器
程序状态字PSW
中断现场保护寄存器
过程调用堆栈
访问速度排序:
寄存器 > 高速缓存 > 内存 > 硬盘缓存 > 硬盘 > 光盘,磁盘
操作系统启动顺序:
启动电源->中断信号->系统引导->导入内存执行代码->操作系统加载->初始化硬件
系统调用:
设备管理
文件管理
进程管理
进程通信
存储管理
线程管理
陷进处理机构:在系统中为控制系统调用服务的机构称为陷进处理机构。
陷进指令:把由于系统调用引起处理机中断的指令称为陷进指令。
顺序程序的特点:
顺序性,封闭性,可再现性
执行环境特点:独立性,随机性,资源共享性
并发程序执行:
程序执行时间上重叠
进程:
是程序对数据集的执行过程,是资源分配的基本单位。
进程和程序的区别:
进程是程序的一次执行,有生命周期,动态概念
程序是可以作为软件资料长期保存时静态概念
进程是独立运行的单位,能与其他进程并发活动
进程是竞争计算机资源的基本单位,也是资源调度的基本单位
不同进程可以包含同一程序。
作业和进程的区别:
作业是用户相应计算机提交任务的任务实体
一个作业可以包含多个进程
作业的概念主要用于批处理系统中
进程描述:
1、进程控制块PCB:
(1)PCB描述信息:进程标识,用户标识,家族关系
(2)PCB控制信息:进程当前状态,优先级,程序入口,计时信息,通讯信息
(3)资源管理信息:内存,对换覆盖信息,共享程序段信息,输入输出设备,文件指针等
(4) CPU现场保护区
2、程序段
3、数据结构集
进程状态:
执行 ,就绪,等待(阻塞)
进程状态转换:
运行到等待 等待某事件的发生如等待I/O完成
等待到就绪 事件已经发生如I/O完成
运行到就绪 时间片到例如两节课时间到下课
新建进程到就绪 新创建的进程进入就绪状态
就绪到运行 当处理机空闭时由调度分派程序从就绪进程队列中选择一个进程占用CPU。
进程控制:
系统使用一些具有特定功能的程序段来创建、撤销进程以及完成进程各状态的转换从而达到多进程高效率并发执行和协调、实现资源共享的目的。
原语:
把系统态下执行的某些具有特定功能的程序段称为原语。
用于进程控制的原语有:
创建原语、撤销原语、阻塞原语、唤醒原语。
进程创建方式:
由系统程序模块统一创建
由父进程创建。进程创建系统调用
create(name,priority,start-addr)
UNIX系统fork()
进程撤销:
1、该进程已完成所要求的功能而正常终止
2、由于某种错误导致非正常终止
3、祖先进程要求撤销某个子进程。
在一般操作系统中进程撤消的系统调用是kill UNIX系统中是exit()
如果撤销进程有自己的子进程,则撤销原语先撤销其子进程的PCB结构并释放子进程所释放的资源后,再撤销当前进程的PCB结构和释放其资源。
进程互斥:
产生原因:资源共享,进程协同
临界资源:一次只允许一个进程使用资源
临界区:进程访问临界资源的程序段
间接制约:协同进程不能同时访问临界资源
直接制约:互斥进程不能同时访问临界资源
进程同步 :
异步环境下的一组并发进程因直接制约而互相发送消息而进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。
进程通讯方式:
#管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
# 消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
# 信号 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。
# 共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。
# 套接字( socket ) : 套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。
死锁:
指个并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又得不到资源,个并发进程不能继续向前推进的状态。
死锁产生的四个必要条件:
互斥,不可剥夺条件,请求与保持,环路等待
解除死锁:
剥夺资源
杀死进程
处理器调度机制:
作业调度:高级调度或宏观调度
交换调度:中级调度
进程调度:低级调度
线程调度:
周转时间:作业从提交时刻到完成的时间
包括等待时间和完成时间
进程调度的功能:
①用PCB块记录系统中所有进程的执行情况
②按照一定的调度算法,选择一个处于就绪状态的进程,给它分配处理机(这是最重要的功能)
③实施进行进程上下文的切换
引起进程调度的原因:
1、 正在执行的进程执行完毕。这时如果不选择新的就绪进程执行将浪费处理机资源。
2、 执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态。
3、 执行中进程调用了P原语操作从而因资源不足而被阻塞或调用了V原语激活了等待资源的进程队列。
4、 执行中进程提出了I/O请求后被阻塞。
5、 在分时系统中时间片已经用完。
6、 在执行完系统调用在系统程序返回用户进程可认为系统进程执行完毕从而可调度选择一新的用户程序执行。
以上都是CPU执行不可剥夺方式下做引起的进程调度的原因,在CPU执行方式是可剥夺时,还有
7、 就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将发生进程调度。
可剥夺方式,即就绪队列中一旦有优先级高于当前进程优先级的进程存在时,便立即发生进程调度,转让处理机。
非剥夺方式,不可剥夺方式,即使在就绪队列存在有优先级高于当前执行进程时,当前进程仍将继续占有处理机,直到该进程因自己调度调用原语操作或、等待I/O进入阻塞状态或时间片用完时才重新发生调度让出处理机。
进程调度性能评价:
1、进程调度性能是衡量操作系统性能的重要指标
2、可采用测试或模拟系统相应时间的方式评价调度性能
调度算法:
1、FCFS 先来先服务
2、RR 时间片轮转法
3、多级反馈轮转法
4、优先级法
5、最短作业优先法
6、最高响应比优先法:响应比R=(等待时间W+执行时间T)/执行时间T
存储器分类:
内存,外存
虚拟存储器:
为用户提供一种不受物理存储器结构和容量限制的存储器的技术称为虚拟存储器或称虚拟存储技术。虚拟存储器需要大容量的外存储器的支持或称物资基础。
程序地址:
用户编程序时所用的地址或称逻辑地址 、虚地址基本单位可与内存的基本单位相同也可以不相同。
程序地址空间:
逻辑地址空间、虚地址空间:用户的程序地址的集合称为逻辑地址空间它的编址总是从0开始的可以是一维线性空间也可以是多维空间。
物理地址:
把内存分成若干个大小相等的存储单元,每个单元给一个编号,这个编号称为内存地址,物理地址、绝对地址、实地址存
储单元占8位,称作字节byte。
物理地址空间:
物理地址的集合称为物理地址空间,主存地址空间,它是一个一维的线性空间。
地址映射的三种方式:
1、编程或编译时确定地址映射关系
2、静态地址映射
3、动态地址映射
内存管理策略:
1、分配结构
2、放置策略
3、交换策略
4、调入策略
5、回收策略
存储保护策略:
(1)上下界保护
(2)保护键
(3)界限寄存器与CPU用户态或核心态工作方式结合
分区存储管理:
1、固定分区
2、动态分区
动态分区策略:
首次适应法
最佳适应发
最坏适应法
分区存储管理的优缺点
优点:
1、 实现了多个作业或进程对内存的共享,有助于多道程序设计,从而提高了系统的资源利用率
2、 该方法要求的硬件支持少,管理算法简单,因而容易实现 缺点
1、 内存利用率仍然不高
2、 作业或进程的大小受分区大小控制,除非配合采用覆盖技术和交换技术
3、 无法实现各分区之间的信息共享
覆盖技术:
要求程序员提供一个清楚地覆盖结构。即程序员必须完成把一个程序划分成不同的程序段,并规定好它们的执行和覆盖顺序的工作。操作系统根据程序员提供的覆盖结构来完成程序段之间的覆盖。
交换技术:
是指先将内存某部分的程序或数据写入外存交换区,再从外存交换区中调入指定的程序或数据到内存中来,并让其执行的一种内存扩充技术。
交换技术不要求程序员给出程序段之间的覆盖结构,交换主要是在进程或作业之间进行,覆盖则主要是在同一个作业或进程内执行覆盖只能覆盖那些与覆盖程序段无关的程序段。
交换进程由换入和换出两个过程组成。
记录空闲存储区的方法:
位图法和链表法
动态页式管理分为:
请求页式管理和预调入页式管理。
抖动现象:
置换算法选择不当,有可能产生刚被调出内存的页又马上被调回内存,调回内存不久又马上被调出内存,如此反复的局面。这使得整个系统的页面调度非常频繁,以致大部分时间花费在主存和辅存之间的来回调入调出上的现象。
常用的页面置换算法:将页面从外存置换到内存,提升访问速度
随机淘汰法
轮转法
先进先出
最近最久未使用
最近最少使用淘汰算法
Belady现象:
对于一个作业或进程,如果给他的页面数越接近于它要求的页面数,则刚发生缺页次数会越小,但是,使用FIFO算法是,就会出现分配页越多,缺页越多的奇怪现象。
页面管理可以为内存提供两种方式的保护:
1、地址越界保护
2、通过页表控制对内存信息存取操作方式提供保护。
页式管理的优缺点
优点 :
1、由于它不要求作业或进程的程序段和数据在内存中连续存放,从而有效地解决了碎片问题
2、动态页式管理提供了内存和外存统一管理的虚存实现方式,使用户可以利用的存储空间大大增加。这既提高了主存的利用率,又有利于组织多道程序执行。
缺点 :
1、要求有相应的硬件支持。例如地址变换机构,缺页中断的产生和选择淘汰页面等都要求有相应的硬件支持。这增加了机器成本。
2、增加了系统开销,例如缺页中断处理。
3、请求调页的算法如选择不当,有可能产生抖动现象。
4、虽然消除了碎片,但每个作业和进程的最后一页总有一部分空间得不到利用失仍然较大。
段式与页式的比较:
段的保护:
1、地址越界保护法
2、存取方式控制保护法
段式管理的优缺点
优点
提供了内外存统一管理的虚存实现。
段长可根据需要动态增长。
便于对具有完整逻辑功能的信息段进行共享。
便于实现动态链接。
缺点
需要更多的硬件支持。
处理碎片比较麻烦。
给系统管理带来一定的难度和开销。
每个段的长度受内存可用区大小的限制。
选择不恰当的淘汰算法,可能会产生抖动现象。
综合段式和页式的段页式内存管理兼具段和页管理的优点。