QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3889|回复: 6

如何区别这几个词?process,task,thread

[复制链接]
发表于 2003-10-20 09:37:20 | 显示全部楼层 |阅读模式
似乎都指进程
发表于 2003-10-20 12:40:36 | 显示全部楼层
process是UNIX用的
task是INTEL用的
在LINUX下thread与process无本质区别,LINUX以轻进程支持thread

i think
回复

使用道具 举报

发表于 2003-10-20 23:08:27 | 显示全部楼层
yes,
In Intel term-system, task == process

In tranditional Linux,a process produced by fork() can share his father like threads.
There are some thread-lib in Linux(both kernel level & usr-space level) such as NPTL.
回复

使用道具 举报

发表于 2003-10-21 08:30:52 | 显示全部楼层
我觉得楼主最好找本OS的书好好看看,这样理解会全面一些.
我对进程和线程的理解:
进程是可执行程序运行的实体, 包括程序的image,运行所需的堆栈,各种系统资源,比如:最大文件打开数目等等。
线程不能独立于其所属的进程存在。线程之间的切换花费比进程间的要少。。。。还有很多特性....(我记不得了,不能一一说明)
比如windows,一个普通程序运行,首先会产生一个进程和内核进程对象;然后会产生一个线程和一个内核线程对象。进程主要负责资源管理,而线程才使真正负责执行程序。这和linux是不一样的。
回复

使用道具 举报

 楼主| 发表于 2003-10-21 12:06:03 | 显示全部楼层
[quote:d39e83f0a1="jjww"]我觉得楼主最好找本OS的书好好看看,这样理解会全面一些.
我对进程和线程的理解:
进程是可执行程序运行的实体, 包括程序的image,运行所需的堆栈,各种系统资源,比如:最大文件打开数目等等。
线程不能独立于其所属的进程存在。线程之间的切换花费比进程间的要少。。。。还有很多特性....(我记不得了,不能一一说明)
比如windows,一个普通程序运行,首先会产生一个进程和内核进程对象;然后会产生一个线程和一个内核线程对象。进程主要负责资源管理,而线程才使真正负责执行程序。这和linux是不一样的。[/quote]
这是OS教材上的说法吧?但在Linux下似乎thread和task并无区别,正如二楼的兄弟所说
回复

使用道具 举报

发表于 2003-10-21 13:03:43 | 显示全部楼层
TASK == PROCESS,PROCESS 是OS世界的名词,而TASK是CPU工业的名词,其实,在INTEL的名词中,TASK应该包括了THREAD 及 PROCESS.CPU 分不出PROCESS和THREAD的,就CPU而言,他以TSS为划分不同TASK的标准,而LINUX对TSS的使用是带有欺骗性质的。所以,在LINUX 中,PROCESS 及TASK基本可以互换的。

在LINUX中,THREAD 本质说是没有私有用户空间(及 MM-STRUCT指针为空)的进程,因为她主要在内核空间活动,而所有进程的进程页表中,内核空间部分(》3G)部分是一样的,所以为了维持进程切换时的语义完整,THREAD会借用她前一个进程的MM-STRUCT。
回复

使用道具 举报

发表于 2003-10-28 17:56:49 | 显示全部楼层
???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 07:03 , Processed in 0.043783 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表