当前位置: 技术问答>linux和unix
多任务,多进程,多线程的概念
来源: 互联网 发布时间:2016-02-20
本文导语: 请问多任务,多进程,多线程的具体概念?(请不要以.exe文件举例,可否用无文件系统的OS(例如某些嵌入式系统内核)来举例?) 我的理解是同时有多个程序Looping在同时运行(因为一个独立的程序肯定是一个死循...
请问多任务,多进程,多线程的具体概念?(请不要以.exe文件举例,可否用无文件系统的OS(例如某些嵌入式系统内核)来举例?)
我的理解是同时有多个程序Looping在同时运行(因为一个独立的程序肯定是一个死循环,然后在循环中完成各种处理),由OS来调度执行,就叫多任务。
现在有一个OS内核,能同时运行多个实例,事件驱动的系统,但这些实例都必须由另一个已经运行的实例创建,也就是说,程序开始时,只创建了一个主实例,可以叫控制类实例,然后随着程序的运行,可能会有多个实例被创建。其中事件系统会收集所有实例的事件,然后按照FIFO的规则跑去对应实例的对应事件handler去,做完此handler之后,又会跑回内核来处理下一个事件。这样的内核可否叫做多任务,或多进程,或多线程呢?
我的理解是同时有多个程序Looping在同时运行(因为一个独立的程序肯定是一个死循环,然后在循环中完成各种处理),由OS来调度执行,就叫多任务。
现在有一个OS内核,能同时运行多个实例,事件驱动的系统,但这些实例都必须由另一个已经运行的实例创建,也就是说,程序开始时,只创建了一个主实例,可以叫控制类实例,然后随着程序的运行,可能会有多个实例被创建。其中事件系统会收集所有实例的事件,然后按照FIFO的规则跑去对应实例的对应事件handler去,做完此handler之后,又会跑回内核来处理下一个事件。这样的内核可否叫做多任务,或多进程,或多线程呢?
|
这样的内核叫做多任务......嵌入式操作系统中普遍采用的就是你所说的方法,也可以勉强称之为多进程(但是这能这么称呼,进程之间的地址空间在默认情况下是不能互相访问的,你所说这种多半做不到这点),有了进程的概念,才谈得上线程的概念.你这个连进程都谈不上,就不用再谈线程了