Vxworks系统中进程、线程和任务之间的关系
操作系统中每个进程在独立的地址空间运行(操作系统以为只有一个进程,实际上是分时复用的),每个进程的逻辑地址为4GB(32位系统,逻辑地址的虚拟内存),实际不一定有4G(逻辑上操作系统以为有4G),整个电脑可能只有1G(物理内存,内存条)。实际进程使用多少,就在物理内存里对应多少,虚拟内存和物理内存之间有个映射关系。
对于嵌入式而言,一般分为实时操作系统(RTOS)和非实时操作系统(OS)。RTOS主要就是实时性,在限定的时间内保持准确性。常用的有Vxworks,uCos-II,还有早期的手机;非实时的操作系统典型的就是Linux(实际linux也能做实时的),windows还有现在智能手机。
由于RTOS操作系统没有虚拟地址空间,直接用的是物理内存,那里面的叫做任务。对于Vxworks实际上是单进程多线程。Vxworks只有一个进程(内存空间和资源分配),其任务的概念与线程相当。
操作系统中每个进程在独立的地址空间运行(操作系统以为只有一个进程,实际上是分时复用的),每个进程的逻辑地址为4GB(32位系统,逻辑地址的虚拟内存),实际不一定有4G(逻辑上操作系统以为有4G),整个电脑可能只有1G(物理内存,内存条)。实际进程使用多少,就在物理内存里对应多少,虚拟内存和物理内存之间有个映射关系。
对于嵌入式而言,一般分为实时操作系统(RTOS)和非实时操作系统(OS)。RTOS主要就是实时性,在限定的时间内保持准确性。常用的有Vxworks,uCos-II,还有早期的手机;非实时的操作系统典型的就是Linux(实际linux也能做实时的),windows还有现在智能手机。
由于RTOS操作系统没有虚拟地址空间,直接用的是物理内存,那里面的叫做任务。对于Vxworks实际上是单进程多线程。Vxworks只有一个进程(内存空间和资源分配),其任务的概念与线程相当。
进程、线程任务之间关系如图所示,对于非实时操作系统,一般是多进程的,多任务并发。Vxworks里面实际相当于图中的进程1,然后其中的任务1、任务2类似线程,每个任务包含TCB(存储上下文)和堆栈。