操作系统

1.内存寻址:

首先区分三种不同的地址:

1.逻辑地址(段(段选择符)加偏移量)

2.线性地址(虚拟地址,4GB的寻址空间)

3.物理地址

三者的转换过程一般通过分段单元将逻辑地址转换为线性地址,然后通过分页单元将线性地址转换为物理地址。

 六个段寄存器用来存放段选择符,三个重要的为

1.CS 代码段寄存器,指向程序指令的段

2.栈段寄存器,

3.数据段寄存器,指向包含静态数据或全局数据


每个段由段描述符表示,描述段的特征,段描述符放在GDT,或者LDT中(局部描述符表),GDT和LDT的地址和大小分别放在两个寄存器gdtr和ldtr中


段选择符字段:index,指定放在GDT或者LDT中相应段描述符的入口,T1指定段描述符在DGT或者在LDT中。


分段可以给每一个进程分配不同的线性地址空间,分页可以把同一线性地址空间映射到不同的物理空间。


线性地址被分为固定长度的页,内存按照同样的长度分成页框。区分一页与一个页框很重要,前者只是一个数据块,可以存放在任何页框或磁盘中。

线性地址通过页表映射到物理内存。

线性地址一般分为三个域,directory(目录,最高10位),table(页表,中间10位),offset(偏移,最低12位)。也称为二级页表。第一级转换称为页目录表,第二级转换称为页表。

必须为每个进程分配一个页目录。页目录的物理地址存在寄存器中。


每个页表或者页目录表的表项存在一些结构,例如present表示是否在内存中,以及相应的页框或者页表地址。


最后引入块表的概念,以及组成原理里面的TLB的概念?


为了提高运算速度,设置了一个专用的高速缓冲存储器(TLB)用来存放最近访问的部分页表,存放在相联存储器中的页表称为快表。


补充, 首先存储空间管理,是基于内存如何管理分配的,站在内核如何管理内存的角度上,比如说内存管理方式为连续存储管理,固定分区管理,可变长分区管理,分页式管理。

分段方式应该站在用户的角度,程序可以分为若干段。


分段是信息的逻辑结构,分页是信息的物理结构



虚拟存储器的概念:作业不用一次性装入内存,可以先放入辅存,当作业运行,先调入一部分放入主存,当需要其他部分在从辅存调入主存。如果没有足够的主存,则需要将一部分主存内容放入辅存,这样就可以提供一个比实际存贮器内存大得多的虚拟存储器。

请求分页虚拟管理方式与分页式管理方式不同点在于,仅仅使用进程的部分内容到主存,在执行过程中必然出现有些页面不在主存中,如何发现页面不在主存,以及如何处理这种方法,主要就是扩充页表的内容,增加一些信息:驻留位(页是否已经在主存中),页框号,辅存地址,修改位,等。因为是虚拟内存,因此分配给每个进程的页框数目有固定和可变两种情况。(固定分配,可变分配,对应页框的局部替换,和全局替换)

2.进程:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值