第一次尝试回帖有奖  ,70%中奖率,嘻嘻

进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。

最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。


计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。




假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就是,单个CPU一次只能运行一个任务。


进程就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。


一个车间里,可以有很多工人。他们协同完成一个任务。

线程就好比车间里的工人。一个进程可以包括多个线程。



车间的空间是工人们共享的,比如许多房间是每个工人都可以进出的。这象征一个进程的内存空间是共享的,每个线程都可以使用这些共享内存。


可是,每间房间的大小不同,有些房间最多只能容纳一个人,比如厕所。里面有人的时候,其他人就不能进去了。这代表一个线程使用某些共享内存时,其他线程必须等它结束,才能使用这一块内存。


一个防止他人进入的简单方法,就是门口加一把锁。先到的人锁上门,后到的人看到上锁,就在门口排队,等锁打开再进去。这就叫"互斥锁"(Mutual exclusion,缩写 Mutex),防止多个线程同时读写某一块内存区域。


还有些房间,可以同时容纳n个人,比如厨房。也就是说,如果人数大于n,多出来的人只能在外面等着。这好比某些内存区域,只能供给固定数目的线程使用。



这时的解决方法,就是在门口挂n把钥匙。进去的人就取一把钥匙,出来时再把钥匙挂回原处。后到的人发现钥匙架空了,就知道必须在门口排队等着了。这种做法叫做"信号量"(Semaphore),用来保证多个线程不会互相冲突。
不难看出,mutex是semaphore的一种特殊情况(n=1时)。也就是说,完全可以用后者替代前者。但是,因为mutex较为简单,且效率高,所以在必须保证资源独占的情况下,还是采用这种设计。


操作系统的设计,因此可以归结为三点:
(1)以多进程形式,允许多个任务同时运行;
(2)以多线程形式,允许单个任务分成不同的部分运行;
(3)提供协调机制,一方面防止进程之间和线程之间产生冲突,另一方面允许进程之间和线程之间共享资源。


(完)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

参与人数 3学分 +56 收起 理由
晨茵舞步 + 20 好家伙,必须要加分的!!
hslx111 + 12 感谢您为软院筒子们提供有用信息!
admin + 24 题目通俗易懂,又学习又加分,赞

查看全部评分

共收到 64 条回复
speedo · #2 · 2013-4-25 19:25:26  回复 支持 反对
明早考试,我能先收藏再看,这样会不会有奖?
xywhere · #3 · 2013-4-25 19:27:21  回复 支持 反对
学习了学习了 ,果然很生动形象啊

评分

参与人数 1学分 +2 收起 理由
sissi + 2 发福利 接招

查看全部评分

terry · #4 · 2013-4-25 19:28:21  回复 支持 反对
看到有好多图,来学习下

评分

参与人数 1学分 +2 收起 理由
sissi + 2 发福利咯

查看全部评分

xywhere · #5 · 2013-4-25 19:30:32  回复 支持 反对
支持回帖有奖
10楼+10  20楼+15  
快快行动起来吧筒子们

点评

vo_
我表示我才看懂。。  详情 回复 发表于 2013-4-25 20:08
vo_ · #6 · 2013-4-25 19:42:32  回复 支持 反对
好生动形象的讲解,长知识有奖~

点评

说的好,顶  详情 回复 发表于 2013-4-26 07:22
vo_ · #7 · 2013-4-25 19:42:34  回复 支持 反对
好生动形象的讲解,长知识有奖~

点评

你网络也有问题了?回复两遍?  详情 回复 发表于 2013-4-26 07:22
vo_ · #8 · 2013-4-25 19:42:37  回复 支持 反对
好生动形象的讲解,长知识有奖~

点评

怎么又回复一遍?  详情 回复 发表于 2013-4-26 07:23
vo_ · #9 · 2013-4-25 19:42:41  回复 支持 反对
好生动形象的讲解,长知识有奖~

点评

原来你的险恶用心在这里。。。我太善良了,居然才察觉到。。。。  详情 回复 发表于 2013-4-26 07:24
额,不带这么刷的  详情 回复 发表于 2013-4-25 19:51
vo_ · #10 · 2013-4-25 19:42:45  回复 支持 反对
好生动形象的讲解,长知识有奖~

点评

你!!!!你太。。。。那啥了  详情 回复 发表于 2013-4-26 07:24
啥也不说了  详情 回复 发表于 2013-4-25 19:49

评分

参与人数 1学分 +15 收起 理由
xywhere + 15

查看全部评分

vo_ · #11 · 2013-4-25 19:42:53  回复 支持 反对
好生动形象的讲解,长知识有奖~

点评

居然还有!!!  详情 回复 发表于 2013-4-26 07:25
vo_ · #12 · 2013-4-25 19:42:56  回复 支持 反对
好生动形象的讲解,长知识有奖~

点评

。。。。。。不回了,你刷了这么多,一一回复累死我了。。。。  详情 回复 发表于 2013-4-26 07:26
hekune · #13 · 2013-4-25 19:49:00  回复 支持 反对
学习了,谢谢

评分

参与人数 1学分 +2 收起 理由
sissi + 2 不用谢

查看全部评分

xywhere · #14 · 2013-4-25 19:49:55  回复 支持 反对
vo_ 发表于 2013-4-25 19:42
好生动形象的讲解,长知识有奖~

啥也不说了

评分

参与人数 1学分 +2 收起 理由
sissi + 2 VO_ 刷楼太猛了

查看全部评分

terry · #15 · 2013-4-25 19:51:16  回复 支持 反对
vo_ 发表于 2013-4-25 19:42
好生动形象的讲解,长知识有奖~

额,不带这么刷的

点评

vo_
我可以说我是故意卡的么。。八过貌似一个没中,掩面啊。。  详情 回复 发表于 2013-4-25 20:03
xywhere · #16 · 2013-4-25 20:00:25  回复 支持 反对
越看越形象,收藏了

点评

vo_
我已经收藏了~~还好有你支持我,没白卡刷TT。。  详情 回复 发表于 2013-4-25 20:06
vo_ · #17 · 2013-4-25 20:03:19  回复 支持 反对
terry 发表于 2013-4-25 19:51
额,不带这么刷的

我可以说我是故意卡的么。。八过貌似一个没中,掩面啊。。

评分

参与人数 1学分 +4 收起 理由
sissi + 4 这个每个人最多中两次 有设定的 (*^__^*).

查看全部评分

vo_ · #18 · 2013-4-25 20:06:32  回复 支持 反对
xywhere 发表于 2013-4-25 20:00
越看越形象,收藏了

我已经收藏了~~还好有你支持我,没白卡刷TT。。
vo_ · #19 · 2013-4-25 20:08:18  回复 支持 反对
xywhere 发表于 2013-4-25 19:30
支持回帖有奖
10楼+10  20楼+15  
快快行动起来吧筒子们

我表示我才看懂。。
sunyan1112 · #20 · 2013-4-25 20:43:06  回复 支持 反对
好帖好帖~顶顶顶~

点评

哇塞!这么幸运~  详情 回复 发表于 2013-4-25 21:28

评分

参与人数 2学分 +20 收起 理由
vo_ + 5 差点没刹住把这宝贵的20楼也给占了。。弥补.
xywhere + 15 中奖

查看全部评分

sunyan1112 · #21 · 2013-4-25 21:28:33  回复 支持 反对
sunyan1112 发表于 2013-4-25 20:43
好帖好帖~顶顶顶~

哇塞!这么幸运~
hslx111 · #22 · 2013-4-25 21:39:03  回复 支持 反对
必须先回帖再看~

评分

参与人数 1学分 +2 收起 理由
sissi + 2 嘿嘿 好习惯 奖一个 (*^__^*) 嘻嘻……

查看全部评分

大菜 · #23 · 2013-4-25 21:43:20  回复 支持 反对
好生动形象的讲解,求奖励

评分

参与人数 1学分 +2 收起 理由
sissi + 2 发福利 O(∩_∩)O哈哈~

查看全部评分

世俗的程序员 · #24 · 2013-4-25 22:09:24  回复 支持 反对
好东西是要顶的,谢谢学长啊。。

评分

参与人数 1学分 +2 收起 理由
sissi + 2 不用谢

查看全部评分

阎魔あい · #25 · 2013-4-25 22:12:38  回复 支持 反对
有奖~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
阎魔あい · #26 · 2013-4-25 22:13:11  回复 支持 反对
有奖~~~~~~~~~~~~~~~~

评分

参与人数 1学分 +11 收起 理由
xywhere + 11 11-1=10

查看全部评分

阎魔あい · #27 · 2013-4-25 22:13:16  回复 支持 反对
有奖~~~~~~~~~~~~~~~~

点评

告诉我……为啥给我扣分了???!!!!!  详情 回复 发表于 2013-4-25 22:30

评分

参与人数 2学分 0 收起 理由
sissi + 1 哈哈是XYWHERE 扣你的分的 都是小事 速速.
xywhere -1 中奖了

查看全部评分

阎魔あい · #28 · 2013-4-25 22:30:58  回复 支持 反对
阎魔あい 发表于 2013-4-25 22:13
有奖~~~~~~~~~~~~~~~~

告诉我……为啥给我扣分了???!!!!!
阎魔あい · #29 · 2013-4-25 22:37:43  回复 支持 反对
楼主还我学分!!!!!
阎魔あい · #30 · 2013-4-25 22:37:52  回复 支持 反对
楼主还我学分!!!!!

点评

我没扣你分 估计是网络问题?!  详情 回复 发表于 2013-4-26 09:28

评分

参与人数 1学分 +4 收起 理由
sissi + 4 淡定! 帮你加几分

查看全部评分

独慕冷风 · #31 · 2013-4-25 23:05:03  回复 支持 反对
还有一个比较简单的比方  进程就相当于家庭每个家庭之间是相互独立的,而线程相当于家庭成员,他们是共享家庭的财产物品的比如餐具,家具什么的,而每个家庭之间是不会共享这些财产的。

评分

参与人数 1学分 +4 收起 理由
sissi + 4 嗯 嗯

查看全部评分

最后一支恋歌 · #32 · 2013-4-25 23:25:37  回复 支持 反对
作者真的很有才!不过原文这里:这就叫"互斥锁"(Mutual exclusion,缩写 Mutex),防止多个线程同时读某一块内存区域。
多个线程可以同时某一块内存区域,读锁与读锁是相容锁,不必防止。

评分

参与人数 1学分 +2 收起 理由
sissi + 2 回帖有奖 恭喜恭喜

查看全部评分

yunxiaoyuxie · #33 · 2013-4-25 23:55:54  回复 支持 反对
说的太通俗了

评分

参与人数 1学分 +2 收起 理由
sissi + 2 回帖有奖 吼吼吼

查看全部评分

秋之叶 · #34 · 2013-4-25 23:58:35  回复 支持 反对
形容得挺恰当的,挺好理解的。

评分

参与人数 1学分 +2 收起 理由
sissi + 2 来来来 收福利

查看全部评分

小马 · #35 · 2013-4-26 07:22:02  回复 支持 反对
vo_ 发表于 2013-4-25 19:42
好生动形象的讲解,长知识有奖~

说的好,顶
小马 · #36 · 2013-4-26 07:22:44  回复 支持 反对
vo_ 发表于 2013-4-25 19:42
好生动形象的讲解,长知识有奖~

你网络也有问题了?回复两遍?
小马 · #37 · 2013-4-26 07:23:09  回复 支持 反对
vo_ 发表于 2013-4-25 19:42
好生动形象的讲解,长知识有奖~

怎么又回复一遍?
小马 · #38 · 2013-4-26 07:24:16  回复 支持 反对
vo_ 发表于 2013-4-25 19:42
好生动形象的讲解,长知识有奖~

原来你的险恶用心在这里。。。我太善良了,居然才察觉到。。。。
小马 · #39 · 2013-4-26 07:24:59  回复 支持 反对
vo_ 发表于 2013-4-25 19:42
好生动形象的讲解,长知识有奖~

你!!!!你太。。。。那啥了
小马 · #40 · 2013-4-26 07:25:58  回复 支持 反对
vo_ 发表于 2013-4-25 19:42
好生动形象的讲解,长知识有奖~

居然还有!!!

点评

vo_
你这是顶我呢,,,还是故意刷帖呢啊。。  详情 回复 发表于 2013-4-26 15:57

评分

参与人数 1学分 +4 收起 理由
sissi + 4 不容易 怎么回复了这么多帖子

查看全部评分

小马 · #41 · 2013-4-26 07:26:54  回复 支持 反对
vo_ 发表于 2013-4-25 19:42
好生动形象的讲解,长知识有奖~

。。。。。。不回了,你刷了这么多,一一回复累死我了。。。。
srs691 · #42 · 2013-4-26 09:15:16  回复 支持 反对
这个必须顶啊  很强大

评分

参与人数 1学分 +2 收起 理由
sissi + 2 回复有奖 头像很萌啊

查看全部评分

sissi · #43 · 2013-4-26 09:28:25  回复 支持 反对
阎魔あい 发表于 2013-4-25 22:37
楼主还我学分!!!!!

我没扣你分  估计是网络问题?!

点评

你给我加了11分又给了个-1 话说我20楼~给加分啊~~~~~~~~~~~~~~~  详情 回复 发表于 2013-4-26 10:22
你给我加了11分又给了个-1 话说我20楼~给加分啊~~~~~~~~~~~~~~~  详情 回复 发表于 2013-4-26 10:22
阎魔あい · #44 · 2013-4-26 10:22:17  回复 支持 反对
sissi 发表于 2013-4-26 09:28
我没扣你分  估计是网络问题?!

你给我加了11分又给了个-1   
话说我20楼~给加分啊~~~~~~~~~~~~~~~
阎魔あい · #45 · 2013-4-26 10:22:59  回复 支持 反对
sissi 发表于 2013-4-26 09:28
我没扣你分  估计是网络问题?!

你给我加了11分又给了个-1   
话说我20楼~给加分啊~~~~~~~~~~~~~~~
speedo · #46 · 2013-4-26 12:26:30  回复 支持 反对
看完看完,回顾了一下之前的知识,挺好的
天地乾坤子 · #47 · 2013-4-26 12:40:14  回复 支持 反对
第一有奖啊,哈哈,我是冲着奖来的,第二,把操作系统里面的同步和互斥问题,用例子讲出来,非常形象

评分

参与人数 1学分 +2 收起 理由
sissi + 2 嘿嘿

查看全部评分

quzhiyong · #48 · 2013-4-26 12:55:04  回复 支持 反对
顶顶顶顶顶顶顶顶顶顶

评分

参与人数 1学分 +2 收起 理由
sissi + 2 发福利啦

查看全部评分

sissi · #49 · 2013-4-26 12:56:05  回复 支持 反对
@admin   咦   我发现怎么后来系统都不会自动加分捏

点评

vo_
原来学姐都是手动加分的,辛苦辛苦啦  详情 回复 发表于 2013-4-26 16:04
额,是不是这个帖子分送完了?你设置了送多少分?  详情 回复 发表于 2013-4-26 13:51
admin · #50 · 2013-4-26 13:51:24  回复 支持 反对
sissi 发表于 2013-4-26 12:56
@admin   咦   我发现怎么后来系统都不会自动加分捏

额,是不是这个帖子分送完了?你设置了送多少分?
回帖
B Color Image Link Quote Code Smilies
Command + Enter
快速回复 返回顶部 返回列表