我一直觉得操作系统黑客如何设置他们的工作流程既令人生畏又令人困惑。作为一名web开发人员,我发现设置工作流很容易,因为网站运行在服务器上,因此我的操作系统从未被触及过。但是作为一个操作系统程序员,你是如何做到的呢?您是在一台机器上开发,然后以某种方式将代码传输到另一台机器吗?你是在你正在开发的操作系统上开发的吗?最后一个选项似乎充满了矛盾?那你是怎么做的?
附注:
我类似的Quora问题还没有回答这个问题。
发布于 2011-10-18 13:14:44
我从未涉足过第9计划,但对于Unix类型的OSes ( Linux,BSD),我只是安装了一个运行我想要破解的内核的系统,安装了编译器工具链(在大多数现代Linux发行版上并不困难),并开始构建内核。
如果我在愚弄内核本身,我会操纵引导设置菜单(grub或我使用的任何东西),为我的dev内核提供一个额外的选项,然后重新引导到正在开发的内核中。
对于硬件黑客来说,这有点容易,因为我通常使用可加载的模块,所以我只需加载和卸载我正在开发的模块。
在运行内核时,调试并不是世界上最容易的事情,但是当您学会读取系统日志文件时。
发布于 2011-10-18 13:33:29
自从像VMWare、KVM/Qemu或Virtualbox这样的虚拟机被广泛使用(而且对大多数人来说都是免费的),这项工作就变得容易多了。
在此之前,GRUB或LILO等引导管理器允许控制要在哪些二进制文件上启动(允许您在计算机上保持至少一个“稳定的”操作系统)。
我猜在那之前,你得为你的发展贡献一台机器。
发布于 2011-10-18 13:05:47
虽然我不亲自这么做,但似乎最有意义的是使用虚拟机(如VM播放器)。这将允许您立即进行更改,然后启动VM并将其加载到几乎立即就能看到的内容,而不必在整个过程中将其放到单独的机器上。
https://softwareengineering.stackexchange.com/questions/114895
复制相似问题