操作系统复习笔记2

news/2024/11/20 0:35:02/

目录

1、不可中断的原子操作?

2、进程切换、系统调用关于用户态、内核态的知识

3、调度算法三两事

4、临界区和临界资源

5、互斥准则

6、互斥、同步、异步


1、不可中断的原子操作?

网上查了一下,Linux和C++的举例有很多,大体是加锁、解锁、中断现场保护、恢复等,总的来说,好像中断用的比较多。

2、进程切换、系统调用关于用户态、内核态的知识

系统调用实际上是应用程序在用户空间激起了一次软中断,在软中断之前要按照规范,将各个需要传递的参数填入到相应的寄存器中。 软中断会激起内核的异常处理,此时就会强制陷入内核态。

进程内线程切换,本质上还是进程切换。. 只要进程切换,就必然已经进入了内核态。. 道理很简单,只有内核才有权力进行进程调度,而且进程调度涉及到数据结构

3、调度算法三两事

①先来先服务算法很少使用,但是,在有优先级的时候,相同优先级,依然按照先来先服务。       

②优先级算法中,优先级的评判方法有很多,最主要的,是根据需求,根据实际情况。 

③时间片轮转一般用在进程调度,在已经获得所有就绪进程的情况下进行轮转。

④多级反馈队列调度算法,表重要,重要的有几点:一、设置多个队列,优先级从高到低;二、优先级越高,时间片越短,通常相邻的是两倍关系;三、新进程进入,放在第一队列末尾。四、若进入新的进程,中断当前,保护现场,先处理上面加入的。

总的来说,假设A\B\C三个进程,三个队列。

A、B先进,放在第一队列末尾。第一队列按顺序,A结束,放到第二队列最后,接着B占用CPU,B结束,放在A后面。第一队列运行完了,第二队列开始,按顺序,A结束,放到第三队列最后,B运行,运行到一半,C进来了,放在第一队列,B暂停运行,运行第一队列的C,C结束之后,放在第二队列最后,B恢复现场,继续运行。B运行结束,放在第三队列最后,运行C,C结束,放在B后面......

4、临界区和临界资源

临界资源一种资源,例如一个鼠标,只能一个电脑用,就是临界资源。

临界区,一段程序,很多代码都有,例如,删除、查找、更改位置,对于数据库中的学生信息,这三个功能,不能同时实现,而且,这三个作业对应的程序中,都有一段代码,调用数据库信息,这段代码,在同一时段,只允许一个进程使用,这段代码就是临界区。另外,这段代码,可能会因为最终目的不同,不同进程的临界区多少有点区别,但是调用数据库信息这个行为是一样的。

不可以认为临界资源相同,临界区,即访问这些资源的代码就相同。

5、互斥准则

①空闲让进

②忙则等待

③有限等待,进程能及时进入临界区,运行。

④让权等待,进程异常,释放CPU给其他进程。

6、互斥、同步、异步

互斥,有限资源,只能一个进程使用 

同步,相互合作,速度不相同的进程等待一个时间,能相互交换消息之后,才能继续运行,例如,先倒水,才能喝水。

异步,不用同时交换信息,例如,菜在锅里炖着,我先去亲一下老婆。


http://www.ppmy.cn/news/404479.html

相关文章

回溯算法基本思想及其实现

文章目录 基本思想回溯算法的递归框架组合问题组合总和组合去重子集全排列 基本思想 回溯算法是一种递归算法,它试图通过尝试不同的选择,解决一个问题。它的基本思想是从可能的决策开始搜索,如果发现这条路往下走不能得到有效的解答&#xf…

C++入门教程||C++ STL 教程

C STL 教程 C STL 教程 在前面的章节中,我们已经学习了 C 模板的概念。C STL(标准模板库)是一套功能强大的 C 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构&#xff0c…

Java中List、Set、Map的区别和实现方式

Java中List、Set、Map的区别和实现方式 List List 是一个有序的集合,即元素按照插入的顺序进行排序,可以有重复的元素。因为是有序的,所以可以根据下标来获取元素或者遍历整个集合内的元素。常用的实现类包括 ArrayList 和 LinkedList。 A…

PAT 1080. Graduate Admission (30)

算法思想:首先对所有学生按成绩排序,然后依次放入各个学校(过程中注意是否排名和该学校最后一名一样) 算法的主要步骤如下: 首先,根据申请者的总分和 GE 分数对申请者列表进行排序,将总分高的…

高通Kryo 架构

高通Kryo架构 Kryo Kryo是Qualcomm Technologies推出的首款定制设计的64位CPU。Kryo采用最新14纳米FinFET工艺制程,拥有四个核心,单核支持最高达2.2GHz的处理速度,与骁龙810处理器相比,Kryo CPU在性能方面将带来最高达两倍的提升…

Qualcomm 处理器 Krait架构

Krait是美国高通公司基于ARMv7-A指令集、自主设计的采用28纳米工艺的全新处理器微架构。能够实现每个内核最高运行速度可达2.5GHz,较高通第一代的Scorpion CPU微架构在性能上提高60%以上,并将功耗降低65%。 骁龙移动智能处理器的S4系列多数使用了Krait …

什么是SoC(System-on-a-Chip)

SoC SoC的全称叫做:System-on-a-Chip,中文的的意思就是“把系统都做在一个芯片上”,如果在PC时代我们说一个电脑的核心是CPU,那么在智能终端时代,手机的核心就是这个SoC。 这么说是因为SoC上集成了很多手机上最关键的…

【Unity3D】unity-mono编译libmono.so成功

目录 文章最终成功编译出libmono.so如下图所示,历时9天 一、下载文件配置环境 二、下载Unity-Mono库 三、正式开始编译libmono.so 1、libmono.so编译文件基础说明 2、修改相关文件(及其重要) ① 修改/home/用户名/mono/external/build…