Slashdot Mirror


Minix from Scratch Project Established

decuser writes "The MFS - Minix from Scratch project was established in the wake of the Brown-Tannenbaum controversy. MFS aims to be to the Minix community what LFS is to the Linux community, a recipe for building an alternative OS from 'scratch.'" See the project's website at mfs.sunsite.dk or minixfromscratch.org.

59 of 229 comments (clear)

  1. Horray! by Billly+Gates · · Score: 5, Funny
    All six of us are happy. :-)

  2. huh? by crayz · · Score: 3, Insightful

    Wasn't Minix already built as much "from scratch" as Linux was?

  3. Uhh OK... by Tony+Hoyle · · Score: 3, Funny

    Minix is great for teaching about OS's - I cut my teeth on it running on an Atari ST, but a proper distro? There's something missing here... oh yes, the point..

  4. I always wanted to get Minix .. by WarlockD · · Score: 4, Interesting

    The problem was that it cost money :P I always wanted to mess around the code on a simple, yet an operating system you could DO something with. Don't say "Linux!". Have you SEEN how many lines of code that is? I just a lowly hobbyist.

    1. Re:I always wanted to get Minix .. by Richard_L_James · · Score: 4, Informative
      I always wanted to mess around the code on a simple, yet an operating system you could DO something with.

      Have you looked at FreeDOS? Under the hood DOS is simple, heavily documented, reliable and capable of doing many tasks, it can also be very well secured with the right tools or modifications. For example many people forget that COMMAND.COM can be replaced with other programs and there are many tools around designed to block actions or commands from being executed (hint for security look at BBS SYSOP security tools that many people like myself used to write).

    2. Re:I always wanted to get Minix .. by Wakkow · · Score: 3, Informative
      You answered your own question regarding it being free, but if you want a good book to go along with it, try:
      Operating Systems: Design and Implementation

      Meant to go alongside Minix (most of the source code is printed in the back) and written by Tanenbaum. We used it in my operating systems class, and I think it's one of the best resources to understand what's going on. Install the code in BOCHS under Windows/Linux and tinker away.

    3. Re:I always wanted to get Minix .. by IrresponsibleUseOfFr · · Score: 5, Interesting

      Well, now you can download it for free.

      Minix

      If you don't like the licensing terms, then choose Linux. Since that was like kinda of the whole point.

      Linux is a lot of code. But, LOC isn't the most valuable measure of complexity. Although, it can be overwhelming at first. A lot of Linux code won't be of much interest since it will deal with archaic devices and such. But, Linux as an overall system is well-organized. Which will mean as a hobbiest, after you find the parts of system you want to play around with, it should be easy to modify.

      The only real part that will screw you is the fact that as a monolithic kernel, if what you modify has a bug, it can potentially affect every part of the system (but usually it isn't so bad). And, this is usually no worse than any C-type coding unless you are playing around with the file-system.

      More on-topic, I don't see any reason why you'd want to rewrite Minix. There is always this type of bully-ing going on. It doesn't mean that 3rd parties should run off like a bunch of chicken littles. Plus there are other projects like xBSD's or Linux that are not necessarily easy to contribute to, but nevertheless you will affect a lot more people and gain their accolades if successful. Meh, I guess it is their time to waste and there are certainly other less productive things they could be doing.

      --
      Facts are meaningless. You could use facts to prove anything that's even remotely true! -Homer Simpson
    4. Re:I always wanted to get Minix .. by Richard_L_James · · Score: 4, Informative
      I replaced the command.com with some other shell, that gave you all sorts of colors, as well as a nicer 'dir' command.

      Hmmm sounds like 4DOS. Personally I was never a huge fan. I did write a couple of real and joke shells. Ahh those were the days when you could fake an entire DOS application in a few minutes in front of a compiler. I remember one of our programming teachers used to suddendly appear and start scrolling up and down to read our code as we were busy typing away (very annoying) so one day I wrote the program we were asked to write and another program which displayed the first program and looked just like the programming editor. Imagine his surprise when he hit the down arrow to be greated with a personal message being typed up on the screen.... ;-)

      I wonder if there are any explorer.exe replacements?

      Yes. How to is documented in both official and unofficial programmers guides. Miles's useful site TinyApps links to a few (as well as some other useful OS distributions and other OS tools of interest). However at a really simple level:

      SYSTEM.INI
      [boot]
      shell=explorer.exe / progman.exe / taskman.exe / myprog.exe

      Even possible to start DOS.... better stop there :)

    5. Re:I always wanted to get Minix .. by anothy · · Score: 3, Interesting
      I always wanted to mess around the code on a simple, yet an operating system you could DO something with.
      i highly recommend you check out Plan 9 and/or Inferno. they both come originally from the same Bell Labs group that originally developed unix. they're extremely well-written, with very good code readability and code size/functionality ratio. for serious study, there's an excellent book (PDF available, but you'll have to search the mailing list archives for details) annotating the source of (a slightly outdated version of) the kernel, in the style of the Lions book. both are under active development, and Inferno's had (limited) commercial uptake. i know at least two universities that have used them in OS courses. seriously tight systems.

      Plan 9 also has the "distinction" of being the primary inspiration for Hurd, started because Plan 9 was not then free. Plan 9 and Inferno are now both open source, and Plan 9 is also OSI-style Open Source.
      --

      i speak for myself and those who like what i say.
  5. My god people by Timesprout · · Score: 5, Funny

    This could lead to the second coming of Linus !!! Let us rejoice and sacrafice junior VB coders to the Gods of Code.

    --
    Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
    What truth?
    There is no dupe
  6. Isn't Minix intentionally incomplete? by Anonymous Coward · · Score: 5, Insightful
    It is my understanding that Tannenbaum never wanted Minix to be feature complete because it is a teaching OS, not a production OS. He often rejected submitted patches on these very grounds. The idea was to use Minix in a teaching environment. By keeping Minix simple and incomplete, instructors could tailor lab assignments to provide missing features and extensions.

    Minix is great for teacher and student, but it shouldn't be the first choice for general purpose operating systems. At one time it didn't even have networking (but maybe that has changed).

    1. Re:Isn't Minix intentionally incomplete? by drinkypoo · · Score: 3, Interesting
      On the other hand, this could lead to a minix renaissance, and minix could actually become a useful operating system in its own right, or at least, a fork thereof.

      Improving minix's feature set could potentially make it a tool for teaching other OS concepts; You could have one class where you use minix, and another where you use SMP minix, or what have you.

      It's still a pretty useful OS for a 286.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:Isn't Minix intentionally incomplete? by steveha · · Score: 4, Interesting

      Linus took Minix and evolved it to a state where Linux is today.

      No. Linus used Minix as the OS for his computer, and used it to run his text editor and compiler and so on to build Linux.

      No doubt he read the Minix book. But he didn't "evolve" Minix -- he did something else, on his own.

      Then legions of coders around the world used the Internet to contribute improvements to Linux, and Linus managed the whole project. He has really shined as a manager and as a system architect, even more than as a coder.

      if as many man-hours were spent improving Minix as were spent improving Linux, who is to say which would be the best today.

      I have always heard that microkernel is supposed to make things better. The system is easier to get right, easier to debug. Sure it runs a bit slower with the overhead, but it will be rock solid stable and secure.

      What makes me wonder about all this good PR is that the Hurd existed as a project before Linux, and it's still alpha code. Why? And why is the Hurd only available for 32-bit x86? Is the hype surrounding microkernel false, or was there some other factor that has slowed down the Hurd despite its microkernel superiority? (And if so, what is that other factor -- human factors among the the Hurd development leads perhaps?)

      Note that I am not implying anything with these questions; they are honest questions from someone who doesn't know, and wonders.

      I say support the MFS project, diversity is better than stagnation.

      If by "support" you mean "don't spend any time criticising and complaining", I'm right there with you. I'll even go so far as to say "Minix from Scratch guys: good luck, have fun!" But I'm not going to spend any of my own time working on this project.

      And I do wonder why they chose to work on Minix instead of the Hurd.

      steveha

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
    3. Re:Isn't Minix intentionally incomplete? by The_Dougster · · Score: 3, Insightful
      What makes me wonder about all this good PR is that the Hurd existed as a project before Linux, and it's still alpha code. Why? And why is the Hurd only available for 32-bit x86? Is the hype surrounding microkernel false, or was there some other factor that has slowed down the Hurd despite its microkernel superiority? (And if so, what is that other factor -- human factors among the the Hurd development leads perhaps?)

      Personally, having been messing around with gnumach for quite a while, I think that its a tremendously overcomplicated microkernel. Adding device drivers is a nightmare, and programming for it seems to be really convoluted and alien. It was and probaby is really advanced in some respects, but the complexity caused by this has really hindered the Hurd developer's efforts.

      PC hardware advanced right beyond gnumach's ability to keep up almost overnight and anybody who is smart or knowledgable enough to make it current is probably 1. either working 70 hour weeks and getting rich or else 2. too busy living the good life from doing 1. above and too burned out to stand the sight of a monitor anymore.

      I wish I could magically patch in linux kernel 2.6 drivers into L4 or gnumach but I'm just a hobbyist and I'm just happy to be able to compile and get the stuff to run. We non-CS major's are at somewhat of a disadvantage I think when it comes to kernel hacking.

      --
      Clickety Click ...
    4. Re:Isn't Minix intentionally incomplete? by steveha · · Score: 3, Insightful

      As I understand it, the microkernel advantage is supposed to be that almost your whole system is running as user-level processes. There has to be an inner kernel running as kernel-level, but it is stripped down and basically just schedules tasks. Everything like disk I/O, network, etc. is handled in user space.

      So, if you need to debug your network stack, you don't need some special kernel debugger, you can just use gdb. And if you make a mistake in the network stack, it should have limited ability to lock up your whole system, unlike a monolithic kernel (such as Linux) where any error in kernel code potentially could take down the whole kernel.

      Yes, the monolithic kernel is simpler: you don't need to build a message to the network subsystem, send it via the message queue, and so on; instead you just make a system call, and you are done. And in fact I believe this simplicity is what made Linus choose the monolithic kernel, despite all the good PR attached to microkernels.

      Note that Windows NT started out as a microkernel-ish design, but the overhead of all the message passing led the NT guys to integrate several large chunks of the system (such as video) into a monolithic kernel. Thus a bad video card driver can take down a Windows server, and you cannot run a Windows server completely headless as you can a Linux server.

      Linux is now good enough that banks use it to keep money, while the Hurd is still alpha code. Which is why, despite not knowing much about all this, I suspect Linus chose correctly.

      steveha

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
  7. Just to be jerks.... by Brettt_Maverick · · Score: 2, Funny

    How about a "DOS from scratch" project? That ought to drive Microsoft NUTS!

    1. Re:Just to be jerks.... by mars_rover · · Score: 2, Funny

      We'll all contribute and call it SlashdOS...

    2. Re:Just to be jerks.... by oO+Peeping+Tom+Oo · · Score: 5, Informative

      Umm.....freedos?

    3. Re:Just to be jerks.... by Richard_L_James · · Score: 2, Funny
      Typo fixed:

      We'll all contribute and call it SlashDoS...

  8. Re:What I want to know by Anonymous Coward · · Score: 2, Funny
    What I want to know is what you're smoking.

    HARDWARE REQUIRED

    To run MINIX 2.0, you need a PC driven by an 8088, 286, 386, 486, or Pentium CPU. The system must be 100% hardware compatible with the PC-AT and its successors (i.e, EISA bus, IDE disk, etc.).

    To run the 16-bit version, 640K is the minimum. To run the 32-bit version, 2MB is the minimum. To run comfortably, another 512K is needed.

    A hard disk is not technically required, but is strongly recommended to take full advantage of the system. To load all the sources and be able to recompile the system, 30 MB is the practical minimum but with a 20 MB disk partition, you can still run and compile parts of the system.

    The system must have either a CGA, EGA, VGA, monochrome, or Hercules video card, or another card that emulates one of these. Both 5.25" and 3.5" diskettes are supported, as are printers using the parallel port and modems and terminals using the serial ports. Mitsumi CD-ROMs are also supported, as are some Ethernet cards.

  9. I don't get it by Anonymous Coward · · Score: 2, Funny
    Does it make me any less of a geek that I have absolutely no idea what this story is about?

    Let's break it down...

    The MFS - Minix from Scratch project was established in the wake of the Brown-Tannenbaum controversy. MFS aims to be to the Minix community what LFS is to the Linux community, a recipe for building an alternative OS from 'scratch.'

    MSF: nope. NO clue. Macworld San Francisco? Microsoft foundation?

    Minix: something to do with MINI-coopers? Maybe a followup to the MINI/iPod story?

    Brown-Tannenbaum controversy: eh? Sorta like the Bill-Monica controversy? I have no clue.

    LSF: what? Lakers Soundly Fucked?

    As you can see, this story sparked my imagination. I hope it was as entertaining for you as it was for me.

  10. they forgot to mention by rifftide · · Score: 2, Funny

    And no peeking at the answers in the back of the book!

  11. There's one thing missing by darkjedi521 · · Score: 2, Interesting

    There's just one thing missing from the site - the actual Minix from scratch instructions.

    Lacking the instructions, this still looks cool and something I'll try in my spare time. Based on the relative differences, this looks a lot more doable timewise than Linux fron Scratch, just based on the relative difference in sizes between the two.

  12. missing the point by fred+fleenblat · · Score: 4, Insightful

    The tempest in a teacup is over whether an OS could be written from scratch by a single person. Making a shared project out of it fails to prove that a single person can do it. Worse yet, Ken Brown's sense of logic will lead him to cry that it's proof that a single person cannot do it.

    It's probably a fun project, but it isn't really going to prove anything new that reasonable people don't already know. And it will fail to convince unreasonable people of anything.

  13. Agree. Better places to put in effort by EmbeddedJanitor · · Score: 4, Insightful
    How about contributing to GNU/Hurd instead? At least Hurd intends to oneday be a real OS and has a microkernel architecture.

    I guess though it is also worth noting that while Minix was only designed for teaching OS concepts it has been used for RealWork. The same happened to Pascal. Nobody was ever supposed to write any RealCode in Pascal - it was also intended only as a teaching tool.

    --
    Engineering is the art of compromise.
    1. Re:Agree. Better places to put in effort by EvilAlien · · Score: 5, Funny
      Do you seriously think Hurd will ever actually achieve "real OS" status? The project started in bloody 1990 after 7 years of RMS flailing around in his attempts to build a free OS.

      I expect Microsoft to move towards a BSD-ish source license and that I will be playing Duke Nukem Forever on the Phantom console or Linux before Hurd becomes a real OS ;)

      --
      perl -e 'print $i=pack(c5, (41*2), sqrt(7056), (unpack(c,H)-2), oct(115), 10)'
    2. Re:Agree. Better places to put in effort by Anonymous Coward · · Score: 3, Interesting
      I recently tried Hurd with some high hopes. Debian has a bootable mini-iso that helps in installation. Debian boot kernel didn't have a driver for my plain vanilla NCR/Symbios SCSI controller. Ok, so I did a manual install instead. Hurd DID recognize my controller. But lo! No PPP in Hurd. For a country boy like me, that is a killer. No cable, no DSL in my neck of the woods. One time there *was* PPP in hurd but the arogant maintainers declared "nobody used it" so they removed it.

      Did run Hurd for a few days. It's very rough. Not even as good as Linux 0.9x. Hurd Mach kernel is too old. Really showing its age. Can't do SMP, no hope there either. The Hurd kernel needs to be replaced with something like L4. Hurd deveopment moves at glacial pace. There is some sort of attempt to bring Hurd to L4 but I think it is not going anywhere.

      Honestly, I don't see any progress with Hurd. It would have been cool 10 years ago, but other projects have left it in the dust. One thing, Hurd does support ESR's "Cathederal and Bazaar" thesis. The secretive, closed development cabal which surrounded Hurd for so many years is what probably hurt it the most, inducing bit rot and scaring off new recruits.

    3. Re:Agree. Better places to put in effort by Felinoid · · Score: 2, Interesting

      No I think this is worth while.
      Minix is a diffrent operating system with a diffrent focus. I can easly see Minix being used more effectively in the imbeded market where Linux is today.

      Also I doupt the people who will be pulled into Minix from scratch would otherwise go to Hurd.

      Also (correct me if I'm wrong)[1] but isn't Hurd incomplete? Making a Hurd from scratch might be a bit difficult at this stage.

      [1] I know you will but it just feels better to say it. You know. To make it so people think twice before beliving me. It's good to know your dumb and admit it. It's not good to be dumb of course but if you are and know it admit it. People will soon cure you. People being /respondents to this post/ and you being me. Just hate calling myself dumb :)

      --
      I don't actually exist.
    4. Re:Agree. Better places to put in effort by The_Dougster · · Score: 5, Informative

      Actually, I just got it booting on my Asus A7N8X with Western Digital WD1200JB and NVidia GeForce FX 5900. Turns out there is a newly discovered bug in gnumach which barfs when you have lots of RAM installed. Add the command uppermem 523648 to Grub's boot entry and magically it all works.

      For the more adventurous, you can check out Hurd on L4. The link is to a wiki page that I have been working on recently. But while you can actually run the Hurd and do things in the X-Window system with Gnumach, the L4 variant is just getting off the ground. Some recent crucial code porting has recently occured and we may soon see a libc0 for Hurd on L4 with any luck. If you want to spend about an hour making a bootable debugger then check out the link :-P

      --
      Clickety Click ...
    5. Re:Agree. Better places to put in effort by idiotnot · · Score: 2, Interesting

      L4 is BSD licensed.

      As for GNU/Hurd running on gnumach, it's quite usable, and relatively stable nowadays. If you really stress it, it will die on you. For me, the filesystem translators seem to be the most unstable. I've never been able to get libc to compile on a local partition (it worked *once* over NFS). Playing around with some of the features you don't find in a typical monolithic unix are neat. User-mounted NFS in your home, ftp sites as part of the filesystem, setting a translator to output fortune to your .sig.

      X is kind of iffy. It normally works if you install from one of the preview CD's. It's dog slow, however, and I've had problems with the mouse translator dying.

      But for a machine just to hack a bit, IRC, read mail with mutt...it works fine. Good for something like a P-200.

  14. What controversy? by Ohreally_factor · · Score: 2, Insightful

    Ken Brown was full of shit and was quickly debunked by most of those he interviewed and the guy he hired to compare the code. The only controversy exists in his delusional mind and in the minds of other nutjobs. Even MS has distanced themselves from this FUD project, as Ken Brown is so clearly a fool.

    --
    It's not offtopic, dumbass. It's orthogonal.
  15. Some background info by MisterLawyer · · Score: 4, Informative
    Will Senn had been publicly contemplating this for at least about a month now. I first read about it from his listserv post here ("Hi all, I am considering beginning a Minix from Scratch project...")

    It's interesting to see Tannenbaum's influence on Senn:
    "I have to be upfront with you, I am a fair newbie at Minix. I have been using Linux since the 0.9 kernel (downloaded via ftp on VMS in 90s) and have a fairly decent background in Unix - solaris, sco, bsd, etc. I got interested in Minix back around the same time too, but I had success with Linux and stayed with it. I got reminded of Minix the other day when Andrew Tanenbaum posted his response to the 'Brown' book - pure enlightenment - http://www.cs.vu.nl/~ast/brown/."[emphasis added]

    Here is some more background infoon the genesis of the project.

  16. A microkernel by the community? by chemstar · · Score: 4, Funny



    Hasn't HURD been trying this for 15 years?

  17. I mistook Linux for Minix... by appleLaserWriter · · Score: 4, Interesting

    Back in 1992 or 1993, a unix admin suggested that I check out a PC unix called "minix." Back then, "googling" consisted of connecting a ftp clinet to ftp.wustl.edu and manually traversing the directory structure looking for something interesting. I don't remember if it was at ftp.wustl.edu or sunsite.unc.edu, or even on usenet, but I eventually stumbled across this PC unix called "linux." It sounded right, so I went with it.

    Months later, I spoke to the admin again, and found that I was mistaken. Rather than type in thousands of lines of code for an 8086 unix kernel, I had a fully functional linux workstation with X11, ethernet and all the rest of the good stuff that we take for granted today but were PC fantasies in the Windows 3.0 days.

  18. Re:revenge by jdowland · · Score: 2, Interesting

    Question: is the current MINIX licence GPL-compatible? I've given it a scan and it seems pretty liberal. Is it possible or feasible for code to be taken from linux (or vice versa) within the remit of these licences?

  19. Show me the code! (er, documentation) by Wesley+Felter · · Score: 4, Informative

    Slashdot should stop promoting projects that have nothing more than a Web page.

    MFS looks like it's trying to write a manual for installing Minix. That's fine, but will it really teach "operating system design concepts"? Wouldn't Tanenbaum's textbook be better for that? Linux From Scratch teaches you a lot about Linux, but it doesn't teach you how the kernel works.

    1. Re:Show me the code! (er, documentation) by Ann+Elk · · Score: 3, Funny

      Slashdot should stop promoting projects that have nothing more than a Web page.

      Does this mean Slashdot should stop promoting itself?

  20. This is for real, folks. by commodoresloat · · Score: 5, Funny

    Just look at all the valuable information available on the MFS Wiki. Lots of useful information suggesting hours and hours of labor by Minix users everywhere. I predict this will be the Next Big Thing. Minix installations everywhere, sweeping the nation, sweeping the world, while Linux fades into obscurity. With BSD dying and Apple beleaguered, Minix will become the next major competitor to Windows.

    1. Re:This is for real, folks. by Brandybuck · · Score: 4, Funny

      Linux becomes mainstream and the cranky hackers move on to BSD. Then BSD becomes mainstream and the cranky hackers move on to MFS. But where do they go when MFS becomes mainstream?

      --
      Don't blame me, I didn't vote for either of them!
    2. Re:This is for real, folks. by aardvarkjoe · · Score: 4, Funny

      My guess is that they'll take a well-deserved vacation, and go cross-country skiing in Hell.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
  21. Re:revenge by idiotnot · · Score: 2, Informative

    Tanenbaum said it's been released under a BSD-style license. Well, if you believe the quote Ken Brown gives....

  22. Good memories? Don't think so! by mangu · · Score: 2, Funny

    If Linus had a good experience with Minix, why would he create Linux?

    1. Re:Good memories? Don't think so! by bhtooefr · · Score: 3, Interesting

      He had a good experience with it, but it didn't do some things he needed. Also, he wanted to learn 386 assembler.

  23. Re:Why stop at DOS? by Fred+Foobar · · Score: 2, Informative

    Wine? More like ReactOS. Wine is basically just a from-scratch rewrite of part of the Windows API, not a complete OS.

    --
    It was a really good paper.
  24. Re:Gentoo... by BrainInAJar · · Score: 2, Insightful

    no it isn't, because the idea of LFS isn't a couple miliseconds faster response time, it's to learn how the OS works

  25. Re:I mistook Lindows for Windows... by Anonymous Coward · · Score: 4, Funny

    Back in 2002 or 2003, a Windows admin suggested that I check out a PC operating system called "Windows." Back then, "googling" consisted of pointing a browser at http://www.google.com/ and manually traversing all the porn pages returned looking for something interesting. I don't remember if it was at http://www.google.com/ or http://www.google.de/, or even on http://labs.google.com/, but I eventually stumbled across this PC Windows clone called "Lindows." It sounded right, so I went with it.

    Months later, I spoke to the admin again, and found that I was mistaken. Rather than downling thousands of MegaBytes of files for an unreliable operating system, I had a fairly functional Linux workstation which ran Windows programs, ethernet and all the rest of the good stuff that Linux users take for granted today like reliability and security but are PC fantasies for Windows XP users.

  26. better idea - Re:missing the point by cwg_at_opc · · Score: 2, Interesting
    Then here's a better suggestion for MFS:

    We'll have a contest to see how many _single_ developers can design, code and finish
    an operating system similar to Minix(conceptually) with some standards compliance(i.e.POSIX.)
    We'll select a bunch of the most critical subsystems and define those as a Base and give extra
    points for the following:

    - using a language that's not generally used for OS design,

    - designing and coding for portability(more platforms=more points)

    - smallest code base

    - best documentation

    - time to complete, less time=more points

    - fastest(benchmarkers paradise here we come...)

    - POSIX compliance, more compliant=more points

    - massive extra points for running windows software ;-)

    - 'clean', no borrowed code = +100 points

    and i'm sure there are other categories.

    So for example, person A get 100 points for base compliance, 25 points for using a language
    not generally used for OS design(Visual Basic?) another 25 points for best documentation.
    His total score would be 150.

    Person B submits a Base+ OS:

    base compliance = 100

    written in Forth = 25

    highly portable = 25

    time to complete, 6months, 23 days, = 25 points

    best documentation = 25 points total score, 200 points

    Ultimately, the point is how many POSIX-subset compliant OS's written by ONE programmer/analyst
    can we get and how long will it take?
    Say we get about twenty-five(25) base-implementations submitted by six months, three(3)
    decent base+ implementations in 9-10 months and one(1) truly great implementation in 13 months;
    We can then say that Ken Brown and company really, really don't have a clue about software
    development, and OSs in particular.

    --
    "...that's as white as it gets; all the bits are on..."
  27. Getting Hurd working by EmbeddedJanitor · · Score: 5, Interesting
    One of the biggest issues with Hurd does not seem to be the basic OS architecture, but rather the lack of support for various file systems, devices, PPP etc.

    This could potentially be rectified by building a "File System Manager" and "Device Manager" that support the Linux device and file system models. Then, all Linux device drivers and file systems etc could be plugged into Hurd and used with little/no modification.

    The benefit of an exercise like this is that it would push Hurd into "useful" space so that it would become worth putting effort into, and there would then be a microkernel OS with a rich set of code.

    For all Linus' comments about "computer science masturbation", there is still a place for microkernels and they can be pretty damn efficient. Having a solid microkernel OS in OpenSource land is of significant value.

    --
    Engineering is the art of compromise.
    1. Re:Getting Hurd working by EmbeddedJanitor · · Score: 4, Informative
      QNX is a micro-kernel OS. I promise you it is very practical. Microkernels have certain benefits over monolythics. A lot of the cool stuff in Linux didn't get there because of what Linus did, but because someone "scratched an itch". If more people start "scratching their itch" while using Hurd, it will make advances. If you pulled the drivers out of Linux there would just be some boring CS stuff too.

      The biggest problem with drivers etc is that nobody wants to duplicate work for many OSs. Having a "Linux driver comapatability environment" could make Hurd a viable place for experimenters to play in.

      --
      Engineering is the art of compromise.
  28. Re:Gentoo... by mrchaotica · · Score: 4, Funny

    Package management is for sissies!

    (just kidding)

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  29. But really ... by gstoddart · · Score: 4, Interesting

    When I left Microsoft it wasn't pre-emptive or very useful. WTF would I want to look at the code, or play with DOS for?

    In my operating systems class I was learning how to implement stuff that Windows wouldn't have for another three years (yes, I implemented pre-emptive multi-tasking in '92 on x86 hardware, and it wasn't bloody well rocket science).

    Hell, I was reading Tanenbaum for my Operating Systems course. I used his definitions for a bunch of system calls to implement a UNIX layer in another OS. (Uh oh, now SCO will sue me and my professor. =)

    Quite frankly I think implementing Minix from scratch is a hell of a lot more interesting than anything DOS ever did. [ And I have the course notes to prove it ;-]

    Now, don't get me wrong, BBS Sysop has street cred in my book, but DOS isn't exactly what I'd call a sophisticated system to want to play with that much as compared to a real multi-tasking OS, which Minix most definitely was.

    --
    Lost at C:>. Found at C.
    1. Re:But really ... by Richard_L_James · · Score: 3, Interesting
      I implemented pre-emptive multi-tasking in '92 on x86 hardware, and it wasn't bloody well rocket science

      maybe not rocket science, but still impressive as many people at the time were only aware of pre-emptive multi-tasking on the Amiga.

      Quite frankly I think implementing Minix from scratch is a hell of a lot more interesting than anything DOS ever did.

      True. (Dirty)DOS of course being originally based on CPM which in turn was based on Unix!

      However what I and it appears many others like about DOS is the fact it is just so simple, it really is nothing fancy, nothing clever, it just works. Note how active the FreeDOS homepage is. The simplicity of early DOS versions has also allowed them to be supported on a wide range of hardware including non x86 hardware. It still turns up in the most unlikely of places for single dedicated tasks. There are now many other OS's that are used for embedded tasks but the fact that DOS is still implemented for such tasks says a lot.

      For a personal project I recently decided to run it under DOS for reliability and simplicity, security. Security??!?!?!! Yes, DOS programs run as root but with the right admin you can lock a DOS sytem down to the point where it is virtually impossible to hack. When I look at Linux it has become complicated by features, to the point that keeping it simple or securely looking it down is getting more and more difficult. Note: I use Linux and have played with numerous simplified Linux distros, the problem is so many distros come with too many features installed and services enabled. I like DOS for those tasks where you want nothing more than a well known supported file system, a simple bit of networking (inc. IP) and just your app.

      Still I have also played with Minix and am personally interested in seeing it evolve more. However like someone else said "what's the point", from a techi point I am very much with the "because crowd" however on the practical side I think if this project had started up several years ago it would be more active. I really wish this new Minix project well however currently I fail to see the demand. Still early days....

  30. Re:Gah. by The_Dougster · · Score: 4, Interesting
    Please remember that at the time, neither Minix nor BSD was free. If there was a free and open *x out there, Linus would not have needed to write Linux.

    If fact, back in 1991 I was toying around with both Minix and Linux. Minix was pretty cool but it did cost money and it was pretty basic in what it could do. It was pretty much text only. Linux, on the otherhand was something of a baby huey, born on the gigantic side. I remember ftp'ing disk images for days on my 2400 baud modem and then creating a humongous pile of disks.

    Minix, on the other hand, was like 2 disks AFAIK, but it wasn't nearly as groovy as Linux was with all that GNU software that was immediately ported over to run on it. I even struggled to get X running on my Debian 0.9 system but never pulled it off with my EGA card that weighed about ten pounds and was covered with hundreds of chips. A VGA card and monitor cost a king's ransom back in those days was way out of my price range.

    But compared to MS-DOS and DesqView, which I used to run my old BBS system on back then, Linux was pretty darned cool! You could put a getty on your comport and it kind of was a bbs already, and you could actually do meaningfull things with your computer while it ran the bbs since it had virtual consoles and awesome multitasking even back then, whereas with DesqView you sort of had a poorly performing kind of multitasking system that barely ran anything usefull without taking up so many cycles that nothing really worked well at all. I don't think that Minix was able to do anything like this back then, but then I only really messed around with it for a couple of days.

    --
    Clickety Click ...
  31. "in the wake of the Brown-Tannenbaum controversy" by FatTux · · Score: 2, Insightful

    Controversy? I cant see one, all I can see is that Brown said a lot of BS and was rebutted by Tanenbaum. My 2 cents.

  32. educational tool by noldrin · · Score: 2, Insightful

    It seems like a lot of people are missing the point here. Minix is a great way to learn about how operating systems work. A Minix From Scratch project will make it even more useful for this. This will hopefully be a great education tool for people wanting to get into how oeprating systems work. I really don't see it meaning to be a big competitor with GNU/Linux or *BSD

  33. It is EMPTY controversy, so the project'll fail by mikelang · · Score: 2, Insightful

    I wonder if Brown can be sued if he lies outright and has no way to prove his claims? The book he writes is not a fiction...

    PS My favourite part of Brown's response is:
    ...United States Patent and Trademark Office, an internationally respected agency...

  34. It ain't that easy kid... by gd23ka · · Score: 3, Interesting

    In my operating systems class I was learning how to implement stuff that Windows wouldn't have for another three years (yes, I implemented pre-emptive multi-tasking in '92 on x86 hardware, and it wasn't bloody well rocket science).

    Heartsurgery is easy: All you need is a blunt knife. Doing something useful like saving someones life by laying a bypass is not.

    Implementing preemptive Multitasking is easy. All you need is a loudmouthed CS student. Doing something useful with it like making a formerly cooperatively multitasking OS preemptive is not. (just think of all the device drivers, filesystem, network code that need to be changed).

    It is not a matter of:

    #define S_WAITING 1
    #define S_READY 2

    #define MAXPROC 4

    struct task {
    int state;
    unsigned char cpustate[SCPUSTATE];
    }

    struct task tasktable[MAXPROC];

    int currentproc = 0;
    disable_interrupts();
    set_interrupt_vector(TI MER_INTERRUPT, scheduler);
    program_timer();
    init_task(0, NULL); /* idle */
    init_task(1, task1);
    init_task(2, task2);
    enable_interrupts();
    while(1) {
    serout ("Idle hands read slashdot");
    }

    find_eligible_task() {
    while(currentproc < maxproc && tasktable[currentproc].state != S_READY)
    currentproc++;
    if (currentproc == maxprc)
    currentproc = 0;
    }

    scheduler() {
    save_current_cpustate(tasktable);
    find_eligible_task();
    restore_cpustate[currentproc];
    }

    task1() {
    while (1)
    serout ("He mom! Check it out! I did this!\n");
    }

    task2() {
    while(1)
    serout ("You mean I can't use the UART when you are using it?\n");
    }

    There. Preemptive multitasking more or less. Build your own toy operating system around it. Filling in the assembly code for stuff like
    dis/enable_interrupts, init_task, save/restore cpu_state etc. I will leave it to the inclined CS student to do that.

  35. Minix Instead of Hurd by RAMMS+EIN · · Score: 2, Insightful

    I think choosing Minix over Hurd has everything to do with Minix being a working kernel that has been ported to a number of architectures, whereas the Hurd is struggling to work on even one architecture.

    --
    Please correct me if I got my facts wrong.
  36. MFS Intent and Purpose Clarified by wsenn · · Score: 3, Informative

    MFS - Minix from Scratch

    This project is not intended to replace or compete with ANY existing operating system. It is not an installation FAQ. It is not a DISTRO.

    It is an attempt to make OS design and system internals accessible to the masses in a way that Linux cannot - due in part to its sheer mass and in part to its complexity (what makes it useful as a desktop and enterprise server). Minix provides us with a platform that is well designed, modular and well documented in source code, in addition to being a compact code base from which to spring from.

    The project is in its infancy. A lot of folks have been complaining, here at /., that the project is lacking in output - give us a break, we are less than a month old. We are dependant on collaboration, if you think that there isn't much done yet - do it and you'll be very appreciated - otherwise, watch and learn, we'll get there in time.

    To the many folks who have expressed interest in our little project - thanks, I look forward to working with you.

    Will