protected-mode

    2熱度

    1回答

    def check_text(browser, sitename): browser.get(sitename) try: text = browser.find_element_by_class_name("text_content").text if "foo" in text: print("ok") else:

    0熱度

    1回答

    我開始在(NASM)組件中開發一個小型玩具操作系統,僅供我娛樂。 我寫了一個引導程序,它將第一個(也是唯一一個)文件從名爲「kernel.sys」的FAT12文件系統加載到內存中,位置爲0x7E00。 在實模式下,內核只通過BIOS設置適當的視頻模式,並進入32位(保護)模式。這就是我的問題可以找到的地步。首先,我建立了一個帶有3個描述符(null,ring 0 code,ring 0 data)

    0熱度

    1回答

    我正在研究這個真正的保護模式轉換。我懷疑真正的保護模式是否可以在不加載ldt和idt的情況下發生,但通過加載gdt來實現。有鑑於此,第二個疑問就是爲什麼真正的模式程序不能轉換到v8086模式而不能在保護模式下運行? 謝謝

    -1熱度

    3回答

    我正在構建一個32位操作系統的程序集。 我已經安裝了IDT,並通過int指令處理程序interruptus。 如何啓用syscall和sysenter指令,以及如何處理它們/返回? 確實syscall指令在英特爾處理器32位中不受支持,因此我無法使用它? 是不是說sysret指令不安全? 做某處存在一個教程嗎? 編輯:我的主要問題是如何啓用syscall和sysenter說明! (沒有重複)

    0熱度

    1回答

    我是x86 cpu的新手。 我讀到關於x86保護模式的內存管理的所有材料。 的材料是英特爾®64和IA-32架構軟件開發人員手冊卷3A,系統編程指南,第1部分 我相信我明白了很多步驟設置CPU訪問內存。 :選擇器寄存器是段描述符表的索引,描述符表的條目是段的基址,線性地址是段的基址和32位偏移的加法。 但是,什麼我'迷惑的是,它似乎對我來說,CPU可以不知道哪個內存地址也將在第一時間訪問,直到上述

    1熱度

    1回答

    我在GDT,IDT和ISR上關注Bran's tutorial。我寫了異常處理程序,但是當我通過除零來測試它時,它發生了三重故障。我不確定我做錯了什麼。這裏是descriptor_table.h: #ifndef VOS_DESCRIPTOR_TABLE_H #define VOS_DESCRIPTOR_TABLE__H #include <stddef.h> #include <stdi

    2熱度

    1回答

    在x86中,在設置PE位CR0後,我們執行遠程JMP以確保CS/EIP已更改。當我看到在x86的程序員手冊中的邏輯流程,與此對應遠JMP指令(保護模式),我看到這樣的事情: Set RPL field of CS register to CPL; 我想,以確保優先級爲0。假設是DPL描述符中也是0,遠端JMP中的選擇器中的RPL也是0.描述符中的C位爲0,所以它是非符合代碼段的情況。該手冊說C

    -1熱度

    1回答

    我看到,使用中斷只能以低分辨率繪製。假設我製作的是簡單的操作系統,可以在任何分辨率上顯示,如4k,1920x1080。我有英特爾x64處理器與英特爾高清顯卡和Nvidia卡。我在筆記本電腦上

    3熱度

    1回答

    從裸骨操作系統導出數據的最簡單方法是什麼? 我正在開發計算機體系結構課程的一些作業,要求學生儘可能準確地對不同的代碼段進行計時。我的想法是將代碼直接插入到OSDev wiki(http://wiki.osdev.org/Bare_Bones)的「Bare Bones」/「Hello World」教程中,該教程將在最低限度的操作系統內核內有效運行待測代碼。 這種技術工作得很好;但是,目前,我唯一的輸

    0熱度

    1回答

    爲什麼發明此模式? 他們爲什麼不把總線從20位擴大到32位,並堅持實模式?