操作系统通常会给我们一种假象,就好像系统上只有这个程序在运行。程序看上去是独占地使用处理器,主存和I/O设备。处理器看上起像是不间断地一条接着一条地执行程序中的指令,即便该程序的代码和数据是系统内存的唯一的对象。这些假象都是通过进程来体现的,进程是计算机科学中最重要和最成功的概念之一。
进程是操作系统对一个正在运行的程序的一种抽象。在一个系统上可以同时运行多个进程,而每个进程都好像在独占地使用硬件。而并发运行,则是说一个进程的指令和另一个进程的指令时交错执行的。在大多数系统中,需要运行的进程数是多于可以运行他们的CPU个数的。传统系统在一个时刻只能执行一个程序,而先进的多核处理器可以运行它们的CPU个数的。无论是在单核还是多核系统中,一个CPU看上去都像是在并发地执行多个进程,这是通过处理器在进程间切换来实现的。操作系统实现这种交错执行的机制成为上下文切换。
操作系统保持跟踪进程运行所需要的所有状态信息。这种状态,也就是上下文。
线程是进程的基本单元,每个线程都在执行进程的上下文中,共享同样的代码和全局数据。由于网络服务器对并行处理的需求,线程成为越来越重要的编程模式。当有多处理器可用的时候,多线程也是一种使得程序可以运行更快的方法。