Windows 如果没有操作系统中介,我如何访问我的系统资源?

Windows 如果没有操作系统中介,我如何访问我的系统资源?,windows,linux,unix,operating-system,native-code,Windows,Linux,Unix,Operating System,Native Code,我想在不使用操作系统调用的情况下访问我的系统资源,如CPU。 有什么办法可以做到这一点吗 在大多数现代操作系统(包括Linux和Windows)上直接访问硬件的唯一方法是通过内核代码。是在Linux上编写此类代码的极好起点,即使它有点过时 否则,操作系统将使用系统调用接口提供各种I/O功能,并控制用户应用程序的资源分配。系统调用接口的基本概念在所有操作系统中无所不在,这些操作系统实际上在内核和用户代码之间有某种分离。使用软件中断是在当前硬件上实现系统调用的标准方法 您需要一个系统调用来分配最少量

我想在不使用操作系统调用的情况下访问我的系统资源,如CPU。
有什么办法可以做到这一点吗

在大多数现代操作系统(包括Linux和Windows)上直接访问硬件的唯一方法是通过内核代码。是在Linux上编写此类代码的极好起点,即使它有点过时

否则,操作系统将使用系统调用接口提供各种I/O功能,并控制用户应用程序的资源分配。系统调用接口的基本概念在所有操作系统中无所不在,这些操作系统实际上在内核和用户代码之间有某种分离。使用软件中断是在当前硬件上实现系统调用的标准方法

您需要一个系统调用来分配最少量的内存,甚至读取或写入单个字符。更不用说,即使是一个完全不做任何事情的程序,通常也需要几个系统调用才能加载

如果使用或设计,您可以更直接地访问硬件


但你为什么要这么做呢?直接使用现代硬件绝非小事。

访问系统资源对您意味着什么?没有系统调用,无法启动任何用户应用程序。。。(至少,
execve
是它的二进制可执行文件)。我不想要一个完全独立的程序,我不能忽略在操作系统上运行的普通程序的系统调用。我的问题是,在特殊情况下,我可以访问和管理我的程序或其他程序的资源吗?因为打赌!在我自己的CPU时隙中如何进行线程管理?当然,您可以在自己的时隙中创建自己的线程概念,而无需使用OS MT系统,但它的功能性不强。例如,您不能在不同的CPU内核中运行线程—没有实际的操作系统线程也不行。@sia:您可能会发现很有趣……我相信您输了。内核的作用是抽象和管理原始CPU和硬件@Basile Starynkevitch:我没有,我有机会管理和访问我自己的资源,这些资源已经由操作系统分配给我的程序。