读书笔记之《操作系统概念》

非常小型的操作系统,如篇首的小恐龙所使用的驱动手持设备的操作系统,是Silberschatz、Galvin和Gagne第七版《操作系统概念》中的一种前沿应用。通过保留最新的,保持有意义的,并改编为课程最需要的内容,这本引导市场潮流的教材继续指导着操作系统课程。

第二部分 进程管理

第四章 进程

进程状态

创建、运行、等待、就绪、终止

进程:一个具有单个控制线程的执行程序。

第五章 线程

线程:是CPU使用的基本单元

多线程编程优点:

  • 响应度高
  • 资源共享
  • 经济
  • 多处理器体系结构的利用


多线程模型

  1. 多对一 Many-to-one

优点:

线程之间切换快

可以用用户自己的方式管理线程库

缺点:

如果一个线程执行了阻塞系统调用,那么整个系统就会阻塞。

  1. 一对一 One - to - one

优点:更好的并发能力

缺点:创建一个用户线程就需要创建一个相应的内核线程

  1. 多对多 Many-to - many

优点:没有many-to-One和 one-to -one的缺点


  • 线程池

在进程开始时创建一定数量的线程,并放入到池中坐以等待工作。

如果池中没有可用的线程,那么服务器会一直等待直到有空线程为止。

优点:

  1. 用现有线程处理请求要比等待创建新的线程要快
  2. 线程池限制了在任何时候可存在线程的数量

第七章 进程同步

多个进程并发访问和操作同一数据且执行结果与访问发生的特定顺序有关,称为竞争条件。

两个或多个进程无限地等待一个事件,而该事件只能由这些等待进程之一来产生。当出现这样的状态时,这些进程称为死锁(deadlocked)。


第八章 死锁

  • 必要条件
  1. 互斥:至少有一个资源必须处于非共享模式,即一次只有一个进程使用。
  2. 占有并等待:一个进程必须占有至少一个资源,并等待另一资源,而该资源为其他进程所占有。
  3. 非抢占:资源不能被抢占;即,只有进程完成其任务之后,才会释放其资源。
  4. 循环等待:一组进程,循环等待下一个的资源。

所有四个条件必须同时满足才会出现死锁。

为了预防死锁,要确保这四个必要条件中的一个不成立。


  • 死锁恢复
  1. 进程终止

终止所有死锁进程

一次只终止一个进程直到取消死锁循环为止

  1. 资源抢占

选择一个牺牲品

回滚

饥饿



从理论上来说,有三种方法可以处理死锁:

  1. 使用一些协议来预防或避免死锁,确保系统永远都不会进到死锁状态。
  2. 允许系统进入死锁状态,检测死锁,并恢复。
  3. 忽视所有问题,并假设系统中永远都不会出现死锁。


原文地址:https://www.cnblogs.com/daminzhou/p/8387188.html

时间: 2024-10-20 22:47:49

读书笔记之《操作系统概念》的相关文章

读书笔记-《习惯的力量》

习惯的主要性 我们大部分的决定不是深思熟虑做的,而是习惯性去做的,人生是无数的习惯的总和. 日常动作40%以上是习惯去做的,不费脑子,每天累计起来会改变自己的人生. 个人的习惯 ?了解习惯的形成,培养好的习惯,改掉坏习惯 习惯回路 信号 -> 行动 ->奖励 :暗示我们自己做出行为会有好出,结束后再次执行 比如跑步的奖励,让身体很爽. 原文地址:https://www.cnblogs.com/xiaoniuzai/p/8372682.html

《高效能人士的七个习惯》读书笔记

<高效能人士的七个习惯>读书笔记 昨天跟某人聊到效率的问题,想到之前看过一本<高效能人士的七个习惯>,遂再拿出来翻翻记个笔记吧. <高效能人士的七个习惯>这本书已面世快30年了.这30年以来,世界发生了巨大的变化,人们的生活方式.工作方式.价值观都有了较大的改变,但翻了翻该书仍有一些新的心得和体会.这大概是不同时代的人们总会面临一些相同的问题: 谴责和抱怨,遇到问题就习惯谴责其他人和事,总是说:如果xxx,那该多好, 没有承担对周围环境的责任. 绝望无助,对现实无能为力

《巴菲特与索罗斯的投资习惯》读书笔记

巴菲特与索罗斯的投资习惯 收益与风险 收益越高风险越大,或者风险越大收益越高都是没有道理的,风险和收益逻辑上不一定是正相关的,只不过收益越高,人们愿意承担的风险越高而已. 降低风险的同时提高收益是不矛盾的.但风险控制应优先于收益. 同样的事情,对你来说是危险的,但对于高手来说则没有风险,因此,为了降低风险,尽力成为高手吧 关于投资 赚钱只是投资的目的而已,投资策略才是投资的手段. 只是将注意力集中在目的上是没有意义的,因为它只是你的手段所产生的自然结果. 因此我们需要把注意力几种在对投资策略的调

[读书笔记—程序员]《高效程序员的45个习惯:敏捷开发修炼之道》- 苏帕拉马尼亚姆,亨特

虽然不记得阅读本书用了多久,但是整理本书的读书笔记用了两个小时的时间,因为本书的大部分内容对于笔者来说都是新知识,很难进行归纳总结 本书所讲的是程序员应具有的工作态度和在团队中作为开发者和领导者具备的各种"敏捷的"习惯.虽然本书对于程序员的硬实力(本书讲解的编程语言是面向对象类语言,但是讲解的代码非常少)帮助不大,但是对于程序员应该具备的软实力的培养和提高有极大的帮助,是每位程序员都应该反复阅读的书籍. 第一章 敏捷-高效软件开发之道 什么是敏捷开发方法? 2001年2月,17位志愿者

《高效程序猿的45个习惯》读书笔记

<高效程序猿的45个习惯>这本书的副标题是敏捷开发修炼之道.这是一本讲敏捷的书,假设你之前未接触过敏捷.从这本书,能够了解到敏捷的核心观点. 这里面主要讲了三方面的内容,观念,沟通,以及编码. 观念 我们首先从观念来看,提观念当然少不了敏捷宣言: 个体和交互胜过过程和工具: 可工作的软件胜过面面俱到的文档: 客户的协作胜过合同谈判. 响应变化胜过遵循计划: 敏捷开发改变了整个开发流程: 传统的瀑布模型是重设计.资深的架构设计师将设计事无巨细的做出来.然后让小兵来开发:在面对需求变更时.通常非常

读书笔记_Effective C++_习惯C++

这是一本非常经典C++书籍,也是我在工作中发现自己C++上还有很多薄弱点的时候经常拿来充电的.这本书内容很多,讲了很多如何高效地使用C++的方法,有些地方自己也没能啃透,读过一遍后很多知识点容易忘记,这次是一条一条地进行温习,之所以会分享出来是觉得对于程序员来说,好记性不如烂笔头,自己多动手往往在真正写程序的时候能够像条件反射一样写出好的代码.慢工出细活,对待技术要有谨慎和敬畏之心. 这本书推荐喜欢C++的人多读,对文中的一些观点可以自己进行实践,因为内容比较多,所以根据章节进行了划分,笔记中会

【读书笔记】致加西亚的信(一)

前言 本书主要是对敬业.忠诚.主动和勤奋的一些思考,对我们在以后的工作和生活中很有帮助,可以开阔我们的视野.记录会让自己理解的更深刻,回忆的时候可以给自己提供更多的线索.希望也会对你有所帮助. 致加西亚的信 美西战争爆发以后,美国必须马上与西班牙反抗军首领加西亚将军取得联系.加西亚将军隐藏在古巴辽阔的崇山峻岭中,没有人知道确切的地点,因而无法送信给他.但是,美国总统必须尽快地与他建立合作关系.于是有人推荐了一位叫罗文的人.总统把信交给了他,并说明了其重要性,罗文默默的接过信,凭着忠诚和毅力完美的

《如何高效学习》读书笔记(一)——整体性学习策略

比喻的重要性华罗庚在讲“统筹”方法时,用了“怎样泡茶最省时间”的比喻.比喻的作用常常被我们忽视,仅仅把它当作文学中的修辞手段,是文学家用来增强表达效果的点缀和修饰.其实,比喻是我们必须掌握的站在外面看知识的本领.比喻不再局限于文学领域,它是我们的思维方式,更是我们的认知工具.莱考夫把隐喻定义为“以一种事物认知另一种事物”, 而这恰恰就是学习的本质! --------------------------------------------------------------------------

读书笔记:《遇见未知的自己》

读书笔记:<遇见未知的自己> <遇见未知的自 己>是看着某个人的书单没有经过考虑而购买的,拿到书后看着封面,再看看前几页的介绍,感觉非常适合女人去读,老婆下班之后整天看电视.看电影,经常怨声 载道的向我唠叨诉苦,于是就把这本书扔给老婆去看了,看看她有什么反应.2天后她把书拿了回来,没有任何的反馈,可能一本书中会有几段对她产生点影响吧, 或者她就是随手翻了几页.(2012年12月1日又看了一遍,发现这半年多媳妇还是有些变化,报怨比以前减少了,可能我自己也在改变,当自己的心态发生积极的

书都不会读,你还想成功—读书笔记

书都不会读,你还想成功-读书笔记 一.     我要改变人生 1.    要想离开相差无几的竞争环境,仅仅不停歇地奔跑是不够的,还需要付出两倍以上的努力才能够实现. 2.    跑得不够快,就无法前进.若沿逆行的滚梯往山走,即便是跑步前进,如果速度不够快,结果还是停在原地. 3.    不仅是生物界和企业,社会中的每一个个人不是一样的,都是因为不停地奔跑才存活了下来. 4.    读书就像一天三顿饭:100天读33本书.要学会掌握要领,还要有一定成功的信心. 5.    培养读书习惯的最初阶段能