104科技
当前位置: 首页 电脑基础

操作系统概念(原书第9版)(《操作系统概念》笔记 临界区问题 - TSL & mutex lock)

时间:2024-04-19 作者: 小编 阅读量: 1 栏目名: 电脑基础

同时,也要注意结合真题和模拟题进行实战演练,以提高应试能力。实际上就是test_and_set以及compare_and_swap等指令的高级调用。在这里,available默认为true,从而使得while空循环不执行,然后我们将available从true变成了false。操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。《操作系统概念》是2007年由高等教育出版社出版的图书作者西尔伯查茨。

有哪些经典考研书目?

考研(研究生入学考试)是中国高等教育体系中非常重要的一个环节,它决定了学生是否能够进入研究生阶段继续深造。为了准备考研,学生们通常会参考一些经典的书目来复习和提高自己的知识水平。以下是一些在考研复习中被广泛推荐的书目,涵盖了不同的学科领域:
政治理论:
《马克思主义基本原理概论》:这本书是学习马克思主义基本理论的基础书籍,对于考研政治科目的复习至关重要。
《毛泽东思想和中国特色社会主义理论体系概论》:这本书帮助学生理解中国共产党的理论和实践,是考研政治科目的重要参考书。
英语:
《考研英语真题详解》:通过分析历年的考研英语真题,帮助学生掌握考试的题型和答题技巧。
《考研英语词汇精选》:词汇是英语学习的基础,这本书提供了考研必备的英语词汇。
数学:
《高等数学同济大学版》:这是一本高等数学的经典教材,适合理工科学生使用。
《线性代数》:线性代数是数学的一个重要分支,这本书帮助学生掌握线性代数的基本概念和解题方法。
专业课:
《计算机网络》:对于计算机专业的学生来说,这本书是学习网络基础知识的重要参考书。
《操作系统概念》:这本书介绍了操作系统的基本概念和原理,是计算机专业学生的必读书籍。
经济管理类:
《微观经济学》:这本书讲解了微观经济学的基本原理和模型,是经济管理类专业学生的常用教材。
《管理学原理》:这本书系统地介绍了管理学的基础知识,对于管理类专业的学生来说非常重要。
法律类:
《民法学》:民法是法律专业的核心课程之一,这本书详细介绍了民法的基本知识和案例分析。
《刑法学》:刑法是研究犯罪和刑罚的法律,这本书是法律专业学生的重要学习资料。
人文社科类:
《中国历史》:了解中国历史对于人文社科类学生来说非常重要,这本书提供了全面的历史知识。
《世界历史》:世界历史知识对于开阔视野、理解国际关系等方面都有重要作用。
以上书目只是考研复习中可能会用到的一部分经典书目,实际上每个专业和学科都有其特定的参考书目。考生在准备考研时,应该根据自己的专业要求和考试大纲,选择合适的书籍进行系统的学习和复习。同时,也要注意结合真题和模拟题进行实战演练,以提高应试能力。

《操作系统概念》笔记 临界区问题 - TSL & mutex lock

mutex lock是建立在操作系统给的特殊指令上的一种软件解决方法。

实际上就是test_and_set 以及 compare_and_swap 等指令的高级调用。当然,这里的test and set 和 compare and swap不是具体实现在某个平台的指令,只是抽象的定义了两类的指令。

如果不熟悉test and set的话,那么test and set指令的定义是这样的

当然,这只是定义,整个命令是作为一个atomic的指令的。

利用test and set命令来实现互斥是这个样子的:

lock 一开始被初始化为false,然后执行第一句while(tas(&lock)) 的时候
会发生两件事情,第一个就是这句话本身结果是false,这样就允许该线程接着往下执行进入临界区,第二个是这句话将lock赋值成true。

而当lock 取true值的时候,第二个线程如果执行第一句while(tas(&lock))的话,会无限循环busy waiting。就进不了临界区,直到第一个线程将lock 设置为false。 那个时候第一个线程也就已经离开临界区了,就达到了互斥的效果。

compare_and_swap的指令定义如下:

使用cas命令的互斥:

cas命令的分析也不难。

以上两个是操作系统提供的硬件的解决方法。但很可惜的是,用户程序一般不用汇编开发。所以类似于pthread ,windows都会提供软件上的解决方法。

最直接的思路就是mutex lock:在进入临界区之前应当获得一个lock,其他没有lock的线程就进入不了临界区,离开临界区应该释放掉这个lock,以便其他线程获得lock。

lock 的两个动作 ---获得,释放的定义如下:

要注意的是,acquire和release都是atomic的。

看到acquire的定义的时候是不是感觉到了一股既视感?回想一下tas里,第一句while执行的时候的两个动作,我们将lock 从 false变成 true,我们
tas指令返回false,从而使得while空循环不执行。

在这里,available默认为true,从而使得while空循环不执行,然后我们将available从true变成了false。

把lock 看成 (!available),我们知道tas固定设置lock = true ,也就是available = false;
这里用tas实现一下acquire :

tas(&lock)返回false,进入临界区,同时lock = true 阻碍了其他进程进入临界区。

但是因为tas命令只能实现lock = true 也就是available = false,所以我们无法用它来实现release,这个时候就可以用cas命令

而release实现如下:

当lock = false 的时候,我们将他改变成true。

于是我们现在有了TSL和mutex lock了。

什么是操作系统概念 ?

操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。操作系统的种类很多,各种设备安装的操作系统可从简单到复杂,可从手机的嵌入式操作系统到超级计算机的大型操作系统。目前流行的现代操作系统主要有Android、BSD、iOS、Linux、Mac OS X、Windows、Windows Phone和z/OS等,除了Windows和z/OS等少数操作系统,大部分操作系统都为类Unix操作系统。

操作系统概念有几个翻译版本

  • 选正规出版社出版的基本没什么差别。
  • 内容意思基本一直。
  • 盗版的就不要选择了,会翻译的一塌糊涂。
  • 《操作系统概念》是2007年由高等教育出版社出版的图书作者西尔伯查茨。
  • 热门推荐

    手机用久了为什么会卡(安卓手机用久了为什么会卡) 安装包怎么卸载(华为电脑安装包怎么卸载) 电脑键盘图片大图高清及功能详解(电脑键盘各个按键功能分别是什么?) 手机操作系统android的基本概念(android智能手机操作系统的详细解释) 行车电脑显示屏功能(行车电脑显示屏怎么用) iPhonexsmax来电铃声越来越小怎么调(苹果xsmax手机来电话铃声逐渐变小) 电脑软件安装指南常见软件类型安装步骤详解 电脑键盘的各个功能和作用图(请问电脑键盘各个按键有哪些作用 电脑键盘各个按键作用介绍) 电脑基本操作教您简单掌握计算机的使用方法 学会使用电脑的快捷操作电脑基础知识技巧全面解读 如何操作电脑基本知识(新手如何快速学电脑,介绍几种技巧) vivo(vivo云服务) 操作系统原理第三章课后答案(操作系统原理中,信号量这一节,代码如下。如果有两个进程,第一个A进程进入临界区之前把S减1,等于0) ios怎么录屏直播 ios录屏不小心点了开始直播 为什么微信公众号图片打不开 为什么微信公众号图片打不开文档 了解电脑处理器架构x86和ARM架构对比 小米双频gps怎么设置(小米的双频gps怎么用) 电脑开机密码忘了怎么办 win10电脑开机密码忘了怎么办 手机qq悄悄话怎么没了 qq里悄悄话怎么没有了 操作系统原理与linux实践教程课后答案(关于LINUX操作系统的不定项选择题,百分送。请简单说下选的原因,原因说了+100)