目录

进程

互斥锁与信号量


进程

进程的定义:程序关于某个数据集合的一次执行过程。

结构特征:进程控制块(PCB) + 程序 + 数据 = 进程实体

进程的三种基本状态

(1) 就绪状态(Ready):进程已获得除CPU之外的所有必需的资源,一旦得到CPU控制权,立即可以运行。

(2) 运行状态(Running):进程已获得运行所必需的资源,它正在处理机上执行。

(3) 阻塞状态(Blocked):正在执行的进程由于发生某事件而暂时无法执行时,便放弃处理机而处于暂停状态,称该进程处于阻塞状态或等待状态。

转换图如下所示:

进程的5种状态:

这里要注意:活动阻塞是在内存中的,把资源释放后,就是挂起,就处于了外存,这样就有更多的资源了。

互斥锁与信号量

临界资源(Critical Resource):把一段时间内只允许一个进程访问的资源称为临界资源或独占资源。

临界区(Critical Section):每个进程中访问临界资源的那段代码称为临界区。

信号量机制:

1.信号量是OS提供的管理公有资源的有效手段。

2.信号量是一个整数,当信号量大于等于零时,代表可供并发进程使用的资源数量,当信号量小于零时,表示处于阻塞态进程的个数。

系统架构师学习笔记-操作系统(一)相关推荐

  1. 系统架构师学习笔记-操作系统(三)

    目录 存储管理 地址变换机构 分页和分段的主要区别 段页式存储管理 页面置换算法 作业管理 存储管理 段表:为使程序正常运行,须在系统中为每个进程建立一张段映射表,简称"段表".每 ...

  2. 系统架构师学习笔记-操作系统(二)

    目录 文件管理 存储管理 文件管理 文件存在以下两种形式的结构: 1.文件的逻辑结构.从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织. ...

  3. 系统架构师学习笔记_第六章(下)_连载

    系统架构师学习笔记_第六章(下)_连载 6.3 基于 UML 的软件开发过程 6.3.1  开发过程概述 UML 是独立于软件开发过程的,能够在几乎任何一种软件开发过程中使用.迭代的渐进式软件开发过程 ...

  4. 系统架构师学习笔记_第十四章_连载

    第十四章  基于ODP的架构师实践 14.1  基于ODP的架构开发过程 系统架构 反映了功能在系统系统构件中的 分布.基础设施相关技术.架构设计模式 等,它包含了架构的 原则 和 方法.构件关系 与 ...

  5. 系统架构师学习笔记-论文摘要部分的写法

    目录 各种例子 总结 各种例子 首先说明下注意点: 凡是题目上提到的关键字,在摘要中都要体现: 举下面这个例子: 论软件需求管理 注意:题目中要求的地方,一定要在摘要中进行体现 摘要部分: 要写近2年 ...

  6. 系统架构师学习笔记_第二章_连载

    <计算机网络基础知识> 计算机系统 由 硬件和软件组成,软件通常分为 系统软件和应用软件. 系统软件支持应用软件的运行,为用户开发应用软件提供平台,用户可以使用它,但不能随意修改它. 常用 ...

  7. 系统架构师学习笔记_第五章(下)_连载

    5.3  软件架构风格 体系结构设计 核心目标是 重复的体系结构模式,体系结构级的 软件重用. 5.3.1  软件架构风格概述 一个体系结构 定义 一个词汇表 和 一组约束.词汇表中包含 构件和连接件 ...

  8. 系统架构师学习笔记-分布式系统

    目录 分布式操作系统 分布式数据库系统 云计算 分布式操作系统 分布式操作系统是为管理分布式系统而开发的系统软件,它能使分布式系统中的各个场地既能较均等地分担控制功能.独立发挥自身控制作用,又能相互协 ...

  9. 系统架构师学习笔记_第三章_连载

    1975年,意大利学者 朗高(G·Longo)提出:信息是反映事物的形式.关系相差别的东西,它包含在事物的差异之中,而不在事物本身. 目前,关于信息 比较科学和统一的定义是:信息是对客观事物 变化和特 ...

最新文章

  1. arm02gnu/linux,2.1. 支持的硬件 - Debian GNU/Linux 安装手册(PPC架构)
  2. 【正一专栏】谁能阻止超神的曼城
  3. BugKu:cookies 欺骗
  4. DL之SqueezeNet:SqueezeNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  5. 剑指offer python 博客园_python-剑指offer16-20
  6. UIT信息容灾概论(6)
  7. html布局overflow,overflow的中文意思
  8. 如何进行产品战略规划
  9. python如何导入类里_Python导入模块中的所有类(98)
  10. android gettext方法,方法getText()必须从UI线程(Android Studio)调用
  11. 三星note8android 9.0,三星S9/S9+计划明天推送安卓9.0正式版、S8/S8+、Note8下周推测试版...
  12. html两列合并一列,如何将excel中两列数据合并到一列呢
  13. Redis过期键删除策略
  14. 小米5s Plus安装类原生系统
  15. 组装k39小钢炮(ubuntu16.04),了解一下!
  16. 定义函数:判断一个数是否为素数,并调用
  17. 对象认知全提升,成为 JS 高手
  18. Unit Test Harness(用具)应该具备什么功能?
  19. 焚烧系统里的木马 教你彻底清除木马病毒
  20. 前端单元测试怎么写(以Vue为例)

热门文章

  1. Java Enum学习总结
  2. 是什么让你踏上了程序员的道路?
  3. 乐乐茶签约帆软软件,打造新式茶饮数字化管理新标杆
  4. Python中的错误处理
  5. gduuu 中旅 他最恨的是猎人
  6. 到了姥姥家我在小点点c++
  7. 『无聊透顶』一篇很无聊的文章
  8. 『震惊』秘密报告披露转基因食品危害
  9. 超强Python入门基础知识总结!是时候学起来了
  10. “码农”被黑得最惨的一次,深夜下班被误认为小偷