C. Karayiannis and A. Swartzbaugh have finished documenting Minix’ networking protocol. This is a line to line commenting of the tcp/ip source code. This project took more than one year to complete and they hope visitors will find it useful.
C. Karayiannis and A. Swartzbaugh have finished documenting Minix’ networking protocol. This is a line to line commenting of the tcp/ip source code. This project took more than one year to complete and they hope visitors will find it useful.
“While this web site covers most of the functionality of the network service, there is significant functionality that it does not cover. The most important omission is TCP (Transmission Control Protocol). We did not cover TCP because we simply did not have the time to adequately document this complex protocol. We also did not document any of the ethernet drivers (tasks) available for Minix.”
Minix?
Why not? It is a good place for people to start who want to learn more about the gory details of TCP/IP. Minix has always been about education. This is just a furthering of that goal. Just because its not the latest fad doesn’t mean its not worth anything.
I suppose you’re probably just trolling. oh well.
Because Minix basically served as the base for Linux?
umm, no it idi not actually. try reading Linus’s book sometime. Minix was an “inspiration” because the prof who made it was a jerk about it and would not allow Linus to do what he wanted to do with it.
Come children, let me tell you about the Great Dragon-slayer Linus Torvalds, and how killed the Dragon of Minix…
History Is Written by the Victors. Now Linux is a saint and Tanenbaum is the “original roadblock”, in popular Linux myth. So they had creative differences, and there were licensing issues. Big deal.
It’s annoying how each day more newbies are drawn into Linux and start spouting fundamentalistic newbisms about “free speech vs free beer” and the original sin of Tanenbaum, or how revolutionary Ubuntu is.
The Professor’s name is Andrew Tanenbaum. He wrote MINIX for educational purposes. Basically he kept it small enough so it could be analyzed and understood over the course of a semester.
He intentionally would not let additional features in because it would defeat his design goal of having an OS small enough for a student to understand.
And your precious Linux was also cross developed on MINIX and borrowed heavily from it’s design ideas in a lot of areas.
So complain all you want about ‘the evil jerk professor’ the you read about in Linus’s book, but I personally think he made some awesome contributions to the computer science field and have a great deal of respect for that.
And your precious Linux was also cross developed on MINIX and borrowed heavily from it’s design ideas in a lot of areas.
Actually it doesn’t.
That’s what the whole flame war back then was about.
There is a no similarities between minix and linux apart from those stemming from their *nix-inheritage.
Linux was created for work, minix for education. Minix was purely used to create a dev.platform on x86. There never was minix-source in any way within linux.
Wait until I publish my line-by-line documentation for Multics TCP/IP stack.
This is really a great job and a great service to the public! Hope you guys keep it updated as development progresses. BTW, whoever reads this website while asking why bother should go to visit a psychiatrist!
Also, there seems to be a few pages where image links are broken. Not a biggy…
… and the reason I like it is that well documented examples of implementing a tcp/ip stack has always been near nonexistant (have you looked at the linux code for this?). It’s one of the core things needed to build a new operating system these days, but finding hard information on doing it has always boiled down to pouring over page after page of specifications and theory, with no good examples of application.
All I can say is it’s about time.
“well documented examples of implementing a tcp/ip stack has always been near nonexistant”
I guess you have to be a linux fanatic to not know about TCP/IP Illustrated Vol 2: The Implementation:
“TCP/IP Illustrated, Volume 2 contains a thorough explanation of how TCP/IP protocols are implemented. There isn’t a more practical or up-to-date bookothis volume is the only one to cover the de facto standard implementation from the 4.4BSD-Lite release, the foundation for TCP/IP implementations run daily on hundreds of thousands of systems worldwide.
Combining 500 illustrations with 15,000 lines of real, working code, TCP/IP Illustrated, Volume 2 uses a teach-by-example approach to help you master TCP/IP implementation. You will learn about such topics as the relationship between the sockets API and the protocol suite, and the differences between a host implementation and a router. In addition, the book covers the newest features of the 4.4BSD-Lite release, including multicasting, long fat pipe support, window scale, timestamp options, and protection against wrapped sequence numbers, and many other topics.”
http://www.amazon.com/exec/obidos/tg/detail/-/020163354X/qid=112703…
Even a linux ‘fanatic’ as me agrees that it is pretty simple to find the actual facts. But what can you do? Linux in general has a large amount of users and whith a large amount of users that means a good percent of people who like to post about certian things without understanding it.
But what can you do?
So they’ve just finished documenting Minix 2.0.4’s network code, when the release of Minix 3.0.? (First public release of Minix 3) is imminent, see comp.os.minix
So… time to start again, guys!
Take a look — the Minix 3 networking code is hardly different from that for Minix 2.
The big difference of Minix 3 from Minix 2 is the increased modularity — all of the device drivers are
totally independent processes running in user space.
The Minix network server was an early test of this — between Minix 2.0.0 and Minix 2.0.3 the need to compile the network server with the kernel was eliminated.
Linus Torvalds used Minix as a ‘digital textbook’ for writing the Linux kernel (as did many other developers), no one is denying that. In that sense, Linux is based on Minix. Minix forms the base of Linux because Linus studied Minix, and then went on to create Linux.
However, to say that Linux ‘thanks its existence’ to Minix is an overstatement. Linux and Minix are fundamentally different– Where Minix is a microkernel, Linux is a monolithic kernel. Indeed, the exact opposite.
Linus may also have found inspiration in 386BSD and a series of articles on it in Dr. Dobbs Journal, as described in this thread:
http://leaf.dragonflybsd.org/mailarchive/kernel/2005-08/msg00035.ht…