如何编写操作系统程序? [关闭]

2024-05-01

我喜欢编码,但目前只做 Web 开发。我想做一些独特、有趣且与网络编程截然不同的事情。

是的,这可能是一个愚蠢的问题,但我认为构建一个非常简单的操作系统真的很酷。所以请不要说任何粗鲁的话。我只想知道以下事情:

*从哪儿开始? *资源 *我会使用什么语言?

我在想一些简单的事情,比如基于 cmd


操作系统设计的绝对“圣经”过去是 Andrew Tanenbaum 的操作系统设计与实现 https://rads.stackoverflow.com/amzn/click/com/0131429388- “龙”书:-)

还有很多其他参考资料,例如开发您自己的 32 位操作系统 https://rads.stackoverflow.com/amzn/click/com/0672306557.

微软研究院还有一个用托管代码 (C#) 创建操作系统的项目,名为奇点 http://research.microsoft.com/en-us/projects/singularity/- 这可能会提供一些见解/论文等。

不过,编写一个完整的操作系统既不是一件简单的事,也不是一件快速的任务......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何编写操作系统程序? [关闭] 的相关文章

  • 完全用汇编语言编写操作系统有什么好处? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 MenuetOS http en wikipedia org wiki MenuetOS是完全用汇编编写的操作系统的示例 用汇编语言编写它比用
  • 双击文件运行 python 脚本。如何获取该文件作为输入?

    我希望能够创建一个程序 可以在最后保存带有我自己的扩展名的文本文件 稍后用户应该能够双击该文件来运行该程序并打开该文件 我需要知道如何使 python 程序成为用户双击文件时打开的默认程序 以及如何在程序开始运行时获取该文件 蟒蛇2 7 M
  • assembly x86 qemu:致命:尝试在 RAM 或 ROM 之外执行代码

    我正在开发一个非常基本的 shell 其中当前唯一的命令是 help 如果您输入错误 系统会通知您该命令无法识别 在段和堆栈设置的某个地方 我有一个错误 导致 shell 在我输入任何内容后吐出一些废话 然后完全冻结 我在终端中遇到错误 q
  • C 标准库和 C POSIX 库的区别

    我对 C standard lib 和 C POSIX lib 有点困惑 因为我发现 C POSIX lib 中定义的许多头文件也是 C standard lib 的一部分 所以 我假设 C standard lib 是由ANSI C组织定
  • C# 控制线程(恢复/挂起)

    我正在尝试模拟 非常基本且简单的 操作系统进程管理器子系统 我有三个 进程 工作人员 向控制台写入内容 这是一个示例 public class Message public Message public void Show while tr
  • 我如何解释 meminfo 中的所有内存?

    我试图理解如何meminfo跟踪记忆 这是我正在看的内容 MemTotal 341596 kB MemFree 147288 kB Buffers 56 kB Cached 46752 kB SwapCached 0 kB Active 8
  • 自旋锁在单处理器单核架构中有用吗?

    我对自旋锁的功能感到困惑 自旋锁用于阻止进程重新调度 然而 在只有一个核心的机器上 使用自旋锁有用吗 防止上下文切换 您的观察结果很好 在单处理器系统上 旋转等待资源是没有意义的 因为您最好尽早切换线程 互斥体和信号量正是这样做的 在多处理
  • 缓冲区溢出(与)缓冲区溢出(与)堆栈溢出[重复]

    这个问题在这里已经有答案了 可能的重复 堆栈溢出和缓冲区溢出有什么区别 https stackoverflow com questions 1120575 what is the difference between a stack ove
  • 如果物理内存的大小是2^32-1,那么虚拟内存的大小是多少?

    我知道物理地址是 32 位长 但是如何通过这些信息找出虚拟内存的大小 虚拟内存地址空间的总大小为2 32x86架构和更大 目前约为 2 48 x64建筑学 然而 操作系统通常会保留一部分空间 因此 32 位应用程序不一定能一次寻址 4GB
  • 为什么x86分页没有特权环的概念?

    早在 1982 年 当 Intel 发布 80286 时 他们在分段方案中添加了 4 个特权级别 环 0 3 由全局描述符表 GDT 和局部描述符表 LDT 中的 2 位指定 在 80386 处理器中 Intel 添加了分页功能 但令人惊讶
  • 我在哪里可以学习如何使 C++ 程序与操作系统 (Linux) 交互

    我是一个 C 初学者 我想创建与操作系统交互的小程序 使用 Kubuntu Linux 到目前为止 我还没有找到任何教程或手册来让 C 与操作系统交互 在 PHP 中 我可以使用命令 exec 或反引号运算符来启动通常在控制台中执行的命令
  • Azure:列出操作系统映像

    我是 Windows azure 新手 我看过这个文档 http msdn microsoft com en us library windowsazure jj157191 aspx 对我来说它有效 在画廊上列出图像 https mana
  • 内核与系统中的 Windows 进程

    我有一些与内核和用户模式下的 Windows 进程相关的问题 如果我有一个 hello world 应用程序和一个公开新系统调用 foo 的 hello world 驱动程序 我很好奇一旦处于内核模式 我能做什么和不能做什么 对于初学者来说
  • 小牛队 macports 安装过时

    当我升级到 OS X Mavericks 后 所有安装的端口都变得过时了 我无法再使用我的 gcc 请帮忙 The following installed ports are outdated bzip2 1 0 6 0 lt 1 0 6
  • 如何检索 iPhone 的区域设置

    我用谷歌搜索过它 但令我有点惊讶的是我找不到它 我只想访问设备配置的区域设置 我试图找到如何列出所有系统属性 以防我能在那里找到区域设置 但甚至找不到如何做到这一点 我知道 认为 我之前检索过系统属性 但我也记得在谷歌搜索时找到该信息并不容
  • 检查 Linux 中给定进程的打开 FD 限制

    我最近有一个 Linux 进程 泄露 了文件描述符 它打开了文件描述符 但没有正确关闭其中一些文件描述符 如果我对此进行监控 我就可以提前得知该过程已达到其极限 有没有一种很好的 Bash 或 Python 方法来检查 Ubuntu Lin
  • 在Python中使用子文件夹的名称为每个子文件夹创建空文件

    如果我的文件夹结构如下 folder sub1 sub1 1 sub1 sub1 2 sub1 sub1 3 sub2 sub2 1 sub2 sub2 2 sub2 sub2 3 我想让每个子文件夹的文件使用子文件夹的名称 我怎样才能用P
  • crt0 是否加载 msvcrt.dll?

    我想弄清楚标准 C 函数是什么样的printf 在 Windows 环境下加载到内存中 我知道crt0 obj准备堆栈 调用int main int argc char argv 然后使用 main 返回的退出代码退出进程 我还听说 C 标
  • 软件堆栈和操作系统有什么区别?为什么Android不是操作系统而是软件堆栈?

    Android 是一个软件堆栈 但不是一个操作系统 正如developer android com所述 什么是安卓 Android 是一个适用于移动设备的软件堆栈 包括操作系统 中间件和关键应用程序 这 Android SDK 提供了开始开
  • 退出代码大于 255 — 可能吗?

    如果是 在哪个操作系统 shell 或其他操作系统上 考虑以下 Java 程序 我使用 Java 只是作为示例 任何语言都适合这个问题 这更多地与操作系统有关 public class ExitCode public static void

随机推荐

  • 通过使用 dplyr 对变量进行分组来将多列的响应制成表格

    你好 我是 plyr dplyr 系列的新手 但很喜欢它 我可以看到它对我自己的工作有巨大的实用性 但我仍在努力解决它 我有一个如下所示的数据框 1 如何为每个非分组变量生成一个表格 以显示分组变量每个值内的响应分布 2 注意 我确实有一些
  • VC++ 中的 getopt()

    我非常喜欢使用 GNUgetopt http www gnu org software libtool manual libc Getopt html 当在Linux 据我所知 getopt 在 MS VC 下不可用 Note Win32环
  • 如何将数据附加到现有 Dropbox 文件?

    我正在访问 Dropbox API 以使用 Java 上传和下载文件 现在 我需要创建一个可以将数据附加到现有 Dropbox 文件的函数 我有一个工作代码 它首先下载一个文件 然后上传它并附加文本 但是 有没有更好的方法来做到这一点 因为
  • 如何获取目标名称?

    我们知道Xcode维护着环境变量 TARGET NAME 但是如何在 Objective C 代码中访问这个变量呢 我尝试过什么 我已经添加了 TARGET NAME TARGET NAME 这位于构建设置的预处理器宏部分 但现在我不知道如
  • MSVC 常量枚举类型

    const enum Alpha X 9 Y 5 Z 2 p int main enum Alpha a b a X b Z p X p Y printf d a b p return 0 为什么 MSVC 编译器允许 p X 和 p Y
  • document.readyState == "complete" 始终为 false。状态始终是“交互的”

    我正在 Page Load 上连接一个启动脚本 JavaScript 函数来触发 如下所示 ScriptManager RegisterStartupScript Me GetType Page page init page init Tr
  • MySqlBulkLoader 说明

    你能告诉我什么吗MySqlBulkLoader的用途 在哪里以及如何使用它 一些例子也将不胜感激 请 MySQLBulkLoader是MySQL Connector Net类中的一个类 包装了MySQL语句LOAD DATA INFILE
  • 动态规划——自上而下与自下而上

    我了解到动态规划 DP 有两种 自上而下和自下而上 In top down 您可以使用递归和记忆 在自下而上 你只需填充一个数组 一个表 此外 这两种方法都使用相同的时间复杂度 就我个人而言 我发现自上而下的方法更容易 更自然地遵循 给定的
  • 从 IPConfig 获取 IP 地址,稍后在代码中使用,或保存 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 是否可以运
  • 是否可以使 CSS 网格中的每隔一行具有不同的列数?

    我有一个容器 其中包含未知数量的子级 动态填充 我在父容器上使用此代码 container display grid grid template columns repeat 3 1fr grid row gap 10rem 是否有可能以某
  • 我可以下载并安装 gacutil.exe 而无需安装 VS 或 SDK 吗?

    我希望管理员为我注册一些 DLL 但他可能不希望安装整个 SDK 他可以直接安装吗gacutil exe 如果有的话 他可以从哪里得到呢 我只需发送电子邮件至gacutil exe文件给他 他必须把它放在他的机器上哪里才能使用 我通过复制让
  • 使 Web.config 转换在本地工作

    我想让 web config 转换在本地工作 但显然这些转换仅在进行部署时发生 有谁知道一种方法来运行 msbuild 目标 TransformWebConfig 而不需要经历 重建 过程 并指定和输出目录来吐出转换后的 web confi
  • 如何获取spring data jpa中更新记录的数量?

    我使用 spring data jpa 和 hibernate 作为 jpa 持久性提供程序 我在我的应用程序中使用本机查询 有一些更新查询 我想在执行更新查询时获取更新的实际记录数 spring data jpa 有没有办法做到这一点 我
  • 在源代码管理中维护存储过程

    你们如何维护存储过程 由于一些不同的原因 我想保留它们的版本 本周末我还将设置 Cruisecontrol net 和 nant 来自动化构建 我正在考虑编写一些代码 为我的开发数据库中的所有表 sprocs udf xml 模式生成创建脚
  • 使用java实现网站家长控制

    我想用java编写一个独立的应用程序来控制对受限网站的访问 而孩子们在父母不在身边时使用互联网 主要思想是根据浏览者来阻止成人 不需要的网站 用例是这样的 1 用户打开浏览器 2 我们的应用程序 在后台运行 应该弹出一个身份验证框并要求用户
  • 获取当前文件夹路径

    我想创建一个转换文件的程序 我希望用户能够将可执行文件放在任何目录中 并且在执行该程序时 双击 exe 我希望该程序能够处理exe 文件所在的当前文件夹中的所有文件 程序如何确定当前执行的路径 I tried System Windows
  • 如何在Python 3.10中的匹配(其他语言中切换)案例中使用多个案例

    我正在尝试在类似于下面所示的函数中使用多个案例 以便我能够使用 python 3 10 中的匹配案例来执行多个案例 def sayHi name match name case Egide Eric return f Hi Mr name
  • 运行 npmserve 时收到错误消息模块构建失败(来自 ./node_modules/sass-loader/dist/cjs.js)

    我现在从事 Vue Vuetify 项目已经有一段时间了 直到昨天一切都运转良好 我在使用时遇到问题
  • 当vim进入可视模式时运行命令

    我使用一个小脚本来触发插入模式以更改行号颜色 function CursorLineNrColorInsert mode Insert mode blue if a mode i highlight CursorLineNr ctermfg
  • 如何编写操作系统程序? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi