Chinaunix首页 | 论坛 | 博客
  • 博客访问: 120416
  • 博文数量: 16
  • 博客积分: 1464
  • 博客等级: 上尉
  • 技术积分: 221
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-15 21:35
文章分类

全部博文(16)

文章存档

2011年(3)

2010年(7)

2009年(2)

2008年(1)

2006年(3)

我的朋友

分类: LINUX

2011-11-05 21:34:04

    最近我想把自己理解的进程和线程写写,以后有一个梦想,就是把自己的博客整理出一本书,呵呵。
线程和进场应该分两个方面讨论:
 
进程:
1.在用户态,进程是装载程序运行的一个实体。1个程序可以对应多个进程,但是1个进程只能对应1个程序。(有兴趣的朋友可以去查查fork调用)
2.在内核态,内核调度的一个实体。
线程:
1.在用户空间,linux线程需要pthread库的支持。(就是POSIX的LinuxThreads)
2.在内核空间,linux并没有所谓的进程和线程之分,线程在内核态也就是一个普通的进程,它拥有自己的进程描述符,只不过该进程与其他的一些进程共享某些资源,并且称这样的进程为
Light Weight Process。(记得很久以前一次面试,我这么说“linux其实没有线程的概念”,然后他就清高把我嘲笑了一把,不过我还是认真的把剩下的面试面完了)
进程间的通讯方式:
Linux支持经典的UNIX IPC机制,Signals,Pipes.也支持System V IPC机制,Shared Memory,semaphore,Message Queues。
内核进程相关:
 task_struct这个是进程描述符的结构体,包含了很多信息。
阅读(930) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~