c - 强制 C 程序在内核模式下运行一段时间

标签 c linux-kernel operating-system kernel

当进程处于内核模式时,我想测试一些东西。完全处于内核模式 10-15 秒的时间应该足够了。

有没有办法强制用 C 编写的程序在内核模式下运行一段时间?会单read系统调用在一个巨大的缓冲区上做什么?

最佳答案

没有办法强制正在运行的程序在内核模式下运行。
在内核模式下,有更多的权限可用。代表着
程序可以执行它不能执行的特殊指令
用户模式。
显然,AFAIK 没有办法强制用户模式下的程序
切换到内核模式,因为它危及安全:想象一下,
每个进程都可以切换到用户模式,恶意
代码可能会通过更改页表、更改 CPU 设置、关闭中断等导致灾难。

“切换”到内核模式的唯一有效方法是执行系统调用。
这将导致内核陷入陷阱,并在执行某些内核代码之后
控制将返回到用户代码。然而,我认为那不是你的
问了。

关于c - 强制 C 程序在内核模式下运行一段时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39241359/

相关文章:

android - 如何禁用android设备的usb端口

c - 终止程序是否以与free()相同的方式回收内存?

使用并行编译器进行编译以便与 Ruby 一起使用?

linux - Linux/x86 中通用寄存器的使用

linux-kernel - CONFIG_ASYNC_XOR 通过 menuconfig/gconfig 不可见

multithreading - 比较和交换 - 如果 2 个处理器同时执行锁定会怎样?

c - 访问 char 和 int 参数

c - 静态初始化的结构自引用

linux - (Linux 内核)中断处理问题

c - 在没有内存分离的操作系统中退出应用程序