操作系统双语阅读笔记 - Process

来源:互联网 发布:mac远程桌面windows10 编辑:程序博客网 时间:2024/05/17 09:04

操作系统概念 Openrating system concepts是本非常好的书,解析的非常透彻,而且感觉是同样的概念它也讲了别的书没有讲的东西。

本系列贴出重点句子,并加以翻译,本翻译把意译和直译结合起来,少数地方会增加注解,按情况来使用,因为思维习惯和表达方式的不一样,我认为这么专业的东西,不能都用直译,否则会显得不伦不类,甚至词不达意的,这也是很多计算机翻译书的通病。难以表达的句子还是真真正正自己理解了,然后再用自己的表达方式表达出来好。

对于普通翻译的标准:信雅达!一般都是以“信”为最主要的标准,但是靖心认为计算机专业书籍的翻译还是应该以“达”为主!

所以也在这里严重呼吁各位翻译计算机专业书籍的朋友翻译之后自己读一读,看看你们的翻译词能“达”意了吗?

本人拥有计算机科学与技术和英语专业双文凭,恰好我对两者都很有兴趣,这里的翻译应该质量还可以吧,呵呵。

http://blog.csdn.net/kenden23/article/details/13015281

 

A process can be thought of as a program in execution. A process will need certain resources—such as CPU time, memory, files, and I/O devices—to accomplish its task. These resources are allocated to the process either when it is created or while it is executing.

进程可以认为是执行中的程序。进程需要一定资源-CPU时间,内存,文件,I/O设备-完成任务。这些资源可以在创建的时候或者运行中分配。


A process is the unit of work in most systems. Systems consist of a collection of processes: operating-system processes execute system code, and user processes execute user code.

一个进程就是系统的工作单位。系统是一个进程集:系统进程运行系统代码,用户进程运行用户代码。

 

The operating system is responsible for several important aspects of process and thread management: the creation and deletion of both user and system processes; the scheduling of processes; and the provision of mechanisms for synchronization, communication, and deadlock handling for processes.

操作系统对进程和线程的主要操作有:创建和删除用户和系统进程;进程调度;为进程同步,进程通信,死锁提供相应机制。

 

The terms job and process are used almost interchangeably in this text.

本书中,job和process这两个术语基本上是相等的。


 It would be misleading to avoid the use of commonly accepted terms that include the word job (such as jobscheduling) simply because process has superseded job.

现在Process这个概念普遍取代了job这个概念,但是job这个术语还是不可避免要使用的,例如:job scheduling就不能用process scheduling代替了。

 

It also includes the current activity, as represented by the value of the program counter and the contents of the processor’s registers.

进程也包括了当前活动,由程序计数器和进程的寄存器表示。

 

A process generally also includes the process stack, which contains temporary data (such as functionparameters, return addresses, and local variables), and a data section, which contains global variables.A process may also include a heap,which is memory that is dynamically allocated during process run time.

一个进程通常包括进程栈,包括了临时数据(如函数参数,返回地址,和局部变量),和数据区域(存储全局变量)。 一个进程也会包括堆,堆(heap)就是指动态内存分配的区域。这些动态内存分配是指在进程运行时候分配的,例如:C++中的new, delete就是用来动态分配和删除内存的。

 

We emphasize that a program by itself is not a process. A program is a passive entity, such as a file containing a list of instructions stored on disk(often called an executable file). In contrast, a process is an active entity,with a program counter specifying the next instruction to execute and a set of associated resources. A program becomes a process when an executable file is loaded into memory.

我们强调一个程序本身并不是进程。一个程序是不活动的实体,比如一个文件保存了相关指令,并存储在磁盘中,这就是可执行文件(.exe等)。 相反一个进程是活动的实体,有程序计数器(其实就是一个指针类型),指向下一个需要执行的指令和相关资源。程序文件被执行之后就被载入存储中成为进程了。

 

Although two processes may be associated with the same program, they are nevertheless considered two separate execution sequences. For instance,several users or the same user may invoke many copies of the web browser program. Each of these is a separate process; and although the text sections are equivalent, the data, heap, and stack sections vary.

虽然两个进程也会和同一个程序相关,但是他们也是两个独立的执行序列。例如:多个浏览器运行,但是每个浏览器也是一个独立的进程。程序文件是一样的,但是数据,堆和栈区域都会不同。


Note that a process itself can be an execution environment for other code. The Java programming environment provides a good example.

一个进程也可以是其他代码的运行环境,例如:Java编程环境JVM和其他一些虚拟机

 

原创粉丝点击