java程序員須要知道的底層知識(三)

筆記開始
  1. 計算機的啓動過程
    (1)、通電
    (2)、加電自檢 BIOS加電自檢,加載bootloader(引導程序,控制你須要加載哪一個操做系統,bootloader的位置是寫死的,存儲在一個叫Master Boot Record的扇區)到內存(BIOS是一塊芯片,如今已經被intel擴展爲UEFI:Unified Extensible Firmware Interface)
    (3)、選擇操做系統,將與os(操做系統)相關的東西加載到內存,將權力交給操做系統來控制
    (4)、拓展:cmos(Complementary Metal Oxide Semiconductor) 存儲一些能夠配置的東西,好比個人開機密碼,在主板上有一塊芯片,存儲這些可配置的內容,主板上面有一個三伏的電池給這個芯片通電(若是計算機好多年不充電,那麼再打開的時候可能就不須要密碼了)
    image
  2. 操做系統(os)基本知識
    imagelinux

    1. 基礎概念: cpu分不一樣的指令級別(指令由0(內核可操做的指令,可理解爲最高權限),1,2,3(用戶程序可操做的指令),intel cpu使用了0和3),

    內核態:內核跑在ring 0 級
    用戶態:用戶程序跑在ring 3 級,對於系統的關鍵訪問,須要內核贊成,保證系統的健壯性,linux能執行的操做大概200多個系統調用segmentfault

    1. 內核:內核的主要功能:內存管理、cpu調度、文件系統、應用管理 進程調度、中斷處理 設備驅動
      宏內核:
      image
      微內核:
      image

    上一篇:https://segmentfault.com/a/11...ide

相關文章
相關標籤/搜索