段地址机制以及段地址转换触发segmentation falt

推进存储管理方式从固定分区到动态分区分配,进而又发展到分页存储管理方式的主要动力是提升内存利用率。能够实现一个内存用于多个程序同时执行而不会发生地址冲突。
引入分段存储管理方式的目的,则主要是为了知足用户(程序员)在变成和使用上多方面的要求(方便编程、信息共享、信息保护、动态增加、动态连接)。段是内存的逻辑单位,它有一组有意义且相对完整的信息,段的长度不固定个,取决于用户所编写的程序,一般由编译程序划分。程序员


段页式系统中,为了得到一条指令或数据,须三次访问内存。第一次访问是访问内存中的段表,从中取得页表始址;第二次访问时访问内存中的页表,从中去除该页所载的物理块号,并将该块号与页面地址一块儿造成指令或数据的物理地址;第三次访问才是真正从上一步所得地址中去除指令或数据。固然实际应用中已经对段页式系统进行了硬件支持,有专门的寄存器等提速设备,能够大大下降实际的访问内存次数。编程

段错误--段地址变换,在进行地址变换时,系统将逻辑地址中的段号与短标长度TL进行比较,假若S>TL表示段号太大,就是访问越界,产生越界中断信号;若未越界,则根据段表的始址与该段段号计算出该段对应段表项的位置,从中读出该段在内存的起始地址,而后在检查段内地址d是否超过该段的段长SL,假若超过,一样产生越界中断。--段错误的最原始含义,可是后面段错误范围应该是更大了内存

相关文章
相关标签/搜索