【正文】
XXX工業(yè)大學本科畢業(yè)設計外文文獻翻譯學校代碼: XXX學 號: XXX 本科畢業(yè)設計外文文獻翻譯(學生姓名:XXX學 院:信息工程學院系 別:計算機系專 業(yè):軟件工程班 級:軟件06指導教師:XXX 副教 授二 〇 一 〇 年 六 月10Process ManagementThe 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 mon. 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.On modern operating systems, processes provide two virtualizations: a virtualized processor and virtual memory. The virtual processor gives the process the illusion that it alone monopolizes the system, despite possibly sharing the processor among dozens of other processes. discusses this virtualization. Virtual memory lets the process allocate and manage memory as if it alone owned all the memory in the system. Interestingly, note that threads share the virtual memory abstraction while each receives its own virtualized processor.A program itself is not a process。 a process is an active program and related resources. Indeed, two or more processes can exist that are executing the same program. In fact, two or more processes can exist that share various resources, such as open files or an address space.A process begins its life when, not surprisingly, it is created. In Linux, this occurs by means of the fork()system call, which creates a new process by duplicating an existing one. The process that calls fork() is the parent, whereas the new process is the child. The parent resumes execution and the child starts execution at the same place, where the call returns. The fork() system call returns from the kernel twice:once in the parent process and again in the newborn child.Often, immediately after a fork it is desirable to execute a new, different, program. The exec*() family of function calls is used to create a new address space and load a new program into it. In modern Linux kernels, fork() is actually implemented via the clone() system call, which is discussed in a followingsection.Finally, a program exits via the exit() system call. This function terminates the process and frees all its resources. A p