操作系统笔记

xxxxlec16-lab6 SPOC讨论 · os_course_exercises

习题
【操作系统】王道考研 笔记总结目录(持续更新)_karshey的博客-CSDN博客_操作系统王道考研笔记

理论

系统调用=系统调用指令=广义指令

并发和共享互相依存,没有并发就没有虚拟和异步

一条高级语言的代码翻译过来可能会对应多条指令

程序的原子性:要么不执行,要么执行完

程序的原子性是用来描述程序的状态(运行的连贯性)

命令接口面向用户

系统调用发生在用户态,对系统调用的处理发生在核心态。执行陷入指令会产生内中断,使处理器从用户态进入核心态

PCB是进程控制块

进程间并发,就相当于是图书馆别人要在你的位置写作业,只能是先清理桌子,把你的东西先收走

线程间并发,就是寝室里别人在你桌上写作业,就直接放上去了,不再清理桌子

进程映像=程序段+数据段+PCB,PCB是一直放在RAM中的,不管进程是否挂起

 前者为内核级,后者为普通级,普通临界群可以进行调度和切换,内核程序临界区不行

带权周转时间是为了在周转时间相同时,更好的比较用户满意度

比如:一人上厕所等了10分钟,用了1分钟;另一人等了1分钟,用了10分钟

两人周转时间一样,但满意度肯定不一样

短作业优先一开始到达的进程只有一个的话,无论它运行时间是多少,都先运行它,如果运行时间一样时,则先处理先到达的进程

响应比大于等于1

一般是让进程切换所用的费用不超1%,则为合适的时间片

若当前进程因时间片用完而让出处理机时,该进程应转变为(就绪)状态

critical section 临界区

Peterson

一个人让时,另一个人用


 两者都让时,先让的那个先用

我客气一下,如果你再客气的话,我就不客气了

都是通过c语言来给梳理逻辑,并不是真的用c语言实现的

前驱就是事前加锁,事后解锁

实现互斥需要前v后p

多生产者多消费者问题中的多是多种类

吸烟者问题要实现随机不.random = random%3了 ?

哲学家进餐每次需要占用两个临界资源(其余问题都是一个)

管程类似java的类,用了封装的思想

死锁小结

循环等待是死锁的必要不充分条件

静态策略:预防死锁

 

破坏互斥

先把两个保存在输出进程中,这样在他们看来就不是互斥的了

缺点:很多时候无法破坏互斥条件。有的资源无法改造,有时候是为了系统安全

破坏请求和保持条件

如图,a类只需资源1,b类只需资源2,c类需要资源1和2,但在这种策略下,一有资源1就会给a,一有资源2就给b,除非a和b用完,否则永远轮不到c

动态策略:避免死锁

 

 

流程

 

 

手写

找得到

 找不到

 小结

死锁检测与解除

死锁算法就是尽量让进程变成孤立点,一开始选择不孤立不阻塞的点,然后把他所有边消去

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值