操作系统的中英文对照.docx
《操作系统的中英文对照.docx》由会员分享,可在线阅读,更多相关《操作系统的中英文对照.docx(32页珍藏版)》请在冰豆网上搜索。
操作系统的中英文对照
第八章08软件工程一班裴晓禹
虚拟内存:
virtualmemory
1:
硬件和控制结构:
hardwareandcontrolstructures
1:
一个进程可以被换入或换出主存,使得进程在执行过程中的不同时刻占据不同的区域。
进程中所
有的存储器访问都是逻辑地址,这些逻辑地址在运行时动态地被转换成物理地址。
2:
一个进程可以划分成许多块,在执行过程中,这些块不需要连续地位于主存中。
3:
在进程的执行过程中,该进程的所有页和所有段不需要都在主存中。
2:
程序的执行:
executionofaprogram
1:
操作系统将一些程序的块带到主存。
2:
进程执行中的任何时候都在主存中的部分被定义成进程的常驻集。
3:
当处理器需要访问一个不在主存中的逻辑地址,则会产生一个中断,说明产生
了内存访问故障。
操作系统将被中断的进程置于阻塞状态,并取得控制。
4:
为了能继续执行这个进程,操作系统要把包含引发故障的逻辑地址和进程块取进主存
1:
操作系统产生一个磁盘I\O读请求。
2:
产生I\O请求后,在执行磁盘I\O,期间操作系统可以分派另一个进程运行。
3:
一旦需要的块被取进主存,则产生一个I\O中断,控制被交回操作系统,而
操作系统把由于缺少该块而被阻塞的进程置回到就绪态。
3:
分割进程的优点:
advantagesofbreakingupaprocess
1:
在主存中保留多个进程:
1:
对任何特定的进程都仅仅装入它的某些块,所以有足够的空间放置更多的进程.
2:
在任何时刻这些进程中都能至少有1个处于就绪态,于是处理器得到更有效的利用
2:
进程可以比主存的全部空间还大。
4:
进程的种类:
typesofmemory
1:
实存储器realmemory:
由于一个进程只能在一个主存中执行,因此这个存储器称作实存储器。
2:
虚拟内存virtualmemory:
程序员和用户通常感觉到一个更大的内存,通常它被分配到磁盘上,称作虚拟内存。
虚存允许更有效的多道程序设计,并解除了用户与主存之间没有必要地紧密约束。
5:
系统抖动(颠簸):
thrashing
1:
当操作系统读取一块时,它必须把另一块扔出。
2:
处理器的大部分时间都用于交换块,而不是执行指令。
6:
局部性原理:
principleoflocality
1:
局部性原理描述了一个进程中程序和数据应用的集簇现象。
2:
很短的时间内仅需要访问进程的一部分块是合理的。
3:
可以对在不远的将来可能会访问的块进行猜测。
4:
虚拟内存比较实用而且有效。
7:
虚拟内存需要的支持:
supportneededforvirtualmemory
1:
必须有对采用的分页或分段方案的硬件支持。
2:
操作系统必须有管理页或段在主存和辅助存储器之间的移动的软件。
8:
分页:
paging
1:
通常每个进程都有一个唯一的页表。
2:
每个页表项(PTE)包含有与主存中的页相对应的帧号。
●由于一个进程可能只有一部分在主存中,因而每个页表项需要一位(P)来表示它所对应的页当前是否在主存中。
3:
当考虑到基于分页的虚拟内存方案时也同样需要页表。
PS:
MMS将virtualaddress在硬件配合下转成physicaladdress
9:
虚拟地址和页表项:
virtualaddressandpagetableentry
10:
页表项:
(PTE)
11:
页表中的修改位:
modifybitinpagetable
1:
页表项中需要一个控制位:
修改为。
表示相应页的内容从上一次装入主存中到现在是否已经改变。
2:
如果没有改变,则需要把该页换出时,不需要用页框中的内容更新该页。
12:
地址的翻译(映射):
addresstranslation(mapping)
13:
地址翻译(联系):
addresstranslation(contact)
14:
页表:
(pagetables)
1:
页表项可能占据大量的主存。
2:
页表也保存在虚存中。
3:
当一个进程正在运行的过程中,它的页表至少有一部分在主存中。
15:
两级层次32位页表:
two-levelschemefor32-bitaddress
16:
两级层次页表:
two-levelscheme
1:
2:
17:
逆向页表:
invertedpagetable
1:
逆向页表的各种变体已用于PowerPC,UltraSPARC,和IA-64IA-64体系结构中。
2:
虚拟地址的页号部分使用一个简单的散列函数映射到哈希表中。
3:
哈希表包含一个反向表的指针,而反向表中包含页表项。
4:
不论有多少进程、支持多少虚拟页、页表都只需要实存中的一个固定的部分。
18:
逆向页表的内容:
invertedpagetable
1:
页号:
pagenumber
2:
进程标识符:
processidentifier
3:
控制位:
controlbits
4:
链指针:
chainpointer
19:
转移后备缓冲器:
translationlookasidebuffer(简称:
TLB)
1:
给定一个虚拟地址,处理器首先检查TLB。
2:
如果需要的页表项在其中(命中“TLB”),则检索页框并形成实地址。
3:
如果没有找到需要的页表项(TLB未命中),则处理器用页号检索进程页表,并检查相应的页表项。
4:
如果”存在位”已置位,则该页在主存中,处理器从页表项中检索页框号以形成实地址.如果“存
在位”没有置位,则表示需要的位不在主存中,这时将产生一次存储器的访问故障,页错误pagefault
5:
处理器同时更新TLB,使其包含这个新的页表项。
20:
转移后备缓冲器的用法:
useofatranslationlookasidebuffer
命中
装入页
页表
未命中
页框号
页错误
21:
分页和转移后备缓冲器的操作:
operationofpagingandtranslationlookasidebuffer
返回故障指令
页错误处理例程访问页表
OS通知CPU通知从磁盘读取该页该页是否在主存中
CPU激活该I\O硬件更新TLB
该页从磁盘传送到主存中
CPU产生物理地址
执行页替换
页表更新
22:
页表项的直接查找和关联查找:
directversusassociativelookupforpagetableentries
23:
转移后备缓冲器和高速缓冲操作:
translationlookasidebufferandcacheoperation
TLB操作
虚拟地址
页号偏移量
未命中命中操作
实地址命中值
标记其余部分未命中
页表主存
值
24:
页尺寸:
pagesize
1:
页越小,内部碎片的总量越少。
2:
页越小,每个进程需要的页的数目就越多。
3:
每个进程需要的页的数目就越多就意味着更大的页表。
4:
大的页表就意味着很大部分的页表在虚存中。
5:
二级内存用于大块数据的有效传递,所以大的页表较好。
6:
如果页尺寸非常小,那么每个进程在主存中有较多数目的页。
7:
一段时间后,内存中的页都包含有最近访问的部分,因此,页错误率比较低。
8:
当页尺寸增加时,每一个页包含的单元和任何一个最近访问过的单元越来越远。
25:
页型的分页行为:
typicalpagingbehaviorofaprogram
页大小分配的页框数目
P表示整个进程的大小,W表示工作集的大小,N表示进程中的总页数。
26:
页面大小的例子:
examplepagesizes
27:
分段:
segment
1:
段的大小可能是不相等的,并且是动态地。
2:
简化不断增长的数据结构的处理。
3:
允许进程独立的改变或重新编译,而不要求整个集合重新链接和重新加载。
4:
有助于进程间的共享。
5:
有助于保护。
28:
段表:
segmenttables
1:
每个进程都有自己的段表,当所有的段都载入到主存的时候,为该进程创建一个段表并载入主存
2:
每个段表项包含相应段在主存中的起始地址和段的长度。
3:
由于一个进程可能只有一部分段在主存,因而每个段表项中需要有一位表明相应的段是否在主存中
4:
段表项需要修改位用于表明相应的段从上一次被装入主存到目前为止其内容是否被改变。
29:
段表表项:
Segmenttableentries
30:
分段系统中的地址转换:
addresstranslationinsegmentationsystem
31:
分页和分段的结合:
combinedpagingandsegmentation
1:
分页对程序员是透明的。
2:
分段对程序员是可见的。
3:
每个段依次划分成许多固定大小的页。
32:
分段分页相结合的系统中的地址转换:
addresstranslationinasegmentation\pagingsystem
段表指针
33:
段之间的保护关系:
protectionrelationshipbetweensegments
Notaccessallowed:
不允许访问
branchinstruction(notallowed):
跳转指令(不允许)
referencetodata(allowed):
访问数据(允许)
referencetodata(notallowed):
访问数据(不允许)
34:
读取策略:
fetchpolicy
1:
读取策略确定一页何时取入主存。
2:
对于请求式分页,只有当访问到某页中的一个单元时才将该页取入主存。
●当一个进程第一次启动时,会出现一阵大量的页错误。
3:
预约式分页读取的页大多数都没有引用到,这个策略师低效的。
●预约式分页利用了大多数辅存设备(如磁盘)的特性,这些设备有寻道时间和合理时间的延迟。
如果一个进程的页被连续存储在辅存中,则一次读取许多连续的页比隔一段时间读取一页要更有效。
35:
放置策略:
placementpolicy
1:
防治策略决定一个进程驻留在实存中的什么地方。
2:
不会翻译
3:
36:
替换策略:
replacementpolicy
1:
应该换出哪一页?
2:
移出最近最不可能访问的页
3:
大多数策略都基于过去的行为来预测将来的行为。
37:
页框锁定:
framelocking
1:
如果一个页框被锁定时,之前保存的该页框中的页就不能被替换。
2:
大部分操作系统内核就保存在锁定的也框中。
3:
大部分重要的控制结构就保存在锁定的也框中。
4:
I\O缓冲区就保存在锁定的也框中。
5:
锁定是通过给每个帧关联一个lock位实现的。
38:
替换页的基本算法:
1:
最佳:
optimalpolicy(OPT)
2:
最近最少使用:
leaserecentlyused(LRU)
3:
先进先出:
first-in,first-out(FIFO)
4:
时钟:
clock
39:
最佳:
optimalpolicy
1:
选择替换下次访问距当前时间最长的那些页。
2:
但是由于它要求操作系统必须知道将来的事件,显然这是不可能实现的。
40:
最近最少使用:
leaserecentlyused(LRU)
1:
替换主存中上次使用距当前最远的页。
2:
根据局部性原理,这也是最近最不可能访问到的页。
3:
实现的方法是给每一页添加一个最后一次访问的时间标签,并且必须在每次访问存储器时,不论
访问的是指令还是数据,都更新这个标签。
41:
先进先出:
first-in,first-out(FIFO)
1:
把分配给进程的页框看作是一个循环缓冲区。
2:
按循环方式移动页。
3:
这是一种实现起来最简单的页替换策略。
4:
替换驻留在主存中时间最长的页。
5:
这些被替换的页可能很快被重新调用。
42:
时钟:
clock
1:
最简单的时钟策略需要给每一个页框关联一个附加位,成为使用位。
2:
当某一页首次装入主存中时,该页框的使用位设置为1.
3:
当该页随后被访问到时,它的使用位也被置为1.
4:
当需要替换一页时,操作系统扫描缓冲区,以查找使用位位置为0的一页框。
5:
在查找替换的时候,扫描过的使用位是1的都被置为0.
43:
四种页替换算法:
fourpage-replacementalgorithms
44:
关于时钟策略的一个例子:
exampleofclockpolicy
Firstframeincircularbufferof
Framesthatarecandidatesfor
replacement
用于替换的候选页框循环缓冲
区中的第一页框
Stateofbufferjustpriortoapagereplacement
在替换一页前缓冲区的状态。
Stateofbufferjustafterthenextpagereplacement
下一页被替换后缓冲区的状态
45:
固定分配、局部页替换算法的比较:
comparisonofplacementalgorithms
Pagefaultsper1000references
每1000次访问的页框
Numberofframesallocated:
分配的页
框的数目
46:
时钟页替换算法:
theclockpage-replacementalgorithm
47:
页缓冲:
pagebuffering
为了提高性能,被替换出的页不是被丢弃,而是被分配到以下两个表之一:
1:
如果未被修改,则分配到空闲页表。
2:
如果修改了,则分配到修改页表。
48:
驻留集大小:
residentsetsize
1:
固定分配策略(fixed-allocation)
1:
为一个进程在主存中分配固定数目的页框用于执行时使用。
2:
一旦在进程执行过程中发生页错误,该进程的一页就必须它他所需要的页替换。
2:
可变分配次略(variable-allocation)
●
允许分配给一个进程的页框在该进程的生命周期中不断地发生变化。
49:
固定分配,局部范围:
fixedallocationg,localscope
1:
对于固定分配策略,需要事先确定分配给该进程的总页框数。
2:
如果分配的过小,则会产生很高的页错误率,导致整个多道程序设计系统运行缓慢。
3:
如果分配的过大,则主存中只能有很少的几个程序,处理器会有很多空闲时间,并且把大量的时
间花费在交换上。
50:
可变分配,全局范围:
variableallocation,globalscope
1:
这种组织是最容易实现的。
2:
它被许多操作系统采用。
3:
在典型情况下,操作系统还维护着一个空闲页框列表。
4:
当发生一次页错误时,一个空闲页框被添加到进程的驻留集中,并且该页被读取。
5:
当没有空闲页框可用时,操作系统必须选择一个当前位于主存的页框进行替换。
51:
可变分配,局部范围:
variableallocation,localscope
1:
当一个新进程被装入主存时,根据应用类型、程序要求或其它原则,给它分配一定数目的页框作
其驻留集,使用预约式分页或请求式分页填满这些页框。
2:
当发生一次页错误时,从产生页错误的进程的驻留集中选择一页用于替换。
3:
不时地重新评估进程的页框分配情况,增加或减少分配给它的页框,以提高整体的性能。
52:
清除策略:
cleaningpolicy
1:
请求式清除:
只有当一页被选择用于替换时才被写回辅存。
2:
预约式清除:
将这些被修改的多个页在需要用到他们所占据的页框之前成批的写回辅存。
3:
一个比较好的方法是结合页缓冲技术:
1:
通过页缓冲,被替换页可以防止在两个表中:
修改和未修改。
2:
修改表中的页可以周期性地成批写出,并移动到未修改表中。
3:
未修改表中的一页或者应为被访问到而被回收,或者当它的页框分配给另一页时被淘汰。
53:
加载控制:
loadcontrol
1:
加载控制涉及到确定驻留在主存中的进程数目,这成为多道程序设计级。
2:
如果某一时刻驻留的进程太少,则所有进程同时处于被阻塞状态的概率可能比较大,因而有许多
时间花费在交换上。
3:
如果驻留的进程太多,则平均每个进程的驻留集大小将会不够用,就会频繁的发生错误,导致抖动
54:
多道程序设计级:
multiprogramming
Processorutilization:
处理器使用率
Multiprogramminglevel:
多道程序设计级