<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[操作系统中进程概念的理解]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Wed, 21 May 2008 13:09:13 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	操作系统中进程概念的理解<br/><br/> <br/><br/>提起进程这个概念，让很多经常使用计算机的人感到陌生，其实我们经常和它打交道，只要在计算机上运行一个程序，相应的一个进程就诞生了，而且它伴随着整个操作过程，直到程序终止。进程在操作系统中是一个非常抽象、非常重要、非常难以理解的概念。对进程概念的深入透彻的理解，有助于理解操作系统中的各种机制原理。<br/><br/> <br/><br/>为什么要引入进程概念<br/><br/> <br/><br/>提起程序这个概念，大家再也熟悉不过了，程序与进程概念是不可分的。程序是为了完成某项任务编排的语句序列，它告诉计算机如何执行，因此程序是需要运行的。程序运行过程中需要占有计算机的各种资源才能运行下去。如果任一时刻，系统中只有一道程序，即单道程序系统，程序则在整个运行过程中独占计算机全部资源，整个程序运行的过程就非常简单了，管理起来也非常容易。就象整个一套房子住了一个人，他想看电视就看电视，想去卫生间就去卫生间，没人和他抢占资源。但为了提高资源利用率和系统处理能力，现代计算机系统都是多道程序系统，即多道程序并发执行。程序的并发执行带来了一些新的问题，如资源的共享与竞争，它会改变程序的执行速度。就象多个人同时住一套房子，当你想去卫生间的时候，如果此时卫生间里有人，你就得等待，影响了你的生活节奏。如果程序执行速度不当，就会导致程序的执行结果失去封闭性和可再现性，这是我们不希望看到的。因此应该采取措施来制约、控制各并发程序段的执行速度。由于程序是静态的，我们看到的程序是存储在存储介质上的，它无法反映出程序执行过程中的动态特性，而且程序在执行过程中是不断申请资源，程序作为共享资源的基本单位是不合适的，所以需要引入一个概念，它能描述程序的执行过程而且可以作为共享资源的基本单位，这个概念就是进程。<br/><br/> <br/><br/>进程的生命周期<br/><br/> <br/><br/>进程和人一样是有生命的，从诞生到死亡要经历若干个阶段。一般说来进程有三种状态：就绪、执行、等待。由多种原因可以导致创建一个进程，例如一个程序从外存调入内存开始执行，操作系统就要为其创建进程，当然还可以有其它原因，如一个应用进程为完成一个特殊的任务，可以自己创建一个子进程。进程被创建后就是在内存中，处于就绪状态，所谓就绪状态就是具备除了CPU之外的所有资源，万事具备，只欠东风，一旦占有了CPU，就变成了执行状态，执行中如果需要等待外围设备输入数据，则进程就沦落为等待状态，操作系统又会从就绪状态队列中调度一个进程占有CPU。等到数据到来后，等待状态的进程又被唤醒成为就绪状态。这些状态的转换是通过进程控制原语实现的。程序的运行是通过进程体现的，操作系统对进程进行管理和控制，那么操作系统怎么了解到进程的状态呢，怎么把资源分配给进程呢，而且进程做状态转换时CPU现场保存在那呢？这要说到PCB（进程控制快）。PCB是进程的唯一标志，在其中记录了进程的全部信息，它是一种记录型的数据结构，相当于进程的档案。操作系统就通过PCB感知进程的存在，通过PCB了解进程和控制进程的运行。PCB也是放在内存中的，如果PCB太大，有些系统把PCB中一些不重要的信息放在外存中。<br/><br/>进程执行速度的制约<br/><br/> <br/><br/>并发进程由于共享系统内部资源，因此导致进程执行速度上的制约，这种制约分为：间接制约与直接制约。间接制约引起进程之间的互斥执行，直接制约引起进程间的同步执行。例如一个家里如果只有一个卫生间，卫生间这个公有资源使得每个人只能互斥使用它，这就是间接制约。而直接制约是指并发进程各自执行的结果互为对方的执行条件，例如司机与售票员的关系，当司机到站停车后，售票员才能开门，而只有售票员关门后，司机才能开车，他们之间是同步的。进程的互斥与同步可以很好的通过信号量和PV原语来实现。通过读一些同步与互斥的例子，你会体会到PV原语的精妙，也会感到一种乐趣。并发进程的资源竞争不当还会导致死锁现象。<br/><br/><br/><br/>http://www.usbuse.com/html/ittxmcsy/140743404.html<br/><br/><br/>
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 操作系统中进程概念的理解]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>