Earlier quoted context omitted.
It very well could not be, but what's important here isn't what's built, but how it's built. The concepts are important, not the end result. Compared to the vast majority of intro to OS tutorials out there, this is great. As I said, you can't expect someone to create something original unless they understand the mistakes of the past. I started off implementing toy kernels with no structure, moved on to Unix-like kern…
> Expecting someone to build something new without any basis is just foolish Base it on your mental model of how your CPU's internals ought to be used, as inferred from the latter's manuals - like 1980s microcomputer users did. Creativity exists .
Roll Your Own UNIX Clone
31–40 of 44 posts
Re: Roll Your Own UNIX Clone
#32Whenever I think about doing something like this, I always get stuck up on x86 ASM. There don't seem to be many books on ASM out there, and the ones I could find in the bookstores were all written around MASM which, of course, does not work on Mac OS X. Any ideas?
Re: Roll Your Own UNIX Clone
#33Earlier quoted context omitted.
This is terrifyingly bad advice, all the more so because no one here seems to understand why or even thinks there is anything to understand. Learning has a direct cost in creativity. Once you have mired your brain in cached thoughts ( http://lesswrong.com/lw/k5/cached_thoughts/ ) of Unix brokenness, it is very difficult to dislodge them. They won't feel like cached thoughts, or like anything special for that matter -…
Yes, learning has an impact (negative and positive) on creativity, but not learning has an impact on your ability to design and implement in general. In addition, what Unix mistakes do you see in Singularity, for instance? It's drastically different from Unix-like kernels in effectively every way. What OSes would you recommend that budding OS developers study, if not these? Amoeba is one of the few I can think of off…
Try this one:
It is just a 512-byte bootblock demo, and yet it does something which no braindead Unix clone can: orthogonal persistence.
Re: Roll Your Own UNIX Clone
#34Earlier quoted context omitted.
> Expecting someone to build something new without any basis is just foolish Base it on your mental model of how your CPU's internals ought to be used, as inferred from the latter's manuals - like 1980s microcomputer users did. Creativity exists .
I want to become a musician. If I listen to existing music, my creativity will be limited by what I've learned. Does that mean that listening to music is a bad thing if you want to become a musician?
Re: Roll Your Own UNIX Clone
#35I'd think that Tanenbaum's book Operating Systems: Design and Implementation (OSDI) and the included MINIX3 source would be high on the list of reading for any kernel-curious developers.
[1] http://www.amazon.com/Computer-Systems-Programmers-Randal-Br...
[2] http://www.amazon.com/Design-Operating-System-Prentice-Softw...
Re: Roll Your Own UNIX Clone
#36Earlier quoted context omitted.
Yes, learning has an impact (negative and positive) on creativity, but not learning has an impact on your ability to design and implement in general. In addition, what Unix mistakes do you see in Singularity, for instance? It's drastically different from Unix-like kernels in effectively every way. What OSes would you recommend that budding OS developers study, if not these? Amoeba is one of the few I can think of off…
> What OSes would you recommend that budding OS developers study Try this one: http://www.memetech.com/ It is just a 512-byte bootblock demo, and yet it does something which no braindead Unix clone can: orthogonal persistence.
Any insight on how this compares to other technologies out there ? Forth ?
Re: Roll Your Own UNIX Clone
#37I'd think that Tanenbaum's book Operating Systems: Design and Implementation (OSDI) and the included MINIX3 source would be high on the list of reading for any kernel-curious developers.
Good, but a little outdated. For general systems overview, as well as introduction to UNIX architecture, I'd actually recommend my textbook, which is the CMU intro systems book, Computer Systems: A Programmer's Perspective[1]. For OS theory, our OS/advanced OS textbooks are fine, but for actual implementation my coworkers recommended The Design of the UNIX Operating System[2], Linux System Programming[3], and Underst…
Re: Roll Your Own UNIX Clone
#38Earlier quoted context omitted.
Yes, learning has an impact (negative and positive) on creativity, but not learning has an impact on your ability to design and implement in general. In addition, what Unix mistakes do you see in Singularity, for instance? It's drastically different from Unix-like kernels in effectively every way. What OSes would you recommend that budding OS developers study, if not these? Amoeba is one of the few I can think of off…
> What OSes would you recommend that budding OS developers study Try this one: http://www.memetech.com/ It is just a 512-byte bootblock demo, and yet it does something which no braindead Unix clone can: orthogonal persistence.
Honestly, I'm sort of baffled we're still arguing about this. I can't stand Unix-like kernels, I just believe that this particular tutorial is excellent at teaching the basic concepts required to put together any OS. If you find a tutorial of this sort of quality for any other design, submit it and I'll be certain to upvote it.
The world needs more OS designers, and tutorials of this sort lower the barrier to entry.
Edit: Also, if you're on Freenode by any chance, shoot me a PM (my nick is my username here). I always enjoy talking with someone who's as passionate about OS technology as I am.
Re: Roll Your Own UNIX Clone
#39I'd think that Tanenbaum's book Operating Systems: Design and Implementation (OSDI) and the included MINIX3 source would be high on the list of reading for any kernel-curious developers.
Good, but a little outdated. For general systems overview, as well as introduction to UNIX architecture, I'd actually recommend my textbook, which is the CMU intro systems book, Computer Systems: A Programmer's Perspective[1]. For OS theory, our OS/advanced OS textbooks are fine, but for actual implementation my coworkers recommended The Design of the UNIX Operating System[2], Linux System Programming[3], and Underst…
Re: Roll Your Own UNIX Clone
#40Earlier quoted context omitted.
Good, but a little outdated. For general systems overview, as well as introduction to UNIX architecture, I'd actually recommend my textbook, which is the CMU intro systems book, Computer Systems: A Programmer's Perspective[1]. For OS theory, our OS/advanced OS textbooks are fine, but for actual implementation my coworkers recommended The Design of the UNIX Operating System[2], Linux System Programming[3], and Underst…
Outdated? I thought the Linux Kernel was outdated in comparison. The Minix kernel was rewritten from scratch in 2006 for version 3.
Minix 3 is a whole different ball game though. It's an interesting kernel with some interesting ideas, but I still recommend Linux as it's both more popular and reflects the majority of UNIX design decisions today. Even the OSs with praise for microkernel design tend to incorporate a number of monolithic features.
EDIT: Sorry! I had no idea there was a Third Edition of OSDI out http://www.pearsonhighered.com/educator/academic/product/0,,.... However, I should mention that I meant those Linux books to be read in conjunction with the kernel code -- the book is still valid today despite the additions to the kernel in the past couple years.