This topic is now archived and is closed to further replies.


This topic is 5892 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Original post by CtrlAltDel
How challenging would it be to write a *nix Kernel?
Anybody have a link to some OS information that would be needed to write one....

It would be pretty hard work. There are people hacking at the Linux kernel all day. That''s the only thing they do though as it takes alot of time. I wouldn''t recommend hacking a Unix kernel unless you really really really know what you''re doing( in other words, you''re a C/C++ expert ). And even then, I sure as hell wouldn''t want to do it...

"And that''s the bottom line cause I said so!"

Headhunter Soft
A division of DLC Multimedia

Resist Windows XP''s Invasive Production Activation Technology!

"gitty up" -- Kramer

Share this post

Link to post
Share on other sites
I''d say, start small, and keep your expectations low in the beginning. Writing a small kernel isn''t as hard as it seems, and it can be really fun (if you like low-level programming). Making a fully UNIX compatible kernel will be a lot of work though.

Read the links I gave in my post above, and you should be able to write a small, working kernel. You can write almost everything in C or C++. Only a few things need to be implemented in assembly (like the boot loader, entering protected mode, setting up the GDT and IDT, low-level stuff like that).

To simplify things make the kernel multiboot compliant and use a multiboot compliant bootloader (such as GNU GRUB) to load it.

Also, have a look at the Intel Software Developer''s Manual, especially "Volume 3: System Programming Guide" (if your target platform is IA-32).

Share this post

Link to post
Share on other sites
[qoute]I don't know how people like Linus can actually sit down and right an entire kernel... It's simply amazing how much needs to go in there

Well, according to Just For Fun, Linus says that he was taking a course in Operating Systems, so in the summer, he decided he would want to get a head start. He bought the book Operating Systems: Design and Implementation, and throught the whole summer, he read that book in his ratty white bathrobe. He used Minix, but it had terrible terminal emulation (translation: he couldn't go on the internet very well to get to the Minix newsgroup), so he decided to write his own terminal emulator. One day, instead of connecting to his internet drive, he connected to his own hard drive, and it erased Minix off his computer! By then he had to rely on Linux (at first he was thinking of calling it Freax), because he already did stuff like porting GCC to it. One time, he posted that he was looking for a set of the POSIX standards on his newsgroup, and everyone knows that anyone wanting the POSIX standerds is making a UNIX clone. Pretty soon, he had many people working on the project. Later on, he admits that if he knew what big of a project Linux would be to make, he would never had made it.

Well, there's a Linux Freak's opinion

"It''s the Big, Evil Microsoft Corporation & Wicked, Greedy, Too-Fucking-Rich Bill Gates vs. the We''re-In-It-for-the-Love-and-Free-Software-for-Everybody & the Self-Effacing (Seeming) Folk Hero Linus B. Torvalds thing."
- Linus Torvalds, describing how many portray him

Edited by - tuxx on October 23, 2001 6:25:25 PM

Share this post

Link to post
Share on other sites
Guest Anonymous Poster
Farthest I ever got was a simple bootloader that loaded a file (any file in the FAT12 partition, aka floppy) and ran it... .exe or .com, with keyboard support, and SVGA support... no mouse support or any other hardware support. It was not in p-mode though, so no GDT or IDT was required, and it made things much simpler (although, you couldn''t do as much either).


Share this post

Link to post
Share on other sites