问题标签 [kernel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 内核模式驱动程序写入文件
我正在开发 Windows 键盘过滤器驱动程序,我需要写入文件。我尝试使用 zwcreate、zwwrite 和 zwclose,但驱动程序没有在 PASSIVE_LEVEL 运行,我得到了 BSOD。我以前从未编写过 Windows 驱动程序。谢谢您的帮助!
编辑:谢谢 J. 通过!
java - 构建仅支持 Java 的自定义 BSD 版本
我应该使用什么过程来实现构建能够运行 Java VM 但不具备任何其他功能的 FreeBSD 版本的目标,包括但不限于:
- 运行除 Java VM 之外的任何进程
- 禁用任何/所有外壳访问
- Java VM 退出时,操作系统关闭
我需要支持 JDK 1.6,因此 SANOS 等方法不起作用。
assembly - 如何使用汇编 (NASM) 从 CD-ROM 将内核加载到内存中
我正在为自己编写一个引导程序和内核,引导程序和内核都将刻录在 CD-R 上,并将用作 CD-live。它不是 linux CD-Live 或其他东西,完全是我自己的引导程序和内核。我不想使用其他的加载程序(即 GRUB),所以请不要建议我使用它们。
这是我的问题:在我的引导加载程序 ASM 代码中,我想将我的内核和内核条目从 CD-ROM(而不是从硬盘或软盘)加载到 RAM 中,并假设我们知道内核的确切位置在CD-ROM(扇区号)。据我所知,我必须使用 int 0x13, AH = 02h 将扇区从驱动器读取到 RAM 中。为了使用这个中断服务,我必须设置几个寄存器,我将在下面列出: 参数:AH 02h AL Sectors To Read Count CX Track + Sector / See remark DH Head DL Drive ES:BX Buffer Address Pointer
我的问题是关于 DL 和 DH。为了指向要读取的第一个硬盘驱动器,我们可以将其设置为 80h,或者对于软盘,我们可以将其设置为 00h。但是我想从 CD-ROM 中读取,但我不知道我必须为 DH 和 DL 使用什么值。
为了从 CD-ROM 读取几个扇区到 RAM,它是一个正确的中断(int 0x13)吗?如果是,我应该为 DH 和 DL 赋予什么价值。
问候, 波利亚。
operating-system - 对于内核/操作系统,C 仍然是它吗?
我喜欢操作系统,并最终想成为一名主要从事内核工作的操作系统开发人员。将来 C 语言仍将是首选语言,我还应该尝试学习什么?
java - .NET CLR 不需要操作系统?
在 Java 世界中,BEA(现在的 Oracle)创建了不需要操作系统的 LiquidVM。同样,还有各种开源项目,包括SANOS、JNODE OS、Project Guest VM、JavaOS等。
是否为 .NET 创建了等价物?
windows - 在没有传统操作系统的情况下运行 Ruby?
在 Java 世界中,BEA(现在的 Oracle)创建了不需要操作系统的 LiquidVM。同样,还有各种开源项目,包括SANOS、JNODE OS、Project Guest VM、JavaOS等。
是否为 Ruby 创建了等价物?
linux - 开发内核以支持多个 CPU
我希望进入操作系统内核开发,并认为我的贡献是扩展SANOS操作系统以支持多核机器。我一直在阅读有关操作系统的书籍 (Tannenbaum) 以及研究 BSD 和 Linux 如何应对这一挑战,但仍然停留在几个概念上。
SANOS 在多个 CPU 上运行时是否需要更复杂的调度算法,或者当前使用的算法是否可以正常工作?
我知道线程与启动它们的内核具有亲和力是一个好主意,但是这是通过调度还是通过更改线程创建方式的实现来处理的?
需要考虑什么才能使 SANOS 可以在具有数百个内核的机器上运行?据我所知,BSD 和 Linux 最多只能支持十几个内核。
java - 升级操作系统内核的方法
我希望进入操作系统内核开发,并认为我的贡献是扩展SANOS操作系统以支持 JDK 1.6 和 1.7。我一直在阅读有关操作系统的书籍 (Tannenbaum) 以及研究 BSD 和 Linux 如何应对这一挑战,但仍然停留在几个概念上。
当 SANOS 更多地从下往上开始时,告诉我需要支持哪些额外系统调用的最快方法是什么?
如果我有一个需要支持的系统调用列表,如果它们本质上相似,那么将它们汇总的最佳方法是什么?
c++ - 向非 Windows 操作系统添加蓝屏死机
我希望进入操作系统内核开发领域,并且一直在阅读有关操作系统的书籍 (Tannenbaum) 以及研究 BSD 和 Linux 如何应对这一挑战,但仍然停留在几个概念上。
如果我想在操作系统上模仿 Windows 蓝屏死机,我会简单地将这个逻辑放在恐慌内核方法中吗?
有没有办法改进 Windows 当前执行此功能的方式?