Operating system 关于保护模式下的硬件驱动程序

Operating system 关于保护模式下的硬件驱动程序,operating-system,x86,device-driver,interrupt,protected-mode,Operating System,X86,Device Driver,Interrupt,Protected Mode,最近,我正在尝试编写一个简单的操作系统。这是一个大项目。 当我编写代码时,我想知道现代操作系统如何在保护模式下与硬件联系 在实模式下,我们只需调用bios中断即可完成此任务。 但我想知道如何在保护模式下实现这一目标。(是否使用输入和输出指令??) 我跟踪了一些linux源代码,但仍然找不到合适的代码 我知道这对很多人来说是个基本问题,请帮帮我,tks。 对不起,我的英语很差 在受保护模式下,CPU可以在内核模式或用户模式下运行。在内核模式下,您始终可以访问硬件。调用BIOS中断是一种古老的方法,

最近,我正在尝试编写一个简单的操作系统。这是一个大项目。
当我编写代码时,我想知道现代操作系统如何在保护模式下与硬件联系
在实模式下,我们只需调用bios中断即可完成此任务。
但我想知道如何在保护模式下实现这一目标。(是否使用输入和输出指令??)
我跟踪了一些linux源代码,但仍然找不到合适的代码

我知道这对很多人来说是个基本问题,请帮帮我,tks。

对不起,我的英语很差

在受保护模式下,CPU可以在内核模式或用户模式下运行。在内核模式下,您始终可以访问硬件。调用BIOS中断是一种古老的方法,但现代操作系统通常有自己的硬件设备驱动程序,并且不经常调用BIOS。如果您知道硬件数据表,则可以使用
in
out
直接访问硬件。此外,对于现代PCI和PCI Express设备,它们支持内存映射IO(X86 CPU也支持此功能),这意味着您可以使用
mov
访问硬件

对于x86,CPU还允许用户级程序使用输入和输出指令访问硬件。您可以在“英特尔CPU手册”中找到它。刚刚设置了DPL,CPL?(我忘了正确的名字)


我想你最好读一些关于设备驱动程序的书,比如Linux设备驱动程序,第三版

在受保护模式下,CPU可以在内核模式或用户模式下运行。在内核模式下,您始终可以访问硬件。调用BIOS中断是一种古老的方法,但现代操作系统通常有自己的硬件设备驱动程序,并且不经常调用BIOS。如果您知道硬件数据表,则可以使用
in
out
直接访问硬件。此外,对于现代PCI和PCI Express设备,它们支持内存映射IO(X86 CPU也支持此功能),这意味着您可以使用
mov
访问硬件

对于x86,CPU还允许用户级程序使用输入和输出指令访问硬件。您可以在“英特尔CPU手册”中找到它。刚刚设置了DPL,CPL?(我忘了正确的名字)


我想你最好读一些关于设备驱动程序的书,比如Linux设备驱动程序,第三版

我把这个标为一个傻瓜。这不是100%完全相同-这个问题是那个问题的超集,但解决方案是相同的。我把这个问题标记为重复的。它不是100%相同的-这个问题是那个问题的超集,但解决方案是相同的。