问题标签 [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 内核环境的测试框架。到目前为止,我已经找到了 cfix。有人试过吗?有替代品吗?
linux - 了解 linux 或 BSD 内核内部的最佳方式是什么?
我想更好地了解操作系统内部。进程管理、内存管理和类似的东西。
我正在考虑通过了解 linux 或 BSD 内核来学习。
哪一个内核更适合学习目的?
最好的起点是什么?
能推荐一些好书吗?
operating-system - 操作系统开发入门有哪些资源?
我一直想做的一件事是开发自己的操作系统(不一定像 Linux 或 Windows 那样花哨,但比我已经做过的简单引导加载程序更好)。
我很难找到资源/指南来帮助您完成编写简单的“Hello World”操作系统。
我知道很多人可能会建议我看一下 Linux 或 BSD;但是像这样的系统的代码库(大概)太大了,我不知道从哪里开始。
有什么建议么?
更新:为了让通过谷歌登陆这篇文章的人更容易,这里有一些操作系统开发资源:
编写自己的操作系统(感谢 Adam)
Linux 从零开始(感谢 John)
SharpOS(C# 操作系统)(感谢 lomaxx)
OS Dev Wiki和论坛(感谢 Steve)
善意(感谢史蒂夫)
麸皮(感谢史蒂夫)
滚动你自己的玩具 UNIX 克隆操作系统(感谢史蒂夫)
其他资源:
我找到了一个名为MikeOS的好资源,“MikeOS 是一个学习工具,用于演示简单操作系统的工作原理。它使用 16 位实模式进行 BIOS 访问,因此不需要复杂的驱动程序”
2008 年 11 月 14 日更新
我在Freebyte's Guide to...Free and non-free Operating Systems中找到了一些资源,这些资源链接到诸如 OSKit 和 ExOS 库之类的工具包。这些似乎对开始操作系统开发非常有用。
2009 年 2 月 23 日更新
Ric Tokyo在这个问题中推荐了 nanoos。Nanoos 是一个用 C++ 编写的操作系统。
2009 年 3 月 9 日更新
Dinah 为有抱负的 OS 开发人员提供了一些有用的 Stack Overflow 讨论:创建自定义操作系统的路障讨论了您在开发 OS 时可能遇到的陷阱,而OS 开发是一个更普遍的讨论。
2009 年 7 月 9 日更新
LB 提供了Pintos Project的链接,这是一个为学生学习操作系统开发而设计的教育操作系统。
2009 年 7 月 27 日更新(依然强劲!)
我偶然发现了来自伯克利的一门在线操作系统课程,其中有 23 节课。
TomOS是MikeOS的一个分支,其中包括一个小内存管理器和鼠标支持。作为 MikeOS,它被设计成一个教育项目。它是用 NASM 汇编程序编写的。
2009 年 8 月 4 日更新
我发现幻灯片和其他材料与上面列出的在线伯克利讲座一起使用。
2009 年 8 月 23 日更新
stackoverflow 上所有标记为 osdev 的问题
OS/161是一个用 c 语言编写的、在模拟硬件上运行的学术操作系统。这个操作系统在 Nachos 中是类似的。谢谢小说家!
tangurena 推荐http://en.wikipedia.org/wiki/MicroC/OS-II,一个为嵌入式系统设计的操作系统。还有一本配套书。
Anders 建议 Robert Love 的Linux Kernel Development 。这是“广受好评的内部人士对 Linux 内核的看法”。
2009 年 9 月 18 日更新
感谢 Tim S. Van Haren 向我们介绍了Cosmos,这是一个完全用 c# 编写的操作系统。
tgiphil 向我们介绍了托管操作系统联盟 (MOSA) 框架,“一套工具、规范和源代码,用于促进基于通用中间语言的托管操作系统的开发。”
2009 年 9 月 24 日更新
Steve 找到了一些使用 Visual Studio 在 Windows 上进行开发的资源,请查看BrokenThorn 的 VS 2005 指南设置或OSDev 的 VS 部分。
2012 年 9 月 5 日更新
kerneltrap.org 不再可用。linux 内核 v0.01 可从kernel.org获得
更新于 2012年 12 月 21 日 一个基本的操作系统开发教程,设计为一个学期的项目。它指导您构建具有基本组件的操作系统。对初学者来说非常好的开始。相关论文。谢谢斯鲁扬!
2013 年 11 月 15 日更新
从零开始编写一个简单的操作系统。谢谢詹姆斯摩尔!
2013 年 12 月 8 日更新
如何制作电脑操作系统 谢谢ddtoni!
2014 年 3 月 18 日更新
ToAruOS 一个主要从头开始构建的操作系统,包括 GUI
2016 年 9 月 12 日更新
2016 年 12 月 10 日更新
编写一个简单的操作系统——从零开始(谢谢@Tyler C)
linux - Linux TCP/IP 黑客“生活”在哪里?
在过去一年左右的时间里,我的生产平台一直受到一个奇怪的 TCP/IP 问题的困扰。我花了无数个小时与有能力和知识渊博的系统管理员一起工作,搜索网络,阅读源代码,被 RH 可怜的支持拉扯着,流下了血泪!无济于事。(谷歌“unkn-4”,你会看到很多帖子都写着我的名字。)
轮换工作已经到位,所以这个问题不是优先事项。但我内心的极客真的很想了解和解决这个问题。
那么,一个中等能力的系统程序员可以去哪里询问详细的问题并从 TCP/IP 堆栈之王那里获得详细的答案呢? 我假设他们的世界如此接近裸机,他们的人口如此之少,与我的世界不同。那,他们不想回复“我的调制解调器不工作”的电子邮件,所以他们躲在阴影里。
任何指针将不胜感激。
linux - 开发没有信息的驱动程序
开源/自由软件社区如何为不提供文档的产品开发驱动程序?
windows-xp - Windows XP 中用户启动的内核转储
我记得看过 Mark Russinovich 的网络广播,展示了用户启动的内核转储的键盘按键顺序。有人可以按键的确切顺序刷新我的记忆吗?
请注意,这是针对 XP 的。
linux - 在家学习内核黑客和嵌入式开发?
我总是被内核黑客和嵌入式系统的世界所吸引。
有没有人有关于开始弄乱这些东西的好教程(+容易获得的硬件)?
诸如用于编写驱动程序的工具包之类的东西,它们带有良好的文档并且价格合理?
谢谢!
c - 来自 copy_to_user 的“错误地址”错误
我正在尝试将自定义结构从内核空间复制到用户空间。在用户空间 errno 内部返回“错误地址”。错误地址错误的常见原因是什么?
c# - C#驱动程序开发?
在我一头扎进 C# 之前...
我一直觉得 C 或者 C++ 最适合在 Windows 上开发驱动程序。我不热衷于在 .NET 机器上开发驱动程序的想法。
但是 .NET 似乎是 MS 走向应用程序开发的方式,所以我现在想知道:
- 人们是否在使用 C# 开发驱动程序?
- 您是否必须做很多 API 挂钩,或者 C# 是否具有与内核交互而无需大量黑客的设施?
- 谁能比通常情况下更接近 Ring 0 运行 C# 程序的可靠性和安全性?
我希望我的设备可以在 C# 中使用,如果 C# 中的驱动程序开发很成熟,那显然是要走的路,但如果不推荐的话,我不想在那里花很多精力。
- 有哪些很好的入门资源,比如开发一个简单的虚拟串行端口驱动程序?
-亚当