Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!



Forgot your password?
Close
binspam dupe notthebest offtopic slownewsday stale stupid fresh funny insightful interesting maybe offtopic flamebait troll redundant overrated insightful interesting informative funny underrated descriptive typo dupe error
43525967 story
Operating Systems Education Software Unix Upgrades Technology Linux

Minix 3.2.1 Released 107

Posted by timothy from the won't-be-big-and-fancy-like-gnu-linux dept.
kthreadd writes "Minix, originally designed as an example for teaching operating system theory which was both inspiration and cause for the creation of Linux has just been released as version 3.2.1. Major new features include full support for shared libraries and improved support for USB devices such as keyboards, mice and mass storage devices. The system has received many performance improvements and several userland tools have been imported from NetBSD."
This discussion has been archived. No new comments can be posted.

Minix 3.2.1 Released

Comments Filter:
  • by Chompjil ( 2746865 ) writes: on Saturday February 23, 2013 @04:38PM (#42991227)
    Verry, nice, may look forward into it for my old laptop from 2007 I won in a raffle
  • Afaik, NetBSD and Minix are the two most prominent operating systems that advertise clean source code and architecture, suitable for examination by people learning OS principles, as one of their explicit design goals. NetBSD seems more popular as an actual system to use, and is clean architecture has led it to be famously ported everywhere. Does someone have experience with Minix to compare?

    • by pipeep ( 2106308 ) writes: on Saturday February 23, 2013 @07:58PM (#42992399)
      I'm currently in a university course where Minix 3.2.1 is being used to teach OS principles. It's certainly small, and therefore semi-easy to wrap your head around. But I would not agree that its source code is "clean". They have a lot of really old code and suffer from coding guidelines that have changed greatly over time. I've never seen someone mix tabs and spaces so much in a piece of code. And can anyone say "no namespacing"? That said, I don't have much familiarity of the internals of other kernels, but I'm not too impressed by Minix.
        • by Anonymous Coward writes:

          Dunno if I'm replying to a troll or if you genuinely believe what you're saying but whatever...

          I'm no open-source advocate and I'm all for people making money from their work, but I think your comment applies as much to commercial consumer-grade software than to open-source.

          The profit motive from selling software means that companies will often choose to add new features rather than make current software better. And generally, businesses do that because they think that's what people will pay for.

          The quality

        • by Trepidity ( 597 ) writes:

          Ah, the classic Slashdot Troll comment, which will here succeed in getting a bite. :) But it will be a short bite: this is exactly how proprietary software works as well. You will despair if you ever see the internals of any of the major proprietary software packages you use regularly.

          • 1 reply beneath your current threshold.
        • I thought that Minix 3 was done from scratch (which explains why while SPARC and Motorola support was there in 2, it's not there in 3) - the whole OS was re-written to be a microkernel OS. So it would be very strange if it had old code in the kernel. They didn't pay much attention to userland - in Minix 3.0, they were using the old userlands of Minix, and only in 3.2.0 did they embrace NetBSD for the rest of the system.
      • 1 reply beneath your current threshold.
    • Well, from Minix 3.2 onwards, they have included NetBSD userland w/ the Minix kernel, so you then have the best of both. I had Minux as a part of my OS course in 1994 (I think it was Minix 1 then), and Tannenbaum's book, which it came w/. Minix 3 is very different in that whereas in the book, at the time, the only microkernel OSs that Tannenbaum discussed were Amoeba and Mach 3, Minix 1 (and even 1.5 & 2) were not microkernel OSs. However, in Minix 3, Tannenbaum converted his theory into practice, an

      • One more thing - in Minix, like in FBSD, LLVM/Clang is now the default compiler instead of GCC
        • I find it intensely annoying too. But I ackowledge his right to write as he pleases. And that I'm under no compulsion to read it.

          • by Raenex ( 947668 ) writes:

            I don't deny his rights to write it, nor my rights to not read it. That doesn't mean it is beyond criticism.

        • 1 reply beneath your current threshold.
      • One thing I think is that the NetBSD guys should consider adapting this as their kernel, given that they target mainly embedded systems, and Minix, w/ the microkernel, is a much better fit for that. Maybe merge the 2, and make it the standard target for current x86 and ARM systems.

        Merging kernels is no trivial job. The only reasonable thing that could be done would be to have the BSD kernel sitting on the top of a microkernel, just like MacOS X does.

      • by Anonymous Coward writes:

        If the Minix kernel is BSD-licensed, another thought would be for Debian to try it instead of Hurd, depending upon which microkernel is farther along...

      • 1 reply beneath your current threshold.
    • I have some experience with Minix, from 1995, when I modified the memory allocation algorithm for a class at University :). I don't think it's an OS I would actually use though!
      • Yeah it was my first Unix because my old XT couldn't run Linux (which was *very* new at the time). It was great to mess around with, and I managed to hack together a driver for my wang hard drive controller, but the lack of a TCP sockets stack really limited its usefulness.

  • by MichaelSmith ( 789609 ) writes: on Saturday February 23, 2013 @04:46PM (#42991263) Homepage Journal

    Looking under "Drivers, FS" it would seem that the Minix developers are still focusing on keeping it compatible with qemu and virtualbox, ie, they don't expect anybody to run it on real hardware and use it for real jobs.

      • I mean they don't expect it to be installed on COTS hardware and used as a web server or workstation. It is, as you said, expected to be used as a teaching tool.

      • Yeah but the minix web page does say thae think it is appropriate for netbook type devices. I am currently torrenting the CD image in the hope that I can get it to boot with PXE. The netboot howto says to use the USB image but that seems to be deprecated at the moment.

    • by Raenex ( 947668 ) writes: on Saturday February 23, 2013 @05:48PM (#42991559)

      Looking under "Drivers, FS" it would seem that the Minix developers are still focusing on keeping it compatible with qemu and virtualbox, ie, they don't expect anybody to run it on real hardware and use it for real jobs.

      How does support for virtual hardware mean they don't expect people to run it under real hardware too? I don't follow your logic. Not only that, your conclusion is directly contradicted by the Minix website [minix3.org]:

      "Research Projects

      MINIX 3 won a grant from the European Research Council for 2.5 million [euros] to further research in highly reliable operating systems. Due to its modular nature and fault tolerance, it is easy to use it as a basis for operating systems research or for a product."

      and more [minix3.org]:

      "It was only with the third version, MINIX 3, and the third edition of the book, published in 2006, that the emphasis changed from teaching to a serious research and production system, especially for embedded systems. A few of the many differences between MINIX 2 and MINIX 3 are given here [minix3.org].

      Going forward, we are making a serious effort to turn MINIX 3 into an industrial-grade system with a focus on the embedded market, especially for those applications that need high reliability and availability."

      • I have found hardware support in minix to be very poor, in fact I don't think I have ever been able to get it running in a non-virtualised environment. By targeting embedded systems they are in effect saying that thy expect developers to port minix to their hardware.

        • never had a problem on any machine I've owned for the last 20 years, it does target the most common chipsets a studen't's pc would have for a command line system

          • I would like to try it on my eeepc 701 but the USB installer seems to be depricated and that installer was requred for PXE installations as well. Many CD installation kernels support TFTP or NFS, both of which I support but so far I can't find any information on how (if at all) to use them with the minix microkernel. I assume that booting is more complex for a microkernel because of all the different parts so maybe netbooting is out for now.

          • by kwark ( 512736 ) writes:

            It ran fine on my 286 in 1999. It had an original ne2000 IIRC, but it was only useful as a terminal.

    • by Anonymous Coward writes:

      VM isnt for real jobs? Tell VMware that.. or Microsoft ... These days fewer and fewer people run anything of value on bare hardware, beyond a hypervisor and perhaps support tools depending which HV you chose. ( since not all are self-hosing )

    • Minix being ARMed (Score:4, Interesting)

      by unixisc ( 2429386 ) writes: on Saturday February 23, 2013 @08:59PM (#42992699)

      Actually, in the release announcement [minix3.org], they clearly mentioned that

      There are exciting new developments coming in the near future that aren’t part of this release. For example, the MINIX team has been working hard on MINIX/ARM support, of which significant parts have made it to mainline, yet official ARM support is slated for the near future and is not officially part of this release.

      This is a great move on their part, since Minix, w/ its microkernel, is just perfect for embedded systems and aside from routers, those tend to run on ARM based platforms. I recall reading somewhere that they were porting it to the Raspberry Pi, and hopefully, to other ARM platforms as well. In fact, something like Minix is perfect for Raspberry Pi, and once their ARM port is complete, it would be a good kernel on which to base whatever else is needed. In fact, the Raspberry Pi guys would do well to join hands w/ Tannenbaum and offer Minix as the OS of choice w/ Raspberry Pi.

      Regarding the stuff about the drivers, it was just the Virtio and VBFS that seemed to be about VMs - others, like Ext2 support were about real filesystems. (I'm guessing that for an OS targeted at embedded applications, things like Ext4, Btrfs, ZFS, Hammer, et al wouldn't be appropriate file systems to use)

    • by tlhIngan ( 30335 ) writes:

      Looking under "Drivers, FS" it would seem that the Minix developers are still focusing on keeping it compatible with qemu and virtualbox, ie, they don't expect anybody to run it on real hardware and use it for real jobs.

      Well, it's a teaching OS, and if you want to teach how to write an OS, it would help to be able to not need another PC to do it on - after all, you'll build it on the host OS (Minix is self-hosting, so it could be that), but you'd rather not replace your obviously-working kernel with your te

    • 4 replies beneath your current threshold.
  • Or is it more for teaching? If its angling to be a serious OS I think they may be wasting their time to be honest - that horse bolted in 1991.

    • by Anonymous Coward writes: on Saturday February 23, 2013 @04:58PM (#42991333)

      Wikipedia will give you an answer quicker (30 seconds) than Slashdot responses (5 minutes):

      "MINIX is a Unix-like computer operating system based on a microkernel architecture created by Andrew S. Tanenbaum for educational purposes"

      • by cnettel ( 836611 ) writes:
        Many computer systems have been created with education of computer science concepts in mind (or at least as an important design goal). Pascal and BASIC were to a varying degree created with this purpose in mind (Dr. Jekyll and Mr. Hyde, if you will...). During the microcomputer revolution, they became the de facto norm. Only far later did C intrude to a significant extent into that market.
        • by gatkinso ( 15975 ) writes:

          I fondly remember Pascal. Awesome language.

          • by c0lo ( 1497653 ) writes:
            END
          • > Awesome language at being verbose; almost as bad as Cobol.

            FTFY

            Pascal sucks for readability: its ass-backwards variable declarations so you can't declare multiple variables, verbose keywords, redundant keywords, two character assignment ':=' (colon equals) instead one '=' (equals) (this WOULD of been fine if you were forced to use this in an IF statement and the single 'equals' elsewhere), and useless distinction between functions and procedures makes it hard to focus on the code when you have to wade t

            • Sorry for being pedantic, but your "C" example declares Pythagoras() as returning a float yet you cast the return value of sqrt() to int. As it seems that your intent was to truncate, you should use floor() instead of relying on casting hacks.

              • Thanks for the catch. The return type is a typo -- should be int, else the compiler will be doing unnecessary casts.

                floor() ceil() are slow as hell as they will promote a float to a double. floorf() and ceilf() should be available but may be unportable / unavailable. :-/

                One of C's design flaws is that it will silently upcast char to int to float to double and there is no way portable nor standard way to stop the idiotic compiler from doing so or to print a compile-type "info", "warning", or "error" if it

                • by Viol8 ( 599362 ) writes:

                  "One of C's design flaws is that it will silently upcast char to int to float to double"

                  I consider that a feature, not a flaw.

                  "Likewise there is no portable or standard way to inform the user of downcasts either, or to disable them entirely."

                  Every C compiler I've ever used will tell you when that happens. Some may require specific command line error flagging requests but they'll all do it.

          • by ls671 ( 1122017 ) writes:

            Yeap, turbo pascal overlays on a 8086 with 640K.

            Overlays basically allowed you to swap part of your running executable out manually from within your program.

            http://stackoverflow.com/questions/10155003/how-did-turbo-pascal-overlays-work [stackoverflow.com]

      • by Anonymous Coward writes:


        Please be aware that MINIX 3 is not your grandfather's MINIX ... MINIX 1 was written as an educational tool ... MINIX 3 is that plus a start at building a highly reliable, self-healing, bloat-free operating system ... MINIX 1 and MINIX 3 are related in the same way as Windows 3.1 and Windows XP are: same first name

        http://www.cs.vu.nl/~ast/reliable-os/ [cs.vu.nl]

    • by Trepidity ( 597 ) writes:

      I don't think they have any expectation people will use it as a desktop or server OS. They do seem to have a goal of making it suitable for use by embedded-system developers.

      • I would say that they've then been beaten to THAT punch by many embedded systems developers. I'm not even going to cite teh urls. Embedded linux is not a mystery.
        • 1 reply beneath your current threshold.
    • Re: (Score:3, Interesting)

      by Anonymous Coward writes:

      MINIX has always been first and foremost a teaching OS. What is exciting is that in recent years, the capability seems to have broken through a wall, and the practical usages has started growing quickly. That means it can now be used for both purposes, which makes it even better at its primary purpose.

      MINIX is not trying to be Linux. MINIX is trying to be MINIX, and the exciting thing is that it is now succeeding! So it is one of a growing multitude of options in the free and open source community.

      • MINIX is not trying to be Linux. MINIX is trying to be MINIX, and the exciting thing is that it is now succeeding!

        So, "Run Forrest, run!" is more apropos of here than in any use that quote has ever been applied to before in any IT article...

        • 1 reply beneath your current threshold.
    • It is available under a BSD-type license [minix3.org] which will make it more attractive to some companies than Linux which is under the GPL.

        • Linux...but its restrictive license is an inherent handicap.

          So it's a handicap because...
          1. Any fixes/improvements/forks that people make have to be Open Source, thereby helping the original kernel.
          2. Microsoft and Apple can't steal parts of the code and use it in their OSes legally.

          These are handicaps to corporations, not to Linux or the users, so I'm fine with these "handicaps."

            • Your main points are about restrictions to companies. As a company, you should be concerned about any license and have a lawyer for it. Even if not explicitly stated, every piece of unique work has a natural copyright anyway. Copyleft wasn't made to help companies, but the people. If a person writes code for a new type of compression algorithm and releases it as BSD, then companies are free to improve upon it without ever giving the improvements back. That means company XYZ can substantially improve it
                  • Even if not explicitly stated, every piece of unique work has a natural copyright anyway.

                    That may be your religion, but I don't share it.

                    Copyright isn't natural, it's a legal concept. That aside, it is a fact that any original creative work is copyrighted automatically, that's not religion.

                    I realize that you're just nitpicking at the original wording by lawyers, but when I was younger, it actually used to be called "natural copyright" more. Now it's known more as a common law copyright or copyright by natural law. In fact, the wiki page [wikipedia.org] says that it stems from the idea as a natural right. Gov site for other readers. [copyright.gov] I didn't mean to say that it's "natural." Only using the phrasing of my generation.

                    Eventually, the F/OSS version can't compete and keep up and eventually dies.

                    So why does F/OSS still exist at all? Reality seems to disagree with you. Because F/OSS doesn't need to compete it doesn't have to die, it just needs people who are interested in it, and we live in a big world. New fancy features may not always be developed as fast as with proprietary software because the motive to score big with a hype isn't so strong, but F/OSS software does tend to gradually improve.

                    You're right with most F/OSS software, but my sentence applies to the context in which I pr

                • 1 reply beneath your current threshold.
              • 1 reply beneath your current threshold.
              • 1 reply beneath your current threshold.
            • 1 reply beneath your current threshold.
          • Comment removed based on user account deletion
          • 2 replies beneath your current threshold.
        • I'd certainly not suggest using it as a server OS over the likes of FBSD, Debian or RedHat. But for embedded systems, it's certainly more appropriate - I'd definitely recommend it over the likes of something like TinyCore Linux. All those people getting Raspberry Pis or Arduinos or things like that - Minix is the right solution.
            • Minix 3 would have practical utilities besides the copyfree license - such as its really tiny footprint, and its features, like the reincarnation server & self healing, which would make it practical for even real time systems. The only utility of HURD, consistent w/ the RMS philosophy, would be that it would be the only GPLv3 kernel out there (if they stay w/ Mach 3, even that would be bloated, and not address the same requirements that Minix 3 addresses. If GPLv3 licensing is not a must, there is no
        • 1 reply beneath your current threshold.
        • 1 reply beneath your current threshold.
      • 2 replies beneath your current threshold.
  • I remember seeing this for the Atari ST back in the day but was put off by the price back then as istr it coming with full manuals and support but at a price. Amazed it's still going.
    • I believe it cost less than 100ドル and included the book that Tanenbaum wrote to go with it.

      • The download is for free, and if one buys the book, one gets the free CD/DVD (whichever it is)
        • "It cost 100ドル" was a historic reference, i.e. that's how much it cost back in the late 80s when he originally wrote and published the book. Back then it wasn't released under a free licence, it was released under a propriety one. It switched to the BSD licence (I think) sometime in the 90s.

  • Okay guys, let's start the flame war. I honestly think the Microkernel is better.

    1. Everything is more modular and separated. This just makes sense to me, and I think code would be easier to maintain with a diverse community of people.

    2. If the X module dies, the OS can continue running like normal, as long as it's not the base module. For example, as humans, if you lose an arm, you can continue to live. It is losing your "brain module" that will kill you. With Microkernel, there is a lot less re
      • by Anonymous Coward writes:

        HURD is a crappy hybrid system based on an horrid microkernel and pretty much dead because of lack of leadership.

        Minix3 is an actively developed pure microkernel and multiserver system with ambition and under the direction of a person who knows the fuck he's doing.

        If you can't tell them apart, you will not make the cut in the immediate future.

      • 2 replies beneath your current threshold.
    • by Anonymous Coward writes:

      Speed an issue? You're thinking Mach. It has rained since then.

      Here's some facts:
      https://archive.fosdem.org/2012/schedule/event/549/96_Martin_Decky-Microkernel_Overhead.pdf [fosdem.org]

    • Also, to prevent a hung driver from crashing the whole system, if a driver gets into an infinite loop, the scheduler will gradually lower its priority until it becomes idle. Eventually the 'reincarnation server' will see that it is not responding to status requests, so it will kill and restart the looping driver. In a monolithic system, a looping driver could hang the system.

      I do think microkernels are not for everywhere, and that it's ideal for embedded systems, where the code size is a big advantage. T

    • 2 replies beneath your current threshold.
  • Embedded Market (Score:5, Informative)

    by crow ( 16139 ) writes: on Saturday February 23, 2013 @08:38PM (#42992587) Homepage Journal

    I spoke with Andy Tannenbaum when we were at the OSDI conference last October. He said that Minix has a role in the embedded market, especially in places where companies want to avoid the GPL.

    It's a large and growing market. Much as I would prefer Linux, I agree that there's plenty of room for Minix in that market.

    • by LWATCDR ( 28044 ) writes:

      That and they where supposed to do some interesting stuff with like self healing for high reliability I find it very interesting at the Kernel level. I would love to see some way out projects that might do well at replacing X or at least closer intergeneration of X with audio.

  • Is the GNU Hurd kernel a good choice for teaching or OS study in general?
    • by hawk ( 1151 ) writes:

      Yes.

      Everyone should study projects that never get to the finish line.

      Duke Nukem has finally managed to disqualify itself . . .

      hawk

    • 1 reply beneath your current threshold.
  • It seems to me that the tradeoffs Minix makes lends itself to better hardening and security, let alone simplicity and maintainability in the code base. I am excited to see what the Minix community produces now that they have some dedicated developers and are using NetBSD pkgsrc for userland. Cheers!
  • 2 replies beneath your current threshold.

There may be more comments in this discussion. Without JavaScript enabled, you might want to turn on Classic Discussion System in your preferences instead.

Slashdot Top Deals

[引用]

The only perfect science is hind-sight.

Close
Working...

AltStyle によって変換されたページ (->オリジナル) /