操作系统地位
程序顺序执行(进程管理)
程序顺序执行的特征,顺序性封闭性可再现性
前趋图
P1结束后 V操作 S=S+1 P2操作前先执行S =S -1 此时S=0
一个箭头对应一个信号量
程序并发执行和前驱图
找到输入i计算c输出p,如果找不到就找i1 i2 这样
程序并发执行相关问题
并发会造成多个线程抢cpu资源,提高cpu利用率,但会产生随机性
了解看看
进程的三态模型
就绪被调度-运行,运行时间片到就绪,运行等待某时间阻塞,阻塞等待的事件发生-就绪
当一个进程在处理机上运行时,则该进程处于运行状态,单处理机系统
阻塞态一开始在运行状态,但是他所需要的资源不够了,不能让他一直占用着cpu资源等,因为cpu很宝贵所以先转移到阻塞
在就绪态可能被调度,调度后就获得cpu。就绪态有一个就绪队列
运行态时间片到了就会跑到就绪态队列对位
阻塞态获取cpu后就会转移到就绪态
进程间的通信(同步与互斥)
资源共享count那个例子
信号量机制和pv操作
大于0表示资源可用数。小于零那个数的绝对值表示阻塞队列中等待该资源的进程数
pv操作实现进程的互斥
p1在访问的话p2就不行这个就叫互斥,可以用在count那个例子(临界区 )
得看临界资源给多少,比如只有一台打印机s就是一,两台s就是2
本题互斥初始值s的信号量为1,p(mutex相当于mutex减去1)
pv操作实现进程同步
s1为1表示生产者可以放入产品到缓冲区,s2表示缓冲区有几个产品
消费者告诉你又可以放产品了
嗯 就是说取走产品之后通过v(s1)操作把单缓冲区的s1回置成1,也就是缓冲区又空了的意思
2
S1是表示能把多少个资源送入缓冲区,S2是表示能从缓冲区取出多少个产品
s2相当于你可以取走了半成品,最开是箱内没有半成品s2肯定是0呀
死锁
上图情况并不会引起死锁
这种也不会因为p1运行完后会把资源换回来供其他使用
进程资源图
先申请资源,再分配资源
p2不能运行,因为p2需要申请两个
非阻塞可以化简,因为他已经完成了所以把他还回去
没有分配到新的资源的是后不会释放的,所以上图是死锁
并不是申请了就拿走了
死锁避免
鸵鸟策略就是没有策略
满足仍需
运行完他会把已分配资源数还回去
有剩余的资金,并且满足最大资金需求才是安全的。选d
线程
多进程、多线程、协程(纤程)
一个进程有许多线程,线程不可共享线程之间的
局部性原理
页号淘汰是淘汰在内存中的页,确定页在内存后我们是先淘汰未被访问过的页号
以上两种情况都没有的话我们是先淘汰未被修改过的
看第三位满足第一个条件但也要继续看后面,发现为被修改过在淘汰,因为最后的代价最小
分页存储管理
确实很简单,十六进制数的第一个数的物理块号+后三个数=物理地址
逻辑地址等于页号加逻辑地址
单缓冲区
缓冲区是非空的话不能往里面输入作业的,缓冲器非满也不能给用户传送
双缓冲区
磁盘调度算法(移臂)
谁先请求先去找谁
谁近先访问谁
它的方向是朝0方向移动,先往最左边再往最右边
改变方向但从最里开始访问
旋转调度算法
单缓冲区处理时间(c)会被输入(T)、传送(M)覆盖
要读B首先得先花16ms到b,然后花2ms读b,在花4ms处理b
多级索引结构
地址项直接指向数据块的
多级索引结构
二级所以的磁盘索引块会继续指向自盘索引块,第二个磁盘索引块(他是一级
索引块),才会指向磁盘数据块
红圈是0到255因为i是二级索引每个都是256个256×256,蓝圈是65794减去一块的255
文件目录
文件目录不能损坏会影响计算机使用
目录结构
多级目录结构是解决一级和二级目录的问题
位示图
字节跟字是两种概念,一个字节是等于8位的,一个字字长是根据计算机的类型决定的
物理块数量决定位士图大小