Slashdot Mirror


MINIX 3.2 Released With Some Major Changes

An anonymous reader writes "MINIX 3.2.0 was released today (alternative announcement). Lots of code has been pulled in from NetBSD, replacing libc, much of the userspace and the bootloader. This should allow much more software to be ported easily (using the pkgsrc infrastructure which was previously adopted) while retaining the microkernel architecture. Also Clang is now used as a default compiler and ELF as the default binary format, which should allow MINIX to be ported to other architectures in the near future (in fact, they are currently looking to hire someone with embedded systems experience to port MINIX to ARM). A live CD is available." The big highlight is the new NetBSD based userland — it replaces the incredibly old fashioned and limited Minix userland. There's even experimental SMP support. Topping it all off, the project switched over to git which would make getting involved in development a bit easier for the casual hacker.

21 of 120 comments (clear)

  1. Neat by laffer1 · · Score: 4, Interesting

    I see an interesting convergence of some technologies happening. clang is on the roadmap for several BSDs and now is default on Minix. NetBSD tools were pulled in which are also used in part on several other systems. The Minix folks will probably upstream fixes to NetBSD as well as make improvements to llvm.

    It's great to see alternatives to GNU tools gaining ground. It's the only logical choice for embedded systems due to licensing. We're going to need to step up our game and make our own tools with threats like Wayland coming.

    1. Re:Neat by Sodki · · Score: 3, Interesting

      >It's great to see alternatives to GNU tools gaining ground. It's the only logical choice for embedded systems due to licensing. We're going to need to step up our game and make our own tools with threats like Wayland coming.

      What threat does Wayland poses? It's MIT licensed. And X.org isn't going anywhere anytime soon.

    2. Re:Neat by Hatta · · Score: 4, Interesting

      clang is on the roadmap for several BSDs and now is default on Minix.

      It will be nice if people start to realize that their code needs to compile on things other than GCC. These days you can't even compile a lot of software if you have a different version of GCC than the author did.

      --
      Give me Classic Slashdot or give me death!
    3. Re:Neat by serviscope_minor · · Score: 4, Interesting

      For those of us that don't know what Wayland could be, might you freshen our feeble minds with it's definition?

      It's a massive FUD attack designed to replace Xorg with a less featureful but shinier replacement which also makes a number of the same mistakes that were made by OSX and Windows, rather than keeping the better design of parts of Xorg. On the other hand, it's something new which will keep the developers who have got bored with Xorg happy.

      Wayland won't feature remote windowing. The best we can hope for is a pixel-scraper which dumps compressed bitmaps over the network.

      Wayland seems to feature client side decorations. This has the advantage that every toolkit will give subtly different window decorations, hung applications will have immovable windows and it will be difficult to imlement global policies such as snap-to-window or snap to edge etc.

      Wayland also solves a host of completely unrelated problems (apparently). See, one problem with Xorg is tearing in video. I don't have this problem on any of the intel chipsets I have, so it's clearly not an Xorg problm but a problem with drivers for other chipsets. Wayland people claim that wayland will solve this, apparently by magically dealing with the undocumented chips and proprietary blobs from other vendors.

      Wayland does reduce the latency for compositing windowmanagers by removing a number of program->xorg->WM->xorg messages. Given that these are coming at a rate of positively 10s per second from your mouse, this is terribly important since Linux can't deal with high data rate, low latency messages.

      About the only use-case for wayland is so that you can have a nice graphical transition butween multiple X servers running on a single monitor on a computer. I think that's definitely giving up network transparency for!

      Wayland also seems to incite blatantly disengenuous claims from people who should know better like "oh you will be able to run Xorg on top of wayland". This completely ignores the fact that new wayland only programs won't have remote networking and secondly on every other system which does this, X11 is very much a second class citizen and the programs don't integrate properly with the native system.

      Oh, apparently the BEST thing about Wayland is that it no longer has the 1980's style graphic primitives. This means that X is old and unfashionable. It also means that the Wayland developers have apparently never heard of software modularity where a bunch of rarely used function calls can sit somewhere on the side in a different source file and not clutter up the main body of code.

      --
      SJW n. One who posts facts.
    4. Re:Neat by canistel · · Score: 3, Insightful

      Wayland won't feature remote windowing. The best we can hope for is a pixel-scraper which dumps compressed bitmaps over the network.

      You people need to get over your whole "x11 can run over the network" thing... I don't care what the theory is, nothing beats RDP (windows remote desktop) for running applications. I've used them all: rdp, vnc, ssh -X, nx... nothing comes close to rdp, and if you guys took of the "windows sucks" blinders you would admit that too. Whatever advantages Xorg might have, running appliations remotely is absolutely NOT one of them.

    5. Re:Neat by Cid+Highwind · · Score: 4, Insightful

      Wayland won't feature remote windowing. The best we can hope for is a pixel-scraper which dumps compressed bitmaps over the network.

      Which is what we've got now with Xorg + any non-trivial widget set, no?

      --
      0 1 - just my two bits
  2. Re:Minix by Anonymous Coward · · Score: 3, Insightful

    Seconded. Aside from a purely nostalgic standpoint, not sure how relevant MINIX is in this day and age, given the hardware and OS choices available. Still, I guess people have the right to work on whatever the hell they want to.

  3. Re:Git? by Noryungi · · Score: 5, Funny

    That was in 1992. Get a life.

    Seriously, though, Torvalds vs Tanenbaum is so 20th century.

    --
    The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
  4. Re:Minix by arkane1234 · · Score: 3, Interesting

    Remember it for what it was originally made for... an operating system to learn from while coding.
    You might not remember those days, but when you have a working operating system that is minimal in code size, it's easier to grasp.

    I'm just a little disoriented by the need to advance it, unless it's a minimal codebase of the NetBSD variety. Then again, they did say it was "pulled" from NetBSD, so that'd mean in my mind it's not minimal... which nullifies that. ... and we're back to square one.

    --
    -- This space for lease, low setup fee, inquire within!
  5. Re:Git? by Half-pint+HAL · · Score: 4, Funny

    Git is a userspace application, Tanenbaum and Torvalds disagree about the best way to design a kernel, that's a totally different topic..

    That's 20th century thinking, you dinosaur. In the 21st century, you cannot disagree with someone without hating them and everything they stand for. I am now obliged to call you an idiot for disagreeing with me, or in modern parlance: "being wrong". w0t??? U iz a bag of FAIL!!!! I bet you're a communist who votes for pinkos!!!

    Welcome to the Century of the Misanthrope.

    --
    Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  6. Re:Minix by jdgeorge · · Score: 3

    Perhaps it's being used for educational purposes. Linux is a bit huge to use as a learning tool for various aspects of how operating systems work. I speculate that pulling in code from NetBSD seems to make sense to provide more up-to-date examples of modern OS architecture issues.

  7. Re:ARM port by Chrisq · · Score: 3

    MINIX on ARM will be very interesting if it happens. As I gather the footprint will be much smaller compared to Linux!

    Will it? You are probably comparing Minix to the bloated x86 Linux distributions. ARM Linux is much smaller

  8. Re:ARM port by LizardKing · · Score: 3, Informative

    ARM Linux is much smaller

    The Linux kernel itself usually isn't. The C libraries that come with the distributions ARM board vendors often bundle with their hardware are typically smaller as they don't usually use glibc (or a derivative of it).

  9. Re:Just because it isn't in production by vlm · · Score: 3, Interesting

    training tool

    Its an educational tool not a training tool. Education is learning how stuff works, training is votech. Almost no one in the world will ever be hired because of minix on a resume. It is helpful for learning how OS work. Another way to put it is education gives you something interesting to think about, makes life worth living. Training gives you a way to make money to afford the contemplative life of an educated person. Its an educational tool.

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  10. Re:ARM port by DrXym · · Score: 3, Informative

    Embedded dists tend to use uClibc + BusyBox. Android uses a BSD user-land with a C runtime implementing a subset of Posix called BIONIC. The kernel would be compiled down to strip out superfluous drivers, filesystems, subsystems and so on.

  11. Re:Minix by tlhIngan · · Score: 3

    Remember it for what it was originally made for... an operating system to learn from while coding.
    You might not remember those days, but when you have a working operating system that is minimal in code size, it's easier to grasp.

    I'm just a little disoriented by the need to advance it, unless it's a minimal codebase of the NetBSD variety. Then again, they did say it was "pulled" from NetBSD, so that'd mean in my mind it's not minimal... which nullifies that. ... and we're back to square one.

    I think it's evolving the userspace side - while the Minix is the kernel side. The userspace of Minix suffered and gets crufty as people can't use what they already know since the Minix userspace starts looking a little barren.

    There are lots of teaching operating systems out there. Most are just applications that run on another OS to teach basic concepts like multithreading, locking and such. Minix appears to be the end goal - an OS that can be taught running on real hardware. A userspace revamp to make it feel modern and not a toy. And being able to go and compile some program you wrote on an OS you're tinkering with can trigger excitement among students.

    And there's probably a ton of OS research going on with Minix as well, and not having to put up with limitations on tools because the userspace can't run them is helpful.

  12. Re:ARM port by DrXym · · Score: 3, Insightful
    Yes. The uClibc C runtime ditches or makes optional a lot of stuff which is superfluous for embedding - locale stuff, math and so on and is optimized to save space, not necessarily performance and doesn't provide a stable ABI. Busybox doesn't offer a full implementation of various tools either, just the basics. Both are also modular so you're meant to pick what features you want or not at compile time. It's fine for embedding because space is usually at a premium, e.g. the rootfs has to sit in a small flash partition.

    So you could use them on a desktop but the question is why in most cases since you would have the CPU and memory to support the fullblown libs. I doubt uClibc would compile against desktop style applications and most dists would expect full blown GNU tools to function. You'd probably have to roll your own dist for that.

  13. Minix is cool by spaceyhackerlady · · Score: 3, Insightful

    I respect Minix for its attempt at doing something different from the monolithic OSs we almost invariably use.

    Linux and its ilk are very powerful, but they're not the only way to solve problems. Keep up the good work!

    ...laura

  14. Hurd by unixisc · · Score: 4, Interesting

    Of the various microkernels that ever existed @ different times, Mach 3 was less than satisfactory, Chorus ended up digested by Sun, and Amoeba itself today stands discontinued. L4 is a 2nd generation microkernel that has been tried out in some projects, including a Linux project called L4Linux as well as an OS/2 successor called OSfree. There are some other microkernels, such as Coyotos & Viengoos that have in the past been tried by the Hurd project.

    I'd think that something like Minix 3.0 (not 3.2) would be a good microkernel to base Hurd on. Given the licensing differences, the Hurd guys may need to fork Minix anyway in order to get a microkernel that has everything that Hurd needs. If they get that, they can then continue on the rest of the project, and finally have the GNU's own kernel (which ain't Linux).

    On another note, I wonder why the Minix guys chose the NetBSD userland, since NetBSD is the least used BSD among the big 3. They could have simply gone w/ FreeBSD, which would have given them a range of targeting options, allowing them to borrow from PC-BSD for netbooks, pFSense for routers/firewalls, FreeNAS for storage, and so on.

    And finally, I do hope they get an arm version sometime. Another suggestion - they might want to get a Raspberry Pi and port the ARM Minix to that platform, making it the target platform for this initially.

    1. Re:Hurd by manu0601 · · Score: 3, Insightful

      On another note, I wonder why the Minix guys chose the NetBSD userland, since NetBSD is the least used BSD among the big 3

      This is probably because NetBSD emphasis on portability often makes its code the cleanest one.