OS Design
Hi,
I have been looking for a major project to extend my knowledge of the C/C++ language and as a sort of hobby so I dont spend hours messing on my PC without an aim. I also enjoy coding. The reason I am choosing to write an OS kernel is simple, to see if I can. I am not hoping to get it widely used, I dont know if even I will use it, but I enjoy a challenge. I am hoping to write the kernel essentially on my own and will keep if as basic as possible. I am hoping to cover the following areas: - Text output to a monitor - Sound output - Keyboard input - Disk Read/Write - Exploitation of the x86 processor family's features I am not aiming very high, and I will use others code to learn, in the true spirit of the GNU GPL. I wont be looking for much help overall as I am looking on the whole to code the OS kernel myself. I have some ideas about how I want it to work, and how the overall structure will work. Therefore, I am trying to source the following to read up on the design of an operating system kernel: - The book that was written on minix as an instruction to students. I would appreciate this if it was free, and did not cost me anything to source. I believe that the book is called "Operating Systems: Design and implementation". I know for a solid fact that the book I am looking for is written by Andrew Tanenbaum. It shows how a simple OS works by looking at Minix and its source code. - The source code of GNU/Linux 0.1 - 0.95 (I know there are only a few revisions as Linus thought that 1.0 would be ready sooner than it was). I would also like a copy of Linux 1.0 code. - Information on POSIX/Unix/*nix OS standards and any other OS standards. - Information on how the Modules system of the GNU/Linux kernel works, and how the modules run: eg. are they seperate processes or are they just added source code, like a patch. - A short stretch of information on what special features C or C++ have on interfacing with the hardware of a PC. As I will need to run my environment as the sole interface with the hardware. - Information on porting of the following tools, this is so I can "design" my project to fit them: 1. BASH (or any other shell) 2. pico/nano 3. Basic GNU tools- cp, mv, ls 4. Possibly GCC. gcc will be an addon as I heard it was around 500,000+ lines of code Basically the most important aspect is the book by Andrew Tanenbaum as I believe that reading this could give me a little more information into the ways that it should be coded, the C/C++ functions are also a major need. Thanks to anyone that can help me source these, it will be greatly appreciated. Q: "Why do that?" A: "Because I can" Greetings, Shak - shak@linuxmail.org |
Re: OS Design
Quote:
http://www.cs.nyu.edu/cs/dept_info/c...pr97/G22.2250/ and http://www.cs.vu.nl/~ast/minix.html I can't find a link to the famous Tanenbaum's book. Quote:
All versions are there. Quote:
http://pasc.opengroup.org/links.html Quote:
Quote:
Quote:
|
Re: OS Design
Quote:
|
All times are GMT -5. The time now is 07:35 PM. |