在现代操作系统中,行程管理(英语:Process management)是操作系统的功能之一,特别是多任务处理的状况下,这是必要的功能。操作系统将资源分配给各个行程,让进程间可以分享与交换信息,保护每个行程拥有的资源,不会被其他行程抢走,以及使进程间能够同步。为了达到这些要求,操作系统为每个行程分配了一个数据结构,用来描述行程的状态,以及行程拥有的资源。操作系统可以透过这个数据结构,来控制每个行程的运作。

多道程序

编辑

许多现代操作系统都支持在内存中同时加载同一程序的不同实例。例如,多个用户可能都在运行同一个程序,每个用户所运行的就是该程序在内存中的不同副本。有一些程序可以只在内存中加载一个副本,在不同的用户间共享通向的程序代码,这样的程序是可重入的。同一处理器(核)在任意时间点都只能执行一个程序中的一条指令,而如果每隔一段时间轮换处理器所处理的进程,暂时停止其它进程的活动,那么多个进程就可以同时在一段时间内存在,这样就是一种并发计算

多道和多任务的操作系统便是一种可以多进程并发执行的系统。多道程序要求处理器为每个进程都分配一定的时间,并在合适的时机释放。如果释放时进程尚未结束,则需要确保进程能够很方便地重启。

进程执行过程中,如果操作系统需要取回处理器的控制权,一般有两种方法:

  1. 进程执行系统调用(也叫软件中断);例如执行 I/O 请求,请求访问硬盘上的文件。
  2. 发生硬件中断;例如键盘上的按键被按下、计时器超时(抢占式多任务处理)。

一个进程停止、另一个进程开始(或者重启)的过程称作上下文切换或上下文切换。在许多现代操作系统中,进程还可以包含许多子进程,这样便引入了线程的概念。可以将线程看作子进程,即在同一进程中的独立代码执行单元。