I know there are a lot of questions like this, but I certain this one is rare. I am a computer programmer who wants to take on the challenge of building an operating system. I want to base it on Unix because I know that what I make could never compare. Where can I find Unix? I don't mean things like Mint (that's Linux, I know). I mean the thing they are all based on. Where can I get the main files, like the boot loader and the kernel?
|
|
Maybe you're interested into xv6; Xv6 is a teaching operating system developed in the summer of 2006 for MIT's operating systems course. There are also many resources on UNIX OS. If you want to know more about bootloaders, Operating System Development Series is a nice place to start. |
||||
|
|
|
Unix is actually a trademarked name for that operating system and the core specification is here: http://www.unix.org/ . Linux is not Unix but only modeled after it in part. FreeBSD is a direct descendent of Unix though a lot has been changed since its inception. In order to be called Unix, you must apply for certification. Apple's OSX is certified Unix. |
||||
|
|
|
Linux is the kernel. You can download it at kernel.org. There are several boot loaders, but the best known one is Grub. To clarify the confusion, Mint is a Linux-based distribution. It is Linux, plus the GNU Compiler Collection, the X Window System, and 1,000s of other programs all rolled together into an operating system. Perhaps before developing your own operating system, you should start with Linux from Scratch to better understand the pieces involved. |
||||
|
|
If learning, then I wouldn't start with a modern/complete/working/real-world OS like Linux. Bookmark that, though & come back to it in a second pass. To begin with, there's too much going on there to for learning kernel internals. (There's a reason we begin C programming with "helloworld.c" and not "gcc.c"). Rather, start with a for-educational-purposes kernel that demonstrates the key components of a microkernel, e.g., minix . ...And the (intertwined) history of Linux, Minix and Unix is interesting to learn as part of your research project, as no OS lives in a bubble (not even plan9). |
|||||
|
|
To a newcomer, the tone of some of the answers almost suggests that Linux has nothing to do with Unix. This is of course not so. Some examples: The "x" in Linux refers to Unix. A Linux distribution typically comes with X - developed by MIT, and present all around the Unix world. It also comes with the zillion GNU tools. Although GNU is not Unix, the ambition was to create an alternative Unix-compatible system (that's why so much look the same). If you want more handfast evidence, just type (You could think of a lot more.) The reason it is not officially Unix is that it is expensive to acquire that status, and it would require lots of overhead and adaptation to conform to every detail of the standard. Better to focus the money and effort to improve the technology, build the community infrastructure, and so on. There is not one Unix but many, and in all that matters, Linux is one of them. Computer OS:s grow like a tree with many branches: some are thick, some thin, some fall off, etc., but it is all interconnected in one way or another, and it doesn't evolve along a straight line. |
|||||||||||||
|
