在 Linux 中,上下文切换、进程切换和线程切换之间有什么区别?
上下文切换涉及存储进程或线程的上下文或状态,以便在需要时可以重新加载它,并且可以
从与之前相同的点恢复执行。这是多任务操作系统的一个特性,它允许单个 CPU 被多个进程共享。
进程切换或进程调度是指通过保存当前正在执行的进程的所有状态(包括其寄存器状态、关联的内核状态和所有虚拟内存配置)来更改一个进程到另一个进程。
线程切换意味着在进程内从一个线程切换到另一个线程。
进程切换和线程切换之间的主要区别在于,在线程切换的情况下,虚拟地址空间保持不变,因此缓存中的内容相同。因此,无需使 TLB 无效。但在进程切换的情况下,情况并非如此,因为虚拟地址空间不会保持不变。因此,我们必须使 TLB 缓存无效。
因此,在进程之间切换的成本远高于在线程之间切换的成本。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP