进程,轻量级进程,内核线程,用户线程的区别关系.docVIP

  • 3
  • 0
  • 约1.92千字
  • 约 3页
  • 2017-08-22 发布于河南
  • 举报

进程,轻量级进程,内核线程,用户线程的区别关系.doc

进程,轻量级进程,内核线程,用户线程的区别关系 在现代操作系统中,进程支持多线程。进程是资源管理的最小单元;而线程是程序执行的最小单元。一个进程的组成实体可以分为两大部分:线程集合资源集。进程中的线程是动态的对象;代表了进程指令的执行。资源,包括地址空间、打开的文件、用户信息等等,由进程内的线程共享。 线程有自己的私有数据:程序计数器,栈空间以及寄存器。 Why Thread?(传统单线程进程的缺点) 1. 现实中有很多需要并发处理的任务,如数据库的服务器端、网络服务器、大容量计算等。 2. 传统的UNIX进程是单线程的,单线程意味着程序必须是顺序执行,不能并发;既在一个时刻只能运行在一个处理器上,因此不能充分利用多处理器框架的计算机。 3. 如果采用多进程的方法,则有如下问题: a. fork一个子进程的消耗是很大的,fork是一个昂贵的系统调用,即使使用现代的写时复制(copy-on-write)技术。 b. 各个进程拥有自己独立的地址空间,进程间的协作需要复杂的IPC技术,如消息传递和共享内存等。 多线程的优缺点 多线程的优点和缺点实际上是对立统一的。 支持多线程的程序(进程)可以取得真正的并行(parallelism),且由于共享进程的代码和全局数据,故线程间的通信是方便的。它的缺点也是由于线程共享进程的地址空间,因此可能会导致竞争,因此对某一块有多个线程要访问的数据需要一

文档评论(0)

1亿VIP精品文档

相关文档