如何创建现代PC电脑你自己的x86操作系统 [英] How To Create Your Own x86 Operating System for Modern PC Computers

查看:133
本文介绍了如何创建现代PC电脑你自己的x86操作系统的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建用于x86 PC电脑一个新的操作系统。我想它是64位,但可能为32位运行良好。

I'd like to create a new operating system for x86 PC computers. I'd like it to be 64-bit but possibly run as 32-bit as well.

我有这些题型:

你开始什么样的事情在第一次工作吗?知道在哪里可以编写自己的操作系统启动对我来说似乎是一个棘手的问题,所以我很感兴趣,您的输入。

What kinds of things do you start working on first? Knowing where to start in writing your own operating system seems to me to be a tricky subject, so I am interested in your input.

一般如何去制作自己的32位/ 64位的操作系统,或者说提过要如何编写自己的操作系统的x86计算机有用的信息很好的资源。我不在乎,只要他们仍然相关和有用的我在做什么旧的来源如何。

Generally how to go about making your own 32-bit/64-bit operating system, or good resources that mention useful information about going about writing your own operating system for x86 computers. I don't care how old sources are as long as they are still relevant and useful to what I am doing.

我知道我会希望它有直接访问外设内核驱动程序。我应该在哪里寻求建议和文档的编程和理解接口外设硬件操作系统将与沟通?我需要了解操作系统将如何接收输入和键盘,鼠标,电脑显示器,硬盘驱动器,USB,等等,等等互动,这可能是我最了解的领域。

I know that I will want it to have kernel drivers that access peripheral hardware directly. Where should I look for advice and documentation for programming and understanding the interface to peripheral hardware the operating system will communicate with? I will need to understand how the operating system will receive input and interact with keyboards, mice, computer monitors, hard drives, USB, etc. etc. This is probably the area I know least about.

我有英特尔指令集手册,并已越来越熟悉汇编编程,所以对事物的CPU方面是我最了解。

I have the Intel instruction set manuals and have been getting more familiar with assembly programming, so the CPU side of things is what I know the most about.

在这一点上,我想,我想实现Linux系统下我的操作系统中调用,这样在Linux上运行的程序可以我的操作系统上运行。我希望我的操作系统中使用的ELF二进制格式。我不知道我的障碍必须克服实现这一Linux兼容。是实施该系统的主要事情调用Linux提供,并使用ELF格式?还有什么呢?

At this point I'm thinking that I'd like to implement the Linux system calls within my operating system so that programs that run on Linux can run on my operating system. I want my operating system to use the ELF binary format. I wonder what obstacles I have to overcome to achieve this Linux compatibility. Are the main things implementing the system calls that Linux provides, and using the ELF format? What else?

我也有兴趣在人们的为什么它可能不是一个好主意,使自己的操作系统的想法,为什么这是一个好主意,使自己的操作系统。

I am also interested in people's thoughts about why it might not be a good idea to make your own operating system, and why it is a good idea to make your own operating system.

感谢您的任何输入。

推荐答案

您可能会只想得到它在虚拟机内部运行的开始。这是一个PITA试图开发实际硬件的操作系统(与不断重新启动和调试环比串行电缆)。

You'll probably just want to get it running inside of a virtual machine to begin with. It's a PITA trying to develop an OS on actual hardware (with the constant rebooting and debugging-over-serial-cable).

在一个虚拟机你通常有一个简化的(和相对标准化的)一套硬件支持,可缓解初期发展良好。特别是,如果你想显示别人你的操作系统,你只是给他们一个.vhd文件,并有理由相信,如果你的作品,然后它会为他们正常工作。

Inside a VM you've usually got a simplified (and relatively standardised) set of hardware to support which can ease initial development as well. In particular, if you want to show someone else your OS you just give them a .vhd file and be reasonably confident that if it works for you then it'll work for them as well.

您也可能要开始与东西是已经向上和最初运行(例如,微软的奇异是pretty整齐)。这会让你得到所有的枯燥的引导加载程序和基本设备驱动程序的出路,你可以更迅速地获取到肉的东西。

You might also want to start with something that's already up & running initially (for example, Microsoft's Singularity is pretty neat). That'll let you get all of the boring boot loader and basic device drivers out of the way and you can get onto the "meaty" stuff more quickly.

这篇关于如何创建现代PC电脑你自己的x86操作系统的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆