段地址機制以及段地址轉換觸發segmentation falt

推進存儲管理方式從固定分區到動態分區分配,進而又發展到分頁存儲管理方式的主要動力是提升內存利用率。能夠實現一個內存用於多個程序同時執行而不會發生地址衝突。
引入分段存儲管理方式的目的,則主要是爲了知足用戶(程序員)在變成和使用上多方面的要求(方便編程、信息共享、信息保護、動態增加、動態連接)。段是內存的邏輯單位,它有一組有意義且相對完整的信息,段的長度不固定個,取決於用戶所編寫的程序,一般由編譯程序劃分。程序員


段頁式系統中,爲了得到一條指令或數據,須三次訪問內存。第一次訪問是訪問內存中的段表,從中取得頁表始址;第二次訪問時訪問內存中的頁表,從中去除該頁所載的物理塊號,並將該塊號與頁面地址一塊兒造成指令或數據的物理地址;第三次訪問纔是真正從上一步所得地址中去除指令或數據。固然實際應用中已經對段頁式系統進行了硬件支持,有專門的寄存器等提速設備,能夠大大下降實際的訪問內存次數。編程

段錯誤--段地址變換,在進行地址變換時,系統將邏輯地址中的段號與短標長度TL進行比較,假若S>TL表示段號太大,就是訪問越界,產生越界中斷信號;若未越界,則根據段表的始址與該段段號計算出該段對應段表項的位置,從中讀出該段在內存的起始地址,而後在檢查段內地址d是否超過該段的段長SL,假若超過,一樣產生越界中斷。--段錯誤的最原始含義,可是後面段錯誤範圍應該是更大了內存

相關文章
相關標籤/搜索