行程管理

在現代作業系統中，行程管理（）是作業系統的功能之一，特別是多任務處理的狀況下，這是必要的功能。作業系統將資源分配給各個行程，讓行程間可以分享與交換資訊，保護每個行程擁有的資源，不會被其他行程搶走，以及使行程間能夠同步。為了達到這些要求，作業系統為每個行程分配了一個資料結構，用來描述行程的狀態，以及行程擁有的資源。作業系統可以透過這個資料結構，來控制每個行程的運作。

 多道程序 

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

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

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

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

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

Category:进程
Category:操作系统技术