【摘抄】进程、线程与任务----《自己动手写嵌入式操作系统》

一般情况下,描述操作系统的任务管理机制时存在三个说法。
●进程 所谓进程,是一个动态的概念。一个可执行模块(可执行文件)被操作系统加载到内存,分配资源,并加入到就绪队列后,就形成了一个进程。一般情况下,进程有独立的内存空间(比如在典型的 PC 机操作系统中,如果目标 CPU 是32 位则一个进程就有独立的 4GB 的虚拟内存空间),如果不通过 IPC 机制,进程之间是无法交互任何信息的,因为进程之间的地址空间是独立的,不存在重叠的部分;
 
●线程 一般情况下,线程是 CPU 可感知的最小的执行单元,一个进程往往包含多个线程,这些线程共享进程的内存空间,线程之间可以直接通过内存访问的方式进行通信,线程之间共享同进程的全局变量,但每个线程都有自己的堆栈和硬件寄存器;
 
●任务 概念同线程类似,但与线程不同的是,任务往往是针对没有进程概念的操作系统来说的,比如嵌入式操作系统。这些操作系统没有进程的概念,或者说整个操作系统就是一个进程,这种情况下,任务便成了操作系统中最直接的执行单位。另外一个说法就是,任务往往是一个无限循环,操作系统启时,任务随之启动,然后一直运行到操作系统结束为止。
发布了9 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zerfew/article/details/104309202