欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    IOS,電腦主板上的基本輸入輸出系統,用來初始化硬件設備,引導進入操作系統,近年來UEFI逐漸替代BIOS的功能,但人們還是習慣稱這個系統為BIOS,為了方便區分在的主板設置中一般將傳統的BIOS稱為legacy,而UEFI就叫作UEFI,legacy和UEFI統稱為主板的BIOS。

    從電腦按下電源按鈕的那一刻,BIOS就開始工作了,那么legacyBIOS和UEFIBIOS引導開機的過程到底是怎樣的呢?下面來具體分析一下。

    legacyBIOS開機引導過程:

    1.主板加電,BIOS初始化CPU,然后繼續執行BIOS芯片中的程序代碼,進行其它硬件自檢,完成硬件初始化。

    2.讀取硬盤第一個扇區中的MBRMain Boot Record主引導記錄,這里存放了 IPLInitial Program Loader初始化程序加載器)和DPT(Disk Partiton Table分區表,IPL讀取活動分區(也就是引導文件所在的分區)第一個扇區中的PBRPartitionBootRecord分區引導記錄根據PBR中的信息找到活動分區中的引導文件bootmgr.exe(bootmanger啟動管理器)并執行

    3. bootmgr.exe啟動管理器讀取同目錄下boot文件夾里的BCD(BootConfigurationData啟動配置數據,BCD中存儲了操作系統內核加載程序的路徑地址(C:\Windows\system32\winload.exe),bootmgr.exe執行winload.exe從而引導操作系統啟動運行如果硬盤中裝有多個操作系統,BCD中則分別存儲他們的內核加載程序的路徑地址,并且bootmgr.exe提供選擇菜單,讓用戶選擇加載不同的操作系統。

    UEFIBIOS開機引導過程:

    1.主板加電,BIOS芯片中的UEFI程序初始化CPU和內存,加載驅動程序完成硬件初始化

    2.UEFI系統由于支持文件系統,所以程序直接讀取硬盤的ESP分區(EFISystemPartition執行啟動管理器啟動項如果選擇直接從硬盤啟動,則使用UEFI默認啟動管理器\efi\boot\bootx64.efi,啟動項如果選擇windows安裝程序寫入NVRAM保存WindowsBootManager(可以使用微軟出品的bcdboot.exe刪除和建立該啟動項,則該啟用項使用windows專用啟動管理器,路徑\efi\Microsoft\boot\bootmgfw.efi

    3. bootmgfw.efi啟動管理器讀取BCD啟動配置文件,路徑為efi\Microsoft\BCD,根據BCD中的路徑執行操作系統內核加載程序winload.efi,路徑為C:\Windows\system32\winload.efi,從而引導操作系統啟動運行。

    個程序是如何開始運行的呢?這個問題,一千個人有一千種回答。電腦用戶說:“雙擊程序圖標就行了啊。”;初級程序員信心滿滿的回答:“是從main函數開始執行的。”;高級程序員也許會和你聊到c運行時庫,那里才是程序編譯運行的第一條指令;而熟悉操作系統的專家卻并不知道如何說起,程序加載器、重定位、堆和棧的建立、進程和線程的創建等等細節閃過腦海,哪里才是真正的源頭呢?

    同樣問道計算機是如何啟動的,也許答案就是按下電源鍵而已。但在那個簡單到極致的動作后面卻隱藏了復雜的機理。啟動的開始并不僅僅是操作系統引導,亦或BIOS運行,甚至CPU在reset vector執行第一條指令之前,很多事情已經發生了。正如地球生命的發端并不由人類的到來而伊始,秘密隱藏在遠古而不為人知的遠古時代。讓我們順著時間回溯,站在一切發生的起點:“電源鍵按下”,通過時間的流轉,梳理其中所有的硬件軟件過程,來深入了解計算機的工作原理。

    史前時代:上電時序

    上電時序,也叫做Power-up Sequence,是指電源時序關系。它牽扯到諸多計算機部件,在正式開始時間之旅之前,我們來介紹一下所有參與的小伙伴們。

    電源

    ATX電源提供+12V、-12V、+5V、-5V、+3V和+5VSB等六種電壓。也就是我們圖上的兩個白色的電源接入口。主板其他的不同電壓是主板上的變壓線路轉換過來的,他們包括+3VSB、+1.5VSB、1.8VDual、2.5VDual、3VDual、VCore、VTDDR等等很多。

    +12V主要是給CPU內核供電,它可以單獨給PCIe設備供電,包括顯卡等等。+5V應用最廣,給USB等等外設供電。+5VSB等各種帶SB的電壓,是提供Stand By的供電,即在S3 Sleep時提供電力,保障喚醒和刷新。

    主板右邊中間那個紐扣電池,它叫做RTC電源,永不掉電。除非電池沒電并且沒接任何外部電源。 RTC用以保持機器內部時鐘的運轉和保證CMOS配置信息在斷電的情況下不丟失。

    時鐘

    電腦中的CPU,AGP、PCI插槽、SATA、USB端口和PS/2端口等在通信速度上有很大差異,所以需要提供不同的時鐘頻率。由ck410、ck505和iCLK等芯片將原先散布在不同地方的晶振和分頻電路整合在一起,為CPU、SATA、PCI、USB等等設備提供基礎頻率。

    電源時序控制芯片/電路

    主板對于上電的要求是很嚴格的,各種上電的必備 條件都要有著先后的順序,一項條件滿足后才可以轉到下一步,如果其中的某一個環節出現了故障,則整個上電過程不能繼續下去。誰來控制和協調整個時序過程呢?不同的主板、芯片組、代際之間都有不同的方案,在筆記本上過去經常采用EC的方案、臺式機則很多用SIO或者定制芯片,服務器上多用CPLD等等。現在很多電源時序控制被整合進了ME中,在面向嵌入式設備的Atom系列主板上則越來越多的引入了在手機等設備上常用的PMIC。

    時間開始

    我們通過一個古老的例子來了解一下開機的整個過程:

    1. 在G3(未接電源)情況下,RTC電源提供RTC_RST#和VCC_RTC電源給南橋。
    2. 插入電源或者電池。系統進入G2,S5的狀態。EC檢查電源的可靠性,并發送PM_RSMRST#通知南橋各種SB電壓已經準備完畢。南橋復位,部分功能SB功能激活,進入待機狀態。
    3. 用戶按下電源鍵,時間開始。
    4. EC收到PWRSW#信號,通過PM_PWRBTN#通知南橋。南橋收到PM_PWRBTN#信號后依次拉高SLP_S5#,SLP_S4#,SLP_S3#信號給EC。
    5. EC發出PCON#給ATX電源。
    6. ATX電源接到低電平的PSON#信號后,開始工作,發出各路基本電壓給主板上的各個元件。
    7. 基本電壓變換的其他電壓也被轉換出來。
    8. 電源發出PWROK#給EC,EC轉交給南橋和北橋(有的話)
    9. VRM和CPU通訊,根據VID送出Vcore
    10. VRM發生VRMPWRGD#給南橋,表示核心電壓OK。
    11. 南橋發送PLT_RST#給北橋。
    12. 南橋發送PWRGOOD#給CPU。
    13. 北橋在收到PLT_RST#信號后,1秒鐘后發生CPU_RST#,讓CPU復位

    時序圖如下:

    青銅時代:神秘消失的時間

    在CPU復位后,是不是要立刻跳到reset vector開始執行BIOS程序了呢?還沒有,pcode、on die rom會在這個階段執行,TXT、boot guard等安全保障措施也在這里運行。

    城邦時代:UEFI的四個階段

    CPU終于開始執行reset vector的代碼了,這就進入了我們熟悉的UEFI的世界。我們之前已經有很多文章都有介紹UEFI的各個階段,這里簡單回顧一下:

    ? 在SEC階段,系統從復位開始運行(由主機引導處理器取回的第一指令),通過初始化處理器高速緩存(Cache)來作為臨時內存使用,我們有了堆棧,從而可以執行c程序,然后轉到PEI階段。

    ? 在PEI最開始階段,僅少量棧和堆可用,我們需要找到并使能足夠我們使用的永久內存,通常是內存顆粒或內存條(DIMM),然后轉入DXE。

    ? DXE階段有了永久存儲空間,真正開始負責初始化核心芯片,然后轉換到BDS階段。

    ? 核心芯片初始化完成后BDS階段開始,并繼續初始化引導操作系統(輸入,輸出和存儲設備)所需的硬件。 縱觀PI的整個階段,BDS對應的是“執行UEFI驅動程序模型”來引導OS這一過程。

    UEFI引導階段步驟和驅動程序眾多,經過多年發展,核心代碼已經超過一百萬行,儼然已經是個獨立的小王國了。要理解UEFI,必須理解UEFI的目的:初始化硬件,安全啟動操作系統,并為操作系統提供統一的硬件抽象。所有紛繁復雜的驅動和表象后面,都在為了這一目的服務。只要抓住這條主線,再遇到其他的知識點也就會豁然開朗了。

    近代和現代:引導程序和操作系統

    UEFI會在BDS階段后加載操作系統引導程序,也就是OS loader。不同的OS有不同的Loader。一般用戶都十分熟悉,我們這里不再贅述。

    另外傳統BIOS和BIOS引導方式已經被淘汰。Intel也宣布對傳統BIOS兼容模式(CSM)在2020后不再支持(參考資料1)。網上諸多Int13、引導扇區等內容,除非對歷史有興趣,全部可以一笑而過了。

    結論

    按下電源鍵,CPU并不是第一個得到通知并立刻執行代碼的。簡單的開機后面隱藏了如此豐富的內容,這是很多人想象不到的。很多主板,尤其是很多服務器主板,從按下電源鍵到CPU開始執行UEFI固件程序,期間經歷了很多隱藏的片段。這些片段可長可短,有的轉瞬即逝、有的卻讓人等上片刻。它們究竟是什么,為什么存在,值得大家細細探究。

    Windows啟動后,最自然的關機方式是什么呢?當然是按下電源鍵了。有沒有好奇,當我們按下電源鍵,會發生什么呢?為什么Windows可以選擇關機或者睡眠?背后的機理又是什么呢?

    歷史

    如果你曾經使用過Windows95,你一定會記得當時的一個鐵律,必須正確關機!我們要點擊關機菜單,在三個選項中選擇關機才好。像這樣按下電源鍵是絕對不行的:

    我們按下電源鍵真的會立刻切斷整機電源,如果你足夠幸運,下次也許跑個Scandisk就行了,如果你沒有這么幸運,你沒有保存的文件可能就丟失了!這個設計簡直是反人類,和我們其他電器的使用習慣完全不同。幸虧當時PC還是高大上的高科技產品而不是現在四處可見的普通電器,否則微軟一定會被罵死。

    Window98和隨后的WindowsXP引入了ACPI,情況才得到改善。我們來一起看一看當我們按下電源鍵后會發生什么。

    原理

    我們把按下電源鍵分成兩種情況:一、按一下立刻抬起。二、按住不動超過5秒。這里需要ACPI的背景知識。

    1。按一下

    ACPI定義了兩種電源鍵:Fixed hardware power button和Control method power button。Fixed hardware power button一般對應南橋或者SOC中的PWRBTN#引腳,而Control method power button一般可以用GPIO等擴展,它需要在ACPI table中報告_HID(PNP0C0C)設備并提供_GPE Event。為了簡單起見,我們以最常見的PWRBTN#來說明整個流程:

    1. 用戶按下電源鍵,并抬起。

    2. PWRBTN#被觸發。

    3. PWRBTN_STS被置1。

    4. SCI產生。

    5. 操作系統的OSPM發現SCI是電源鍵產生,隨后檢查用戶的電源鍵設置偏好。用戶可以設置睡眠或者關機。

    6. 如果是關機,通知各個應用程序保存退出;通知各個驅動程序電源事件。有序關閉應用和驅動。

    7. 調用關機前的各個ACPI定義的Event。

    8. 寫MADT表中的電源寄存器真正關機,進入G2/S5狀態。

    2。按住不動超過5秒

    這是一種強制關機操作。前一種操作需要OS配合,如果系統已經死機了呢?我們總不能拔電源插頭或者摳出來電池吧,這是一種保險措施了。這個操作叫做Power button override。在PWRBTN#上,硬件都有專有的Timer來計時,超過5秒還沒有抬起,就觸發了強制關機,硬件會直接關閉CPU電源,進入G2/S5狀態。

    Tips

    1。如何選擇按下電源鍵后進入關機還是睡眠?

    在控制面板的電源選項里選擇,如下圖:

    也可以用命令行powercfg。

    2。如何在命令行關機

    用shutdown命令:

    該命令還有重啟等功能,可以配合mstsc遠程重啟。

    結論

    按下電源鍵,比較新的電腦先會嘗試安全關機。操作系統和固件在ACPI規范下共同工作,不同分工,一步步安全關閉計算機。在操作系統死機等特殊情況下,用戶可以嘗試按住電源鍵不動5秒鐘以上,硬件會自動強制關閉電源。這是最后一個手段,保證用戶可以在極端條件下擁有強制關閉電腦的權利,畢竟誰也不想強拔電源(有時條件也不允許)。當然這種條件下,緩存中數據是有可能丟失的。

    最新的電腦,如果不改變電源策略,按下電源鍵就是關閉電腦,而且是安全關閉。習慣老Win95的用戶完全沒有必要害怕直接按下電源鍵。

    按下電源鍵如何開機的呢?見按下電源鍵后發生了什么?電腦是如何優雅地開機的?:

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有