Either I'm missing something or this tutorial is seriously lacking. I'd much recommend Tannenbeum's classic text that covers implementing Minix: http://www.amazon.com/Operating-Systems-Implementation-Prent... But since this text is rather old, it doesn't have some of the later developments in OS. So for that additional material, I'd recommend his latest book to have at your side: http://www.amazon.com/Modern-Operatin…
Actually, I'd recommend the latest version of OSDI, which is fairly recent, and contains the complete source for MINIX3 (in text form, and on CD): http://www.amazon.com/Operating-Systems-Design-Implementatio...
How to Write an Operating System
21–30 of 59 posts
Re: How to Write an Operating System
#22Some hobby OSes: http://f2.fasm4u.net/hyos.html http://softwarewizard.dk/mojo http://mikeos.berlios.de http://www.ctpp.co.uk/chaos http://www.returninfinity.com/baremetal.html http://mythago.net/enthflux.html A kernel development tutorial: http://www.jamesmolloy.co.uk/tutorial_html/index.html
Re: How to Write an Operating System
#23Re: How to Write an Operating System
#24I used XINU to study OS course: http://en.wikipedia.org/wiki/Xinu Xinu is a small, elegant, multitasking Operating System supporting the following features: * Concurrent Processing * Message Passing * Ports * Semaphores * Memory Management * Buffer Pools * Uniform Device I/O * Shell * Tcl * TCP/IP Xinu was originally designed as a vehicle for teaching Operating System design concepts and is used by many educational i…
Interesting project, but it's name sounds too much like Xenu: http://en.wikipedia.org/wiki/Xenu .
Re: How to Write an Operating System
#25I used XINU to study OS course: http://en.wikipedia.org/wiki/Xinu Xinu is a small, elegant, multitasking Operating System supporting the following features: * Concurrent Processing * Message Passing * Ports * Semaphores * Memory Management * Buffer Pools * Uniform Device I/O * Shell * Tcl * TCP/IP Xinu was originally designed as a vehicle for teaching Operating System design concepts and is used by many educational i…
Its various iterations over the year do not necessarily remain true to that principle, but it is something different about the O/S.
Re: How to Write an Operating System
#26Main ideas:
1. Write context switch routine, which will require a little inline x86 assembler code.
2. Map it to timer interrupt.
3. Use C setjmp and longjmp to switch context.
Re: How to Write an Operating System
#27See, this is why I dream of making FU money. So I can spend all my time doing stuff like that.
Makes me wonder, can I make that money doing stuff like this? I know systems research is irrelevant and all that (Rob Pike)... AFAIK the last successful operating systems startup was VMware (is that true?). Does the world have place for more OS startups these days?
Re: How to Write an Operating System
#28Earlier quoted context omitted.
Actually, I'd recommend the latest version of OSDI, which is fairly recent, and contains the complete source for MINIX3 (in text form, and on CD): http://www.amazon.com/Operating-Systems-Design-Implementatio...
So Tanenbaum has two OS textbooks in print? How different are they? Why read one rather than the other?
Modern Operating Systems, on the other hand, is a bit higher level (but still fairly nitty-gritty) and examines two monolithic kernels (Linux/Unix and Windows) as case studies.
Re: How to Write an Operating System
#29I used XINU to study OS course: http://en.wikipedia.org/wiki/Xinu Xinu is a small, elegant, multitasking Operating System supporting the following features: * Concurrent Processing * Message Passing * Ports * Semaphores * Memory Management * Buffer Pools * Uniform Device I/O * Shell * Tcl * TCP/IP Xinu was originally designed as a vehicle for teaching Operating System design concepts and is used by many educational i…
Interesting project, but it's name sounds too much like Xenu: http://en.wikipedia.org/wiki/Xenu .
Re: How to Write an Operating System
#30Either I'm missing something or this tutorial is seriously lacking. I'd much recommend Tannenbeum's classic text that covers implementing Minix: http://www.amazon.com/Operating-Systems-Implementation-Prent... But since this text is rather old, it doesn't have some of the later developments in OS. So for that additional material, I'd recommend his latest book to have at your side: http://www.amazon.com/Modern-Operatin…