进程管理[外文翻译].doc
进程管理[外文翻译],英文:9250字中文:3153字process managementthe process is one of the fundamental abstractions in unix operating systems. a process is a program(object code stored on som...
内容介绍
此文档由会员 果酸 发布英文:9250字
中文:3153字
Process Management
The process is one of the fundamental abstractions in Unix operating systems. A process is a program(object code stored on some media) in execution. Processes are, however, more than just the executingprogram code (often called the text section in Unix). They also include a set of resources such as open files and pending signals, internal kernel data, processor state, an address space, one or more threads ofexecution, and a data section containing global variables. Processes, in effect, are the living result of running program code.
Threads of execution, often shortened to threads, are the objects of activity within the process. Each thread includes a unique program counter, process stack, and set of processor registers. The kernel schedules individual threads, not processes. In traditional Unix systems, each process consists of one thread. In modern systems, however, multithreaded programsthose that consist of more than one threadare common. Linux has a unique implementation of threads: It does not differentiate between threads and processes. To Linux, a thread is just a special kind of process.
进程管理
进程是Uinx操作系统最基本的抽象之一。一个进程就是处于执行期间的程序(目标代码放在某种存储介质上)。但进程并不仅仅局限于一段可执行程序(Unix称其为代码段(text section))。通常进程还要包含其他资源,像打开的文件、挂起的信号、内核内部数据、处理器状态、地址空间及一个或多个执行线程、当然还包括用来存放全局变量的数据段等。实际上,进程就是正在执行的程序代码的活标本。
执行线程,简称线程(thread),是在进程中活动的对象。每个线程用由一个独立的程序计数器、进程栈和一组进程寄存器。内核调度的对象是线程,而不是进程。在传统的Unix系统中,一个进程只包含一个线程,但现在的系统中,包含多个线程的多线程程序司空见惯。Linux系统的线程实现非常特别—他对线程和进程并不特别区分。对Linux而言,线程只不过是一种特殊的进程罢了。
在现代操作系统中,进程提供两种虚拟机制:虚拟处理器和虚拟内存。虽然实际上可能是许多进程正在分享一个处理器,但虚拟处理器给进程一种假象,让这些进程觉得自己在独享处理器。而虚拟内存让进程在获取和使用内存是觉得自己拥有整个操作系统的所有内存资源。有趣的是,注意在线程之间(这里是指包含在同一个进程中的进程)可以共享虚拟内存,但拥有各自的虚拟处理器。