标签: kernel

如何将 vmlinux 内核压缩到 vmlinuz 中?

标题几乎概括了这个问题 - 我刚刚构建了一个生成了 vmlinux 输出文件的内核。如何将其压缩为 vmlinuz 映像?

compression kernel

6
推荐指数
1
解决办法
2万
查看次数

从自定义格式的磁盘映像启动 Windows 7

除了普通磁盘分区之外,Windows 7 还能够从其他来源启动 - 例如,它可以从 VHD 或 WIM 本地启动。

是否将上述格式的处理硬编码到引导加载程序中,或者是否有一种方法可以通过提供虚拟磁盘驱动程序来“插入”对其他格式的支持?如果是,有关如何完成的任何详细信息?谢谢你。

PS - 对于那些要求关闭帖子的人 - 请仔细阅读直到最后。我不是在询问如何使用现有软件完成它的步骤,而是如何编写一个允许以专有格式从操作系统映像启动的软件。

windows bootloader drivers kernel c++

6
推荐指数
1
解决办法
270
查看次数

切换到用户态时内核进程是否需要保存一些东西?

据我的教授说,

“从用户模式切换到内核模式时,用户进程的状态必须完全保存。但是当从内核模式切换到用户模式时,什么都不必保存,因为内核进程没有什么可以保存的。”

他说得对吗?内核进程没有什么可以保存的吗?

process kernel

6
推荐指数
1
解决办法
960
查看次数

Linux - 防止磁盘旋转

启动时,所有磁盘都会旋转,但 4 个只是备份(而且噪音也很大)。所以我宁愿在启动时根本不旋转它们。

是否有一个内核选项告诉内核磁盘连接到哪个包含 rootfs 的 SATA 端口?

如何实现磁盘在启动时不旋转?

linux sata kernel spinup

6
推荐指数
1
解决办法
6005
查看次数

为什么用户级线程比内核级线程快?

我发现用户级线程比内核级线程快很多,但我找不到任何令人信服的例子来说明为什么用户级线程比内核级线程快?有人可以向我解释一下。

内核级线程速度慢且效率低下。例如,线程操作比用户级线程慢数百倍。

取自这里

kernel threads

6
推荐指数
1
解决办法
5476
查看次数

Linux 上的 Logitech M560 鼠标发送混乱的输入事件

我的朋友昨天买了一个罗技 M560 鼠标(你可以在这里看到它)并在她的 Ubuntu 系统上试用。它似乎是一个相对较新的模型,所以除了罗技自己的网站外,任何地方都没有关于它的信息。键映射已关闭,但我认为重新映射按钮很容易 - 过去十年我一直在使用各种罗技鼠标进行此操作。但是,与其他鼠标不同,您必须用按钮 2 说切换按钮 13,这款鼠标会发送一些按键事件,就像您在键盘上打字一样。

鼠标具有左键和右键单击按钮、具有倾斜功能的滚轮(4 个按钮)、侧面的后退和前进按钮,以及滚轮后面的小方形按钮 - 总共九个按钮。按下滚轮不会起到中键的作用,它下面没有开关。相反,按下轮子会接合和松开锁,使其可以逐步或自由旋转。

我想让所有“常用”按钮执行它们应该执行的操作并将中间单击操作映射到轮子后面的小按钮,因此我从 xev 和 xinput 开始确定哪个是哪个:

按钮 1 -> 左击按钮 3 -> 右击按钮 4 -> 向上滚轮 按钮 5 -> 向下滚轮 按钮 8 -> 向左倾斜 按钮 9 -> 向右倾斜

这是奇怪的部分:按下前进按钮就像按下 Super_R(键码 134)。按下后退按钮会同时产生 Super_L 和 d(键码 133 和 40)。

更奇怪的是:按一次方形按钮,同时给出 Alt_L、Super_L 和 XF86TouchpadOff(键码 64、133、201)。第二次按下它就像按下按钮 1...

因此,前六个按钮发送按钮按下/释放事件,而其他三个按钮发送多个按键按下/释放事件。

将鼠标按钮映射到键盘键码相对容易,但是否可以在不损坏系统键盘的情况下进行相反的操作?我应该从 kernel.org 联系某人以添加对鼠标的支持吗?

linux kernel logitech-mouse

6
推荐指数
1
解决办法
6659
查看次数

为什么系统进程一直使用 40-60% 的 CPU 功率?

特尔;博士:

  • ACPI.sys 不断使用大量 CPU 资源。
  • 病毒和恶意软件扫描全部恢复干净
  • 驱动程序是最新的(GPU、芯片组、USB 设备)

可能的重要信息:

  • 这个 Win7 安装在 SSD 上,我必须通过我的主操作系统 (Vista) 将其安装为辅助引导。这是因为我蹩脚的 BIOS 不允许我从磁盘或 USB 记忆棒启动,所以我需要旧的 C:/ 驱动器和 Vista 才能启动到 Win7。
  • 我的虚拟内存都在 SSD 驱动器上(我知道这对驱动器不利,但我想提高性能并且不在乎它是否会在几年后消失)

我的 Windows 7 系统目前遇到了可怕的性能问题。查看任务管理器中的System (NT Kernel & System)进程显示该进程始终使用大约 40-60% 的 CPU。

我发现的一篇博客文章表明,这通常是由于驱动程序问题,例如 USB 设备或图形驱动程序,所以我使用 xperf ( xperf -on latency -stackwalk profile) 进行了 stackwalk并检查了 Windows Performance Analyzer 中的输出文件,这似乎ACPI.sys是导致问题:

在 Windows Performance Analyzer 中检查系统进程

这是我为 ACPI.sys 扩展堆栈时得到的结果:

我不懂这啥意思

微软说:

Windows ACPI 驱动程序 Acpi.sys 是 Windows 操作系统的一个内置组件。Acpi.sys 的职责包括支持电源管理和即插即用 (PnP) 设备枚举。

另一个用户通过更新他们的 BIOS …

windows-7 drivers kernel

6
推荐指数
1
解决办法
6170
查看次数

Linux 中的发夹

我有一个安装了 Linux 系统的路由器。

我希望我的路由器支持 NAT 发夹。

Kernel Linux 中是否存在这样的功能?如果是如何激活它?是否有补丁可以将其应用于我的内核以支持发夹?

来自维基百科的发夹解释:

Let us consider a private network with the following:

    Gateway address: 192.168.0.1
    Host 1: 192.168.0.5
    Host 2: 192.168.0.7

    The gateway has an external IP : 192.0.2.1
    Host 1 runs a P2P application P1 on its port 12345 which is externally mapped to 4444.
    Host 2 runs a P2P application P2 on its port 12345 which is externally mapped to 5555.

If the NAT device supports hairpinning, then P1 application can …
Run Code Online (Sandbox Code Playgroud)

networking linux nat kernel linux-kernel

6
推荐指数
1
解决办法
5903
查看次数

如何禁用内核登录到 systemd 日志?

我正在使用过度发送内核消息的设备(每秒 10-100 条消息,Mediatek 驱动程序......),从内核本身删除日志记录(分布在数百个文件中)是不可行的。

我已经接受 dmesg 在这个设备上几乎没用,但不幸的是 systemd 日志也受到了影响。

是否可以过滤/禁用将内核消息记录到 systemd 日志中?

linux kernel systemd

6
推荐指数
2
解决办法
1万
查看次数

如何控制 ntoskrnl.exe!MiWalkPageTablesRecursively 的 CPU 使用率

内核跟踪高 CPU 使用率的帖子之后,我以为我已经调试了一个一直困扰我的问题,即系统进程 20-30% 的一致 CPU 使用率。请参阅我之前的帖子

我设置了 Windows 性能分析器,并且能够跟踪到这个过程: WPA 跟踪日志 我认为这与通过函数名称猜测的页面文件有关,并禁用了我的页面文件,然后重新启动,但 Windows 拥有页面文件并抛出错误。所以我创建了一个大约 100MB - 2048MB 的小页面文件。

这似乎已经解决了几个星期的问题,但现在它又来了,即使页面文件只有 2GB。它似乎发生在系统启动一段时间后。当前正常运行时间为 8 天。

如果任何内核专家可以就我接下来应该尝试什么提供建议,我很乐意这样做。

然而,进程资源管理器在系统映像下显示了一个不同的线程。我不知道如何调和这种差异:

初始化AnsiStringEx

进程浏览器通常显示上述内容,但在其他时候它可以显示调试过滤器状态......等。

在此处输入图片说明

(我相信它总是 ThreadID 56)但是几个跟踪日志似乎总是显示我们在上面看到的问题。

编辑

根据 RAM 的要求添加了图像。这是在问题不存在的全新重启之后。

内存使用 流程细节工作集

博客推荐的配置符号路径以加快符号加载

进程浏览器

procexp 符号路径

水杨酸

WPA 符号路径

缓存文件夹的文件大小

符号信息

在系统上发现多个版本的 dbghelp.dll。当前指向系统,但不知道它应该指向哪个。

dbghelp.dll 版本


更新

按照查找Zombie Processes的链接后,我发现了以下数据(已截断以删除次要条目)

374 total zombie processes.
334 zombies held by explorer.exe(1768)
    298 zombies of Fences.exe
    9 zombies of LogonUI.exe
    7 zombies of chrome.exe
10 zombies held by ctfmon.exe(4568)
    2 zombies of chrome.exe
7 zombies held …
Run Code Online (Sandbox Code Playgroud)

windows cpu kernel

6
推荐指数
1
解决办法
3192
查看次数