FRIHOST FORUMS SEARCH FAQ TOS BLOGS COMPETITIONS
You are invited to Log in or Register a free Frihost Account!


Best way to learn about Unix OS development





teko
Hi all,

I want to get started in Unix OS development or some kernel hacking. I have some experience in C programming but I dont know much about Unix OS internals. I've installed Linux and Solaris and worked with them but would like to get a better idea of whats under the hood

I've checked out amazon and I think I will read the books by Tannebaum and Bach on OS design for a start.

But to keep my interest up, I would appreciate if anyone could give some ideas as to how to get some basic hands on experience with a unix like OS. I'm expecting a steep learning curve but all ideas or opinions would be appreciated.

Which OS would be the best to start with? Minix, Linux, BSD?
Traveller
Although many things have changed over the years, the book that has usually been considered the book to get is The Design of the UNIX Operating System by Maurice Bach, which is probably the "Bach" you mentioned in your message.

Minix was part of the origins of Linux, but there has been recent development of a more complete, up-to-date Minix (e.g. http://www.minix3.org/).

As far as which to choose: it would probably be better for you to keep that discussion in either in the already well-established "What is your operating system?" or "I want to get Linux, Which one is best?" threads, while reserving this thread for the discussion of learning about how UNIX actually works.
WickedGravity
Here is my two cents on the matter.

Yes, books are good, I will never do anything to tell people not to read. If you read you understand the fundamentals and the background of what youa re trying to accomplish.

However, the best way to learn how to hack a kernel is to load a *nix on a worthless machine and just play. Go to message boards and look for stuff that sounds fun, see if it works, try it again with combinations of other things.

I found out the hard way that not all hacks live in harmony with one another.

As for a starter OS, you need Linux in my opinion, that is taking nothihng away from the others, I just think that starting from the Core is important.
teko
Thanks for the replies.

Since I posted someone also recommended (on another site) getting some early linux source code and read through it i.e linux 0.01 . The idea being that it will be simpler than going though the latest 2.X kernel. Although it could be alot harder to get it running on an old pc so maybe sticking to reading the source is all I could do.
Studio Madcrow
If you really want to play with UNIX, try out some of the ancient PDP-11 versions. Source code is now available under BSD-like terms and 6th Edition Unix is the subject of the excellent Lion's commentary which is available online. If, like most people, you don't have a PDP-11 lying around, you can still enjoy this stuff using either SIMH's PDP-11 emulator or the excellent Ersatz-11 (freeware for non-commercial use)
teko
Studio Madcrow wrote:
If you really want to play with UNIX, try out some of the ancient PDP-11 versions. Source code is now available under BSD-like terms and 6th Edition Unix is the subject of the excellent Lion's commentary which is available online. If, like most people, you don't have a PDP-11 lying around, you can still enjoy this stuff using either SIMH's PDP-11 emulator or the excellent Ersatz-11 (freeware for non-commercial use)


didnt know Lion's commentary was online, thats nice to have.

Thanks also for the simulators always love trying out the older operating systems!!
{name here}
teko wrote:
Hi all,

I want to get started in Unix OS development or some kernel hacking. I have some experience in C programming but I dont know much about Unix OS internals. I've installed Linux and Solaris and worked with them but would like to get a better idea of whats under the hood

I've checked out amazon and I think I will read the books by Tannebaum and Bach on OS design for a start.

But to keep my interest up, I would appreciate if anyone could give some ideas as to how to get some basic hands on experience with a unix like OS. I'm expecting a steep learning curve but all ideas or opinions would be appreciated.

Which OS would be the best to start with? Minix, Linux, BSD?

Linux and BSD would probably be best because both are modern OSes with proper drivers. However if you want more of a challenge you can go for Plan 9, which is modern but lacks appropriate drivers for sound and display modes over 1024x768, or you can even use an original Unix system if you truely want a challenge(although later on you may face Darl McBride in court if you use it).
Studio Madcrow
{name here} wrote:

Linux and BSD would probably be best because both are modern OSes with proper drivers. However if you want more of a challenge you can go for Plan 9, which is modern but lacks appropriate drivers for sound and display modes over 1024x768, or you can even use an original Unix system if you truely want a challenge(although later on you may face Darl McBride in court if you use it).


Good call with Plan 9. That always did strike me as a cool OS. UNIX Editionss 7 and older are also perfectly OK to use. So are any version dervied from the Except System V. That includes 2BSD (PDP-11) and 4BSD (VAX), so hack away.
Related topics
Which unix OS is the best
Want to learn WordPress Plugins development
Creating a new Operating System
Windows or Linux
Lunix
WHICH IS BETTER FOR GAMING
FreeBSD - Is it reliable and secure?
Thinking about creating my own OS
Will Windows last forvever?
Ubuntu
What is your operating system?
The perfect OS - what is your opinion?
which is the better OS, Vista or mac OS X?
COnstructing an OS from nothing...
Reply to topic    Frihost Forum Index -> Computers -> Operating Systems

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2011 Frihost, forums powered by phpBB.