找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

[技术文档] 任务、线程、进程 区别

[复制链接]
ad*** 发表于 2023-1-13 20:37:33 | 显示全部楼层 |阅读模式

在多数通用(分时)操作系统(如Linux,Windows)中,常听说线程、进程名词。而在多数实时操作系统(RTOS)(如uCOS,FreeRTOS)中,常听说是任务。它们到底有啥区别和联系呢!看下文。

概念

进程(Process)

是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

线程(英语:thread)

是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

任务

是指人们在日常生活、工作、娱乐活动中所从事的各种各样有目的的活动。在现代计算机中,“任务”也是基本工作单位,在多数实时操作系统(如uCOS,FreeRTOS)中,是实时操作系统 进行运算调度的最小单位。

通俗理解
举例说明:如果把计算机的操作系统比作一个大的工厂。进程就是工厂中的各个相互独立的车间,线程则是车间中的流水线工人。每个车间中至少有一个工人,也可以有多个工人。这些“工人”共享着这个车间中的所有资源。

像在FreeRTOS中,任务与线程的含义一致,都是 操作系统 进行运算调度的最小单位。在FreeRTOS上跑的整个程序即为一个进程,该进程中又包含着多个线程(任务),这些线程有些是系统自动创建的,有些为用户手动创建。
————————————————
版权声明:本文为CSDN博主「匠在江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46672094/article/details/125332579

   





回复 打印

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|沪ICP备18043106号-1

QQ客服返回顶部