LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   OS Design (https://www.linuxquestions.org/questions/programming-9/os-design-28808/)

Shak 08-26-2002 10:09 AM

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

Mara 08-26-2002 01:37 PM

Re: OS Design
 
Quote:

Originally posted by Shak

- 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.

You may look at this:
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:

- 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.
www.kernel.org
All versions are there.
Quote:

- Information on POSIX/Unix/*nix OS standards and any other OS standards.
This may be interesting:
http://pasc.opengroup.org/links.html
Quote:

- 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.
In Linux kernel?
Quote:

- 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.
C and C++ don't have special features for PC hardware. For this part I suggest assembler.
Quote:

- 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
They'll run every POSIX system (or nearly every). I think you need to browse their documentation for details.

Hko 08-26-2002 04:12 PM

Re: OS Design
 
Quote:

- 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.
They are more like 'just' added binairy code. To some extend comparable to dynamically linked libs.


All times are GMT -5. The time now is 07:35 PM.