进程
进程是当前正在计算机上运行的程序实例。它表示程序由CPU执行的活动状态,可以是小型后台任务,也可以是完整的应用程序,例如文字处理器或网络浏览器。每个进程由一个或多个线程组成,并包含程序代码中的指令,以及程序在当前状态下所需的任何资源例如(输入、输出和中间数据)。
许多应用程序会将任务拆分为子进程。例如,网络浏览器可能会为你打开的每个标签页,以及安装的每个扩展或插件,分别启动一个进程。通常,不同应用程序中的独立进程不允许直接通信,以防止冲突并确保数据安全。不过,进程间通信(IPC)技术(如套接字和消息队列)为进程以安全且受控的方式交换信息提供了途径。
现代操作系统支持多任务处理,因此可以让多个进程同时运行。每个CPU 核心一次可以运行一个进程,从而让多个进程并行运行。由于活动进程的数量始终多于可用核心的数量,操作系统的任务调度器会根据优先级在进程之间分配 CPU 时间,并快速地在它们之间切换,使它们几乎同时保持运行。交互式进程通常具有最高优先级,因此用户输入例如(按键操作和鼠标点击)会立即获得资源,而后台进程则需要等待。
每个操作系统还提供了实用工具,让用户查看计算机上正在运行的进程,并手动终止不再响应的进程。Windows用户可以使用键盘快捷键( + + )调用任务管理器。macOS中的对应工具是“活动监视器”应用程序(位于 Applications / Utilities 文件夹中)。Unix和Linux根据发行版的不同,包含各种系统监视实用工具,例如 top 和 htop 实用工具,或 GNOME 系统监视器应用程序。
测试你的知识