操作系统笔记

操作系统四大特征:并发、共享、虚拟、异步
共享有互斥共享和同时访问
并发和共享是操作系统最基本特征
虚拟分为时分复用和空分复用
库函数是应用程序的一部分,可以运行在用户态
分时系统最关键的是系统响应时间
实时系统通常用抢占式优先级高者优先
中断是外中断,异常是内中断
系统调用可以被看作特殊的公共子程序
用户态到核心态要用到访管指令,它不是特权指令,可以在用户态运行
用户态到核心态由硬件中断机制完成
外部中断可以在用户态发生,在核心态处理
进程切换只能在核心态
寄存器清0可以在用户态
广义指令即系统调用,只能在核心态执行,在用户态调用
中断处理程序要保存程序状态字寄存器
外部中断时,PC值由中断隐指令自动保存,通用寄存器内容由操作系统保存。
用户态转为核心态的唯一途径是中断或异常
微内核最大问题是性能不好
阻塞是自我调用,唤醒是一个与被唤醒进程相合作或被其他相关进程调用实现的。
PCB常驻内存,是进程存在的唯一标志
进程通信:共享存储、消息传递、管道通信
线程包含CPU线程,可以独立执行程序
进程映像包考PCB、程序和数据
短进程优先比较的剩余时间
操作系统是根据PCB对并发执行的进程进行控制和管理的
两个通信原语:发送和接收原语
全局赋值变量,常量值在正文段
进程不是程序,一个动态一个静态
同一个程序运行在不同数据集形成不同的进程
线程引入减少了程序执行时的时空开销
进程通信不能用数据库
管道容量受内存大小限制
三级调度,作业调度,内存调度,进程调度
进程调度是最基本的,不可或缺
不能进行进程调度与切换的情况:处理中断过程中、进程在临界区、原子操作过程
带权周转=周转/实际运行时间
FCFS 不可剥夺,利于CPU型作业
SJF 平均周转时间最短
响应比=(等待时间+要求服务时间)/要求服务时间
响应比只用于作业调度
多级反馈调度是时间片和优先级的综合
时间片轮转调度是为了多个用户能及时干预系统
IO型进程优先级较高
中断由硬件完成主要是为了保证稳定正确
系统调用完成并返回用户态时能进行处理器调度
一次仅允许一个进程使用的资源称为临界资源
同步亦称为直接制约关系
互斥亦称为间接制约关系
空闲让进,忙则等待,有限等待,让权等待
单标志法违反空闲让进
双标志法违反忙则等待
双标志+检查 饥饿
硬件实现临界段互斥:中断屏蔽和硬件指令方法(TestAndSet和Swap)
Swap不能实现让权等待,导致饥饿现象
管程是一组数据以及定义在这组数据上的操作组成的软件模块,这组操作能初始化并改变管程中数据和同步进程。
管程的组成:
1. 局部于管程的共享结构数据说明。
2. 对该数据结构进行操作的一组过程。
3. 对局部于管程的共享数据设置初始值的语句
复习四种经典同步问题
同步是为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。
互斥是当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一个进程才可以去访问此临界资源
磁盘不是临界资源,是共享设备
共享程序段必须用可重入编码编写
Pv操作是一种低级进程通信原语
管程的signal和信号量的v操作不同,前者可能不会由影响,后者S一定会+1
互斥信号量都是1
死锁是指多个进程因竞争资源而造成一种僵局,若无外力作用,这些进程都无法推进
死锁四个必要条件,互斥,不剥夺,请求和保持,循环等待
资源分配图有环不一定有死锁是因为同类资源数大于1
预防死锁是破坏条件
避免死锁是用某种方法防止系统进入不安全状态
破坏循环等待接收规定每个进程必须按编号递增的顺序请求资源,同类资源必须一次申请完
S为死锁的条件是资源分配图不可完全简化,死锁定理
死锁解除的方法:资源剥夺法、撤销进程法、进程回退法
资源分配图圆点是进程,矩形框是资源
无法破坏的条件是互斥使用资源
死锁检测检查的是资源分配图
颠簸是抖动,是页面调度不当而导致的
安全状态一定无死锁进程
死锁定理是用来检测死锁的
死锁避免不会限制用户申请资源的顺序
进程可以创建进程,程序不可能形成新的程序
内存管理提供内存空间分配和回收、地址转换、存储保护
绝对装入只适合单道程序缓解,程序中才用符号地址,编译或汇编时转换成绝对地址。
可重定位装入(静态重定位),地址变换是在装入时一次完成,必须分配足够内存,运行过程不能移动,不能再申请内存
动态重定位,需要一个重定位寄存器,可以不连续,提供一个比内存更大的地址空间
地址重定位即将逻辑地址转换成物理地址
内存保护的方法:
上、下限寄存器
基址寄存器和界地址寄存器
CPU调度进程时,会初始化这两个寄存器。
重定位寄存器用来+,界地址用来比
中级调度采用的是交换技术
交换主要是不同进程之间进行,覆盖是同一个进程。
单一连续分配只有一道程序,不需要内存保护
紧凑技术克服外部碎片
首次适应最简单,也是最好最快的
最佳适应会产生最多的外部碎片
根据分区的大小是否固定分为分页和分段
页式管理地址空间一维,段式二维
TLB是具有并行查找能力的高速缓冲存储器
段页式段表只有一个,页表可能有多个
链接主要完成重定位,形成整个程序的完整逻辑地址空间
进程IO操作时不能交换出内存
采用覆盖和交换的目的是节省主存空间
内存保护需要操作系统和硬件机构合作完成
用了分页和分段以后,提供给用户的物理地址空间不能确定
页面是操作系统感知的
整个系统设置一个重定位寄存器
采用可重入程序是通过减少对换数量方法来改善系统性能的
对主存储器的访问,是以字节或字为单位的
虚拟存储器三个主要特征:多次性、对换性、虚拟性
页表字段:页号、物理块号、状态位、访问字段、修改位、外存地址
缺页中断与一般中断的明显区别:指令执行期间产生和处理、一条指令执行期间,可能产生多次缺页中断
LRU是堆栈类算法,需要硬件支持
CLOCK就是NRU
页面分配策略没有固定分配全局置换
调页策略有预调页和请求调页,一般两种同时使用
对换区是连续分配,文件区是离散分配,对换区IO更快
频繁缺页中断主要原因是某个进程频繁访问的页面数目高于可用的物理页帧数目
请求分页,页面尺寸增大,最大页数不变,缺页中断减少
虚存最大容量由地址决定
LRU需要排序,导致实现耗费高
内存抖动主要原因是页面置换算法不合理
CLOCK 00 01 10 11
用户输入输出时,以文件为基本单位
文件指针针对打开文件的某个进程来说是唯一的
Open会根据文件名搜索目录,并将目录条目复制到打开文件表
无结构文件即流式文件
有结构文件有 顺序文件、 索引文件、 索引顺序文件、 直接文件
Unix的每个文件都要一个唯一的磁盘索引节点
FCB是连续存放的
文件共享的方法:基于索引节点的共享方式,利用符号链实现文件共享
硬链接就是多个指针指向一个索引节点,保证只要还有一个指针指向索引节点,索引节点就不会删除。
软链接就是把到达共享文件的路径记录起来,当要访问文件的时候,根据路径访问文件
口令和加密保护文件不被他人存取
访问控制控制用户对文件的访问方式
目录与文件操作不同,需要不同保护机制
文件目录项就是FCB
创建文件时,系统为它建立一个FCB
逻辑结构为了方便用户设计
索引文件由索引表和逻辑文件组成
FAT32的FCB不包括文件控制块的物理地址,因为它本身就是FCB
超级块用来描述文件系统
文件信息存放在索引节点中
软连接引用计数值不变
对一个文件访问,由用户访问权限和文件属性共同限制
目录的实现有两种基本方法:线性表和哈希表
目录的实现就是为了查找
UNIX采用成组链接法管理空闲块
目录里面存的是文件的逻辑地址
索引表每个表项中包含关键字和逻辑地址
顺序文件检索先从FCB读出文件第一个盘块号,索引文件检索,首先从FCB读出索引块的开始位置
可伸缩的是活动头,否则是固定头
寻找(寻道)时间是移动磁头+启动时间
延迟时间是定位到某一扇区所需时间,1/2r
传输时间是写入或读出所需时间,具体看旋转速度
SCAN是电梯算法
CSCAN返回时不处理
低级格式化是分扇区
逻辑格式化是分区和创建文件系统
旋转延迟与磁盘调度无关
扇区数据处理时间影响的是传输时间
旋转延迟与磁盘空闲空间分配和文件物理结构有关
低速设备1KB/s内,中速100KB/s,高速100KB/s以上
块设备,有结构,可寻址
字符设备,无结构,不可寻址,输入输出常采用中断驱动
中断驱动方式每个指令周期末尾,CPU检查中断
中断驱动方式比程序直接控制方式更有效,数据中每个字在存储器与IO控制器间传输都必须经过CPU
DMA单位是数据块,仅在传送的开始和结束时需要CPU干预
DMA控制方式是在DMA控制器的控制下完成
通道是一组数据快的读写,只需要向IO通道发送一条IO指令,以及给出通道程序首地址和要访问的设备,通过执行通道程序即可完成任务,数据传送结束时CPU发中断请求
设备独立性:执行所有设备共有操作,向用户层提供统一接口
设备驱动程序:负责具体实现系统对设备发出的操作指令
设备控制器功能:接受识别CPU命令、数据交换、发现记录设备状态、设备地址识别
设备控制器与CPU三类信号线:数据线地址线和控制线
同一时间内即同一时刻
共享设备不能同一时刻访问,但是可以在同一时间段访问
共享设备必须是可寻址的和可随机访问的设备
字符设备不可寻址
分配共享设备不会死锁
设备控制器通常需要提供控制寄存器、状态寄存器和控制命令
IO控制逻辑用来实现对设备的控制
字节多路通道用作连接大量低速中速设备
设备分配不考虑及时性
绝对号用来区分和识别设备
通道为特殊处理器
通道程序存在主存中
DMA以存储器为核心,中断控制方式以CPU为核心
IO调度就是确定一个好的顺序来执行IO请求
设备分配依据的数据结构DCT、COCT、CHCT、SDT
设备分配总原则是充分发挥设备的使用效率,尽可能让设备忙碌起来
Spooling用户的打印结果首先送入磁盘固定区域
如果IO花费时间比CPU处理时间短,则缓冲区几乎无效
Spooling主要目的是提高独占设备的利用率,不需要外围计算机,由预输入程序、井管理程序和缓输出程序
Spooling必须是独占设备
设备与输入输出井传送数据由系统实现
SDT->DCT->COCT->CHCT
设备可用、控制器可用、通道可用,才可以成功分配一个设备
进程管理
1、I/O操作完成后,进程状态从阻塞变成就绪。
2、并发进程失去封闭性,是指并发进程共享变量,其执行结果与速度有关
3、常量和全局赋值变量在正文段
4、出现了比现在进程优先级更高的进程时,进程从运行变成就绪。
5、数据库不能用于进程通信。
6、管道容量受内存限制,可以多个读进程或写进程对其操作。读或写都可能会导致阻塞。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值