408操作系统第二章总结

首先介绍了贯穿全章的进程和线程的概念,进程是一个抽象的概念,理解起来就和程序类似,但和程序并不是一类东西,它是为了更好的描述操作的过程,是程序运行的一次过程,它是由PCB,程序段和数据段构成。PCB就用来描述进程的基本情况和运行态。

是进程的唯一标志。接下来介绍了进程的状态分为运行态,就绪态,阻塞态,创建态,结束态,之后讲了他们之间的通行,这里很重要后面也会结合这个知识点进行讲解比如PV操作。之后讲了进程的控制,也就是对各个状态进行了详细的讲解,比如进程创建的过程等,后面介绍了进程的组成,就就比如进程创建块(PCB),如里面包含了进程标识符(PID),用户标识符(UID)。之后讲解了进程之间的通行,有共享存储,消息传递(分为直接通信方式和间接通信方式(又称为信箱通信方式))和管道通信。之后又讲解了线程,线程可以理解为轻量级的进程,它没有地址空间,用的是进程的地址空间。它可以分为用户级线程和内核级线程。多线程模型有一对一,一对多和多对多。

处理机的调度,因为一般计算机进程的数量多于处理机的数量,所以如何按照一种较公平的算法进行分配是很有必要的。进程调度分为作业调度(高级调度),内存调度(中级调度)和进程调度(低级调度)。经常调度和切换是相互联系的,因为在发送请求调度要求后,通过调度程序,才可以完成进程的切换,但有的时候不可以发送调度和切换,如在发送中断的时候,进程在操作系统内核的临界区的时候,进行原子操作的时候,可以理解为原语操作。进程调度也分为非抢占方式和抢占方式,一种是等进程运行完在进行操作,后一种是利用一些准则来进行判断合理的进行抢占。调度也有性能指标,如CPU利用率,系统吞吐量,周转时间,平均周转时间,等待时间,响应时间等。之后介绍了这节的重点调度算法,有先来向服务算法,短作业优先算法,优先级调度算法,高响应比优先调度算法,时间片轮转调度算法,多级反馈队列调度算法。这里介绍了它们的操作过程和特点,但要注意的是他们是否是会抢占,是否会发生饥饿。

进程的同步,因为操作系统具有的异步性,进程以不可预知的方向和速度运行。所以引入同步操作的机制来避免在并发时发生的结果异常。这里引入了临界资源是一次只能为一个进程所用,而访问临界资源的那段代码称为临界区。它分为进入区,临界区,退出区和剩余区。之后介绍了同步和互斥的两个的定义,为了避免互斥要满足,空闲让进,忙则等待,有限等待和让权等待。下面就介绍了互斥的方法,分为软件和硬件,软件有单标志法,双标志先检查法,双标志后检查法(这里会出现饥饿)和Peterson's Algorithm等的方法,硬件方法有中断屏蔽法,TestAndSet指令法,Swap指令法。后面介绍了信号量PV也是为了互斥和同步的问题,利用这些举了生产者-消费者,多生产者-多消费者,读者-写者,哲学家进餐和吸烟者问题(其实这里面就是类似c语言程序中间利用了PV的原子操作(这里的PV和后面介绍的管程PV是由区别的)进行互斥和同步)(PV的信号量分为互斥量和资源量来进行互斥和同步的操作)。最后介绍了管程这里面感觉就像是程序中的类,它给你封装好了,之后你进行调用来完成互斥和同步的操作。

最后介绍了死锁,为什么会造成死锁就是系统资源的竞争和进程推进顺序的非法,在上一章如果信号量使用不当也会造成死锁。进程死锁有4个必要条件需要同时满足才可以发送死锁,互斥条件,不剥夺条件,请求并保持条件和循环等待条件。这里引出了死锁的处理策略,分为死锁预防,破坏4个必要条件中的一个,死锁避免,系统的安全性举例了银行家算法,最后介绍了死锁的检测和解除,先用死锁定理判断是否发生,之后采用资源剥夺法,撤销检查法,进程回退法来解决死锁问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值