#复习笔记基于哔哩哔哩的 操作系统的期末急救--------北大鸭鸭博主的视频
我们将考试内容分为十九考点来讲
考点九:处理机调度的概念和原则
1.调度的基本概念(下面有我的理解)
调度的目的是提高系统资源的利用率,减少任务的等待时间,保证任务的公平性和实时性。调度策略和算法的选择取决于系统的需求和任务的特性。按照调度对象分为高级,中级,低级调度
我的理解就是
高级调度(High-level Scheduling):
负责从作业池中选择作业并加载到内存。
目的是提高资源利用率和系统吞吐量,减少作业的等待时间。
中级调度(Medium-level Scheduling):
负责内存空间的有效管理,包括进程的挂起和唤醒。
目的是提高内存利用率,允许更多进程同时在内存中。
低级调度(Low-level Scheduling):
负责CPU时间的分配给进程或线程。
目的是确保CPU资源的公平和高效分配,减少进程的等待时间。
注意:这三个调度层级共同协作,确保操作系统能够高效地管理和调度任务。
2.调度的基本准则
主要考虑因素分为,资源利用率,吞吐量,周转时间,等待时间,响应时间
这是我对这五点的理解
资源利用率:
就像你使用电脑时,希望电脑的各个部件(CPU、内存等)尽可能忙碌而不是闲置。资源利用率就是衡量这些部件有多忙的一个指标。
吞吐量:
想象你有一个工厂,吞吐量就是工厂在一定时间内能生产多少产品。在操作系统中,吞吐量就是系统在一定时间内能完成多少任务。
周转时间:
就像你排队等待服务,从你开始排队到服务结束的时间就是周转时间。在操作系统中,周转时间是从任务开始到完成所需的总时间。
等待时间:
这是指你在服务窗口前排队等待的时间。在操作系统中,等待时间是任务在就绪队列中等待CPU来执行的时间。
响应时间:
就像你按下一个按钮,等待看到结果的时间。在操作系统中,响应时间是从你发出命令到看到结果的时间,对于用户来说,这个时间越短越好。
考点十:调度方式与调度算法(重点)
1.调度方式:
每种调度方式都有其优势和局限性,适用于不同的场景和需求。调度算法的选择取决于系统的目标,如响应时间、吞吐量、公平性等。
2.典型调度算法
考点十的习题练习
答案是b
考点十一:死锁的概念与预防
1.死锁的定义
下面我用一个例子来帮我们来加深一下对死锁的记忆
假设有一个图书馆管理系统,系统中有两个读者(我们可以把它们想象成两个进程)和两本书(资源)。这两个读者分别是Alice和Bob,两本书分别是BookA和BookB。
互斥条件:每本书一次只能被一个读者借阅。
占有和等待条件:Alice借阅了BookA,同时她想借阅BookB;Bob借阅了BookB,同时他想借阅BookA。
不可剥夺条件:一旦读者借到了一本书,他们必须阅读完才能归还,不能在阅读过程中被强制要求归还。
循环等待条件:Alice在等待Bob归还BookB,而Bob在等待Alice归还BookA。这就形成了一个循环等待的情况。
在这个例子中,Alice和Bob都被锁定在等待对方释放资源的状态,他们都无法继续进行他们的任务,因为Alice需要BookB来完成她的阅读,而Bob需要BookA来完成他的阅读。这就形成了一个死锁。
2.产生死锁的必要条件(以下四个条件缺一不可)
我用一个故事来帮我们加深我们的记忆力
比如四个朋友去一家餐厅吃饭。他们需要四把椅子(互斥条件),每个人都坐在一把椅子上(请求和保持条件),但服务员告诉他们不能换椅子(不可剥夺条件),然后他们开始等待彼此的盘子(循环等待条件)。
3.死锁的预防:
考点十一的习题练习
5*(3-1)+1
考点十二:死锁的避免-银行家算法
1.死锁的避免
2.银行家算法
这个题很简单的,我们只需要用资源的最大需求-已分配资源就可以知道还需要多少,然后根据我们的资源总数剩余情况进行做题就可以了
希望接下来可以跟大家一起努力哇