作業系統知識(待續)

2021-07-03 11:04:21 字數 1691 閱讀 7082

2023年,intel 發布了第一款的微處理器4004。它是乙個4位的微處理器。

2023年,intel 發布了第一款八位處理器8008。它是乙個8位的微處理器,位址匯流排(address bus)是14位的,就是說可以訪問到16k的記憶體空間。

2023年4月,intel 發布了第二款八位處理器8080。它是8008是增強版,增加了幾個累加器,使它可以訪問16位(8+8)的記憶體位址,即64k 範圍內的位址空間。而且它也是公認的「第一款真正可用的微處理器」。8080的架構對8086產生了很大的影響,並且為 x86系列奠定了基礎。

至此,記憶體定址訪問仍是絕對位址。就是指令的位址即實體地址,中間沒有任何的轉換。

2023年開始設計,2023年中旬intel 發布了8086。標誌了x86王朝的開始。它是一款16位的微處理器,卻被設計成可以訪問1mb 的記憶體(即20位的位址空間)。問題就產生了,16位的alu怎麼去取20位的位址呢?因此,的概念 在8086身上被引入了。

段的引入是解決「 位址匯流排的寬度一般要大於暫存器的寬度 」這個問題。

8086的分段定址,是指乙個實體地址由段位址(segment selector)與偏移量(offset)兩部分組成,長度各是16位元。其中段位址左移4位(即乘以16)與偏移量相加即為實體地址。例如,06efh:1234h,表示段位址為06efh,偏移量為1234h,實體地址為06ef0h + 1234h = 08124h。在計算實體地址時如果發生上溢位,8086處理器捨棄進製。例如,ffffh:0010h所對應的實體地址為00000h.
這種分段定址,即段位址+偏移量的做法,在以80286開始之後會被稱為 實模式。

2023年,intel 的80286面世了。它是第一款採用 保護模式 的 x86微處理器。位址匯流排增加到24位使它可以訪問到16m 的記憶體空間。即使是可訪的記憶體空間增加了,但它的分段大小依然是64k,程式的規模受限,注定286受不到更多的喜愛。

所以,286很快就被80386所替代了。

2023年,intel 發布了80386。乙個擁有32位的微處理器。並且位址總數(address bus)也是32位的,定址能力大幅提高到4g。同時,為了向前相容8086,386中既有保護模式,又有實模式。並且在保護模式下,分段的大小可以到達4g(2**32)。

現在有必要簡單交代一下,實模式 與 保護模式 分別是什麼了。

保護模式: 不允許通過段暫存器取值得到段的起始位址,而是把虛擬位址轉進乙個 mmu 的硬體,經過額外的轉換和檢查,進而得到乙個實體地址。(如下圖)。其中的額外檢查就可以起到例如保護某段資料的作用。

圖1:mmu 轉換虛擬位址為實體地址

是時候來乙個簡單的總結了。

從4004到386,先是直接實體地址定址,然後是 實模式 形式的定址,最後變為 保護模式 形式定址。

最重要的變化是從「實模式」向「保護模式」的轉變。這背後實際也是處理器的系統體系結構的變化。雖然386往後的cpu在各方面都有改進,但由於在本質上的結構沒有大變化,所以386往後的處理器都統稱80x86。

參考:

從硬體出發,**作業系統的段機制與頁機制

作業系統知識

開篇思考 當看到這個標題的第一眼的時候你大腦中在思考什麼?我在想什麼是作業系統呢?他到底有什麼作用呢?其實說到這個問題是因為在自考中有這麼乙個問答題,作業系統的出現對計算機產生了什麼影響?考過此題的應該有印象吧 仔細思考一下,當初自己是怎麼答的呢?自己在做那道簡答題的時候最先想到的就是 01 和一些...

作業系統知識

對於有執行緒系統 對於無線程系統 臨界區 通過對多執行緒的序列化來訪問公共資源或一段 速度快,適合控制資料訪問。在任意時刻只允許乙個執行緒對共享資源進行訪問,如果有多個執行緒試圖訪問公共資源,那麼在有乙個執行緒進入後,其他試圖訪問公共資源的執行緒將被掛起,並一直等到進入臨界區的執行緒離開,臨界區在被...

作業系統知識概括

spooling系統主要由以下四部分組成 1 輸入井和輸出井 2 輸入緩衝區和輸出緩衝區 3 輸入程序和輸出程序 4 井管理程式 spooling系統的特點 1 提高了i o的速度 2 將獨佔裝置改為共享裝置 3 實現了虛擬裝置功能 緩衝的引入 1 緩和cpu和i o裝置之間速度不匹配的矛盾 2 減...