操作系统复习

文章目录


一、操作系统引论

1.概念:

1.控制和管理 软硬件资源
2.组织调度 工作和资源
3.提供接口和环境

2.基本特征

并发,共享,虚拟,异步(在并发执行的时候,资源有限,走走停停,以不可预知的速度向前推进)

3.功能

1.资源管理者

处理机管理:进程
存储器管理:内存
文件管理:文件
设备管理:I/O

2.提供接口

命令接口(直接):联机(实时交互);脱机(批处理,一组作业控制命令组成)
程序接口(间接):系统调用组成

3.用作扩充机器

扩充裸机

4.发展过程

1.单批道: 系统资源不能充分用
2.多批道: 不能交互,平均周转时间长
3.分时:不够及时
4.实时:硬/软实时

5.运行环境

1.内核态和用户态

缺页在用户态发生,在内核态处理

2.内核:

1)时钟管理:计时,时钟中断
2)中断机制:提高CPU利用率
3)原语:原子性的
4)系统控制的数据结构及处理

3.中断(外中断)和异常(内中断)

发生中断,意味着需要操作系统来管理:
用户态 -> 内核态 :通过中断实现
内核态 -> 用户态: 执行特权指令
外中断:CPU外部与当前无关
内中断:CPU内部与当前执行指令有关

二、进程的描述与执行

1.组成

由进程控制块(pcb)、程序段、数据段组成

2.组织方式

链接方式:队列
索引方式:索引表

3.特征

动态性、并发性、独立性、异步性、结构性
p.s 可再现性(程序的特性):多次运行得到同一结果

4.进程和程序的区别

进程是动态的,可以并发执行

5.状态和转换

状态:创建,就绪,运行,阻塞,终止。(加粗为基本状态)
在这里插入图片描述
1)运行->就绪:
a.时间片用完
b.被优先级更高的抢占

2)就绪->运行:
就差cpu

3)运行->阻塞:
因发生某等待事件而无法执行

4)阻塞->就绪:
等待的事件完成

6.进程通信

1.共享存储

基于共享数据结构:低级,如消费者生产者
基于共享存储区:高级

2.消息传递

以格式化为单位,利用原语进行传递。
直接:直接挂到接受进程的消息缓存队列
间接:先发送到中间的信箱

3.管道通信

用于连接读和写进程的共享文件
p.s 全局变量是对同一进程而言

6.线程

1.定义
2.和进程的区别和联系

三、处理机调度

1.评价标准:

1.cpu利用率
2.系统吞吐量
3.周转时间
在这里插入图片描述
4.等待时间
5.相应时间

2.三个层次

1.作业调度(高级):外存 -> 内存(调入)
2.内存调度(中级):把处于挂起状态的进程,由外存转到内存(调回)【发生频率比高级的高】
3.进程调度(低级):内存(就绪队列) -> cpu

3.进程调度方式

1.非剥夺(非抢占)方式
2.剥夺(抢占)

4.调度算法

1.FCFS(先来先服务)

缺点:对长作业有利,对短作业不利

2.SJF (短作业优先)

优点:“最短的”平均等待时间以及平均周转时间

3.优先级算法

1.优先级的类型:
2)静态优先级:在创建进程时确定
3)动态优先级:先赋予优先级,再动态调整
2.会导致低优先级的进程的饥饿

4.时间片轮转算法

1.规则:按到达就绪队列的顺序,轮流执行一个时间片。时间片内没完成就剥夺。属于抢占式。
2.适用于分时操作系统

5.高响应比优先算法

1.思想:考虑作业的等待时间和要求服务的时间
2.规则:响应比高的先服务
3.要计算,开销大,不会饥饿
在这里插入图片描述

6.多级反馈队列调度

1.抢占式;实时os;低优先级饥饿
在这里插入图片描述

四、死锁

1.概念

1.死锁:互相等待对方手里的资源,导致进程都阻塞。
2.死锁和饥饿:
饥饿:一直得不到资源;可能只有一个进程发生饥饿,可能在阻塞态或就绪态。
死锁:在阻塞态
3,必要条件:
1.互斥(同一资源不能被同时使用)【例如:哲学家就餐】
2.请求和保持条件(持有和等待)
3.循环等待。发生死锁一定有循环等待,反之未必
4.不剥夺条件

2.预防死锁

1.预防死锁(静态):破坏死锁的四个必要条件
2.避免死锁(动态):防止进入不安全(银行家算法);
边运行边判断;缺点:知道后续资源需求;
3.死锁的检测和解除【允许死锁发生】:定期检查

1.破坏互斥条件

将互斥使用的资源改造为允许共享使用
缺点:不是什么都能改

2.破坏不剥夺

某个请求得不到满足的时候,释放保持的资源
缺点:反复申请释放,提高系统开销;可能使得之前失效;难操作
用于:易于保存和回复的资源:如寄存器和内存

3.破坏请求和保持条件

等所有资源都齐了再运行
缺点:利用率低,进程饥饿

4.破坏循环等待

对资源编号,必须按照编号递增的顺序请求资源。
缺点:需要各类资源相对稳定,编号后避免改动;限制多;使用资源的顺序与规定的不同。

3.银行家算法(避免死锁)

1.安全状态

如果按照序列分配资源,每个进程都完成。该序列为安全序列,为安全状态。

2.核心思想

在资源分配前预先判断是否会导致进入不安全状态,依此决定是否分配资源

3.实现

1.求need:need=max-allocation
2.判断:是否
request<=need
request<=available
3.假定可以分配,修改available,allocation,need:
available=available-request(表示还有多少可用资源)
allocation=allocation+request(表示已经分配的资源)
need=need-request(表示各进程最大需要多少资源)
4.安全性检测
a.先将每一个进程的finish设为false
b.设置工作向量,表示可以提供进程运行的资源数目
初始:work=available
need[i,j]<=work[j]
c.work[j]=work[j]+allocation[i,j];finish[i]=true;(完成后释放资源)

4.死锁的检测与解除

1.死锁检测算法

1.资源分配图:
进程节点和资源节点
在这里插入图片描述
圈为进程节点,方框为资源节点
2.死锁定理:若资源分配图不可简化,则死锁
如何简化:

2.死锁解除算法

(死锁检测分配图,简化有还连着边的就是死锁进程)
1.资源剥夺
2.撤销进程
3.进程回退

五、进程同步

1.同步与互斥的关系

1.临界资源

2.理解资源的访问过程:

1.进入区:“上锁”
2.临界区:访问临界资源的代码叫临界区
3.退出区:解锁
4.剩余区

3.进程同步(直接制约关系)

指定先后顺序

4.进程互斥(间接制约关系)

规则:空闲让进,忙则等待,优先等待(有限的时间内进入临界区),让权等待

2.软件同步机制

1.Peterson算法:(未解决让权等待)

flag 和 turn
对P0:
flag[0]=1(表示当前进程想进入临界区)
turn = 1(被允许进入临界区的进程编号,对方的)
while(flag[1]&&turn==1);
最后需要flag[0]=0;

3.硬件同步机制

1.关中断(中断屏蔽)
2.TS或TSL(原子操作)
3.swap指令

4.信号量

1.两个原语:wait(s)和signal(s)即PV操作

2.整型信号量

会忙等待

3.记录型信号量

1.加了链表指针;
2.流程:
wait操作申请资源
若资源不够,自我阻塞;
完成后放弃资源,若仍有资源被阻塞,就唤醒
3.实现了让权等待

5.信号量的基本应用

1.实现互斥
(P 上锁)
临界区
(V 解锁)
2.实现同步
前操作后v
后操作前p
3.前驱关系

6.管程

高级的同步机制
管程包含:
1.名称
2.共享数据结构说明
3.操作
4.初始化

7.生产者消费者

1.3对PV操作

2.实现互斥的P操作一定要在实现同步的P操作之后

3.做题步骤:

1.分析关系(同步还是互斥)
2.设置信号量
3.pv操作

8.读者写者

跳过加锁(count)
读写公平法

9.哲学家进餐

3种方法防止死锁

六、内存管理

1.功能

1.内存空间的分配和回收

2.存储的保护和共享

3.地址转换(逻辑->物理)

4.内存扩充(虚拟内存)

1.页面替换算法
2.请求分页管理,虚拟内存
3.
覆盖 (进程内)
交换(进程间)
4.虚拟内存组成部分:页表机制,中断机制,地址变换机制,内存与外存
缺页中断:在外村中找,如果内存满了,要替换。
替换算法:fifo,lru(最久未使用),clock(最近最少用),OPT(最优)
5.虚拟内存的特点:多次行、对唤醒、巡礼行
6.局部性原理:时间空间局部性

2.用户程序主要处理阶段

编辑,编译,链接,装入,运行

1.装入:

1.绝对装入(只是适用于单道程序,按照物理内存的位置赋予实际的物理地址)
2.静态重定位(在运行开始前,要求空间连续)
3.动态重定位(推迟到真正执行的时候进行吗,需要寄存器,解决碎片问题,不需要连续的空间)

地址空间:

1.连续

1.单一连续分配
2.固定分区分配
3.动态分区分配:
首次适应,最佳适应,最坏适应(容量递减),临近适应

2.非连续

解决外部碎片多
1.基本分页式:页号通过页表,找到块号,块号加上页内地址不变的偏移量就是物理地址
页表在内存里;页的大小固定
快表不在内存中
2.基本分段式:作业二维
3.越界中断;缺页中断;
4.外部碎片(进不去),内部碎片

七、文件系统

1.文件存取方式:顺序和随机

2.影响安全的元素:系统,认为,自然

3.文件目录项(fcb)

4.文件的逻辑结构:(用户)

1.无结构文件(流式文件)
2.有结构文件(记录式文件):
1.顺序文件
2.索引文件:索引表
3.索引顺序文件

5.物理结构:

连续文件和链接文件和索引文件

6.目录

1.fcb

2.目录结构

单机目录,二级目录,树形目录,图形目录

7.文件分配方式

连续分配,链接分配,索引分配,
顺序 链式 索引

8.文件存储空间管理

1.空闲表法
2.空闲链表发
3.位示图法(用于外村)

9.磁盘调度算法

1.地址结构:柱面号、盘面号、扇面号
2.算法:
1.FCFS
2.最短查找时间优先
3.扫描
4.循环扫描

八、设备管理

1.程序查询方式

2.io控制方式:

1.直接控制:查询
2.中断:cpu可以杠别的,叫别的发出中断
3.dma方式:一数据块为单位输入到内存中,传输结束才想cpu发起中断
4.io通道控制方式:只能穿一个连续的数据块

3.映入缓冲区的目的:

1.缓和cpu和外设不匹配
2.提高cpu和外设的冰消
3.减少中断cpu

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值