2014-09-26 118 views
-2

我是一名中国女孩,我是一名高年级学生,所以我需要做毕业设计。所以,我想写一个简单的操作系统,只是可以运行并做一些轻松的事情。我希望你能提供一些有用的书籍和网站来学习,以完成这项工作。我还有一半的时间来完成它。非常感谢你。如何编写操作系统

+0

据我所知,大多数操作系统学期项目采用最小的开源操作系统,如MINIX,并添加/重新设计一个主要组件,如任务调度程序。这是一项重大任务,但仍然比完成整个操作系统要容易得多。 – 2014-09-26 12:46:57

+0

http://osdev.org/是一个很好的开始 – 2014-09-26 13:49:26

回答

0

你必须定义,究竟是什么意思 - 简单的操作系统:

  1. 在本系统工作,只能在特定的硬件 - 如嵌入式平台?
  2. 你想使用哪些用户空间程序?
  3. 你打算使用Linux的某些组件吗?
  4. 你想实现设备驱动程序吗?

有很多关于它的问题。首先,你必须考虑到,即使你编写自己的文件系统,你必须编写一个程序,它可以根据你的文件系统结构等来格式化你的磁盘。 对于像libc这样的库,实例。所以首先要考虑的是,哪些应用程序能够在此系统上运行,并且您是否想要编写它们,或者您想要使用专用于其他系统的应用程序。在第二个选项中, 系统支持至少部分Linux系统(如果您想启动Linux应用程序)调用,那么不容易做什么,尤其是当我们采用诸如epoll,select和etc之类的系统调用时 等等。我认为如果你只有半年的时间,那么写一些类似于DOS的东西。 然后,您不必实现自己的驱动程序从磁盘读取某些内容或在屏幕上打印某些内容。你可以看看 bootloader(grub1)的来源,它使用bios中断它是如何完成的。接下来实现简单的内存管理和进程调度。那么也许非常基本的 文件系统。这是我个人关注的,但仍然没有足够的信息。

+0

首先,非常感谢你。我希望这个系统能够在x86中工作。我想使用一些来自Linux的组件,并且还想实现设备驱动程序。但是像你说的我只有一年的一半。可能完成它非常困难。 – user2804355 2014-09-29 06:00:36