天道酬勤,恒者能胜。追求卓越,成功就会在不经意间追上你。

操作系统进程管理之线程(八)

上一篇 / 下一篇  2013-01-15 17:31:37 / 精华(1) / 置顶(1) / 个人分类:Linux操作系统

初中的时候,一次上课老师一人发一张A4,要求裁成两半,LZ拿出尺子,量好整张纸的长度,2,再用尺子在纸上找好位置,做好标记,用小刀裁开....只见同桌的MM把纸对折,按平,撕开....我拉低了全班的智商

 

 

1、 线程的引入

a)        如果说操作系统引入进程的目的是为了使多道程序并发执行,以改善资源利用率及提高系统吞吐量;操作系统中引入线程的目的是为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的并发性。

b)        进程的两个属性是:进程是一个拥有资源的独立单元、进程又是一个可以被处理机独立调度和分配的基本单元。为了程序更好地并发执行,引入了线程,让线程完成“线程是独立调度和分派的基本单元”,进程只完成“进程是资源分配的基本单元”

2、 线程的定义

a)        线程是进程内的一个执行单元;

b)        线程是进程内的一个可调度实体;

c)        线程是程序中相对独立的一个控制流序列;

d)        线程是执行的上下文,其含义是执行的现场数据和其他调度所需的信息;

e)        线程是进程内一个相对独立的,可调度的执行单元;

f)         线程自己基本上不拥有资源,指拥有一点运行时必不可少的资源,但它可以与同一个进程的其他线程共享进程内的全部资源;

g)        多线程是指一个进程中有多个线程,这些线程共享该进程资源,这些线程驻留在相同的地址空间中,共享数据和文件。

3、 线程的实现

a)        内核级线程:依赖于操作系统内核,由操作系统内核完成创建和撤销工作的线程;存在多个线程的进程获得更多处理机的时间;

b)        用户级线程:不依赖于操作系统内核,由应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制线程;存在多个线程的进程获得处理机的时间不变;

c)        兼有内核级线程和用户级线程:内核级线程和用户级线程一起协调进程、线程的工作,可以把两者优点结合起来。

4、 线程与进程的区别

a)        调度:传统系统中调度的是进程,引入线程的操作系统中调度的是线程。同一进程中,线程的切换不会引起进程的切换;不同进程中,线程的切换会引起进程的切换。

b)        拥有资源:进程是拥有资源的基本单元,线程不拥有资源或者是少许必不可少的资源,但是线程可以访问其进程的资源。

c)        并发性:进程可以并发执行,同一个进程内的线程也可以并发执行。

d)        系统开销:进程创建、切换、撤销都要分配资源因此需要较大的系统开销,而线程的创建、切换、撤销由于共享资源的因此需要较少的资源。

 

                                                                                                                                                  零测试


TAG: 零测试 线程 创建 多线程 进程 系统开销 进程状态

 

评分:0

我来说两句

Open Toolbar