码迷,mamicode.com
首页 > 编程语言 > 详细

操作系统之线程篇1

时间:2015-03-04 14:40:25      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

1.线程是我们为了让进程能够同时干多件事而发明的分身术。在线程模式下,线程是进程的不同执行序列,一个进程至少有一个线程,但也可以有多个线程。将进程分为线程还可以有效地利用多核处理器和多核计算机,在没有线程的情况下,增加一个处理器并不能提高一个进程的执行速度,但如果分解为不同的线程,可以让各线程运转在不同的处理器上,从而提高了进程的速度。

技术分享

2.如进程相似,系统管理线程是通过线程控制表和线程控制块来实现的。

3.线程与进程的不同之处在于,线程共享了一个进程空间,进程与进程之间基本是独立的空间。这些共享的资源显然不需要存放在线程控制块里,而是存放在进程控制块里,线程共享的资源通常有地址空间,全局变量,文件,子进程,信号等,但程序计数器不能共享,寄存器和状态字不能共享,栈也不能共享。

4.   

技术分享

5.内核态线程实现:操作系统同时保有进程控制块和线程控制块。最重要的好处就是用户编程简单。缺点首先是效率低,每次线程切换都需要陷入内核,这是要花时间的;其次是占用了内核宝贵的资源,线程的数量基本都比进程的数量多很多;最后线程的内核态实现要修改现有的很多操作系统,所以最后线程还是在用户态实现的更多。

6.用户态线程实现:就是用户自己做线程切换,自己管理线程信息,而操作系统无需知道线程的存在。也就是用户自己写一个执行系统做调度器,执行系统做调度器也是一个线程,没有能力强行夺走控制权,所以大家都必须合作。优点是:首先很灵活,因为操作系统无需知道线程,所以在任何操作系统基本都是可用的;其次,由于不用陷入内核,所以线程切换快。缺点:无法完全达到线程提出所要达到的目的:进程级多道编程。

7.线程阻塞引发的一系列探究?

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

8.现代操作系统将用户态和内核态的线程模式结合了起来。用户态的执行系统负责进程内的线程在非阻塞时的切换,而内核态的操作系统负责阻塞时的切换,而用户态线程数较多,内核态线程数少,每一个内核线程可以服务一个或多个用户态线程。

 

 

操作系统之线程篇1

标签:

原文地址:http://blog.csdn.net/tangxing1212/article/details/44059745

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!