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位,并坚持实模式?