Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Operating Systems Programming Technology

MenuetOS, an Operating System Written Entirely In Assembly, Hits 1.0 368

angry tapir writes: MenuetOS, a GUI-toting, x86-based operating system written entirely in assembly language that's super-fast and can fit on a floppy disk, has hit version 1.0 — after almost a decade and a half of development. (And yes, it can run Doom). The developers say it's stable on all hardware with which they've tested it. In this article, they talk about what MenuetOS can do, and what they plan for the future. "For version 2.0 we'll mostly keep improving different application classes, which are already present in 1.00. For example, more options for configuring the GUI and improving the HTTP client. The kernel is already working well, so now we have more time to focus on driver and application side."
This discussion has been archived. No new comments can be posted.

MenuetOS, an Operating System Written Entirely In Assembly, Hits 1.0

Comments Filter:
  • Wow. Still? (Score:5, Insightful)

    by halivar ( 535827 ) <bfelger@gmai l . com> on Friday May 15, 2015 @11:45AM (#49698549)

    I remember futzing around with this little project 15 years ago. I am pleased to see that, not only is it still going strong, it's pretty remarkably modern.

  • Really? (Score:5, Funny)

    by ArcadeMan ( 2766669 ) on Friday May 15, 2015 @11:45AM (#49698553)

    Question: MenuetOS is entirely written in assembly? There's no traces of other languages, such as C?
    Reply: nop

    • Re: (Score:2, Informative)

      by Anonymous Coward

      Question: MenuetOS is entirely written in assembly?

      Yes, that's the whole point of the OS.

      • by uradu ( 10768 )

        You clearly don't speak assembly--or funny ;)

    • From their own site [menuetos.net]:

      Menuet isn't based on other operating system nor has it roots within UNIX or the POSIX standards. The design goal, since the first release in year 2000, has been to remove the extra layers between different parts of an OS, which normally complicate programming and create bugs.

      So, if you want to port your own application to it, you'll need to rewrite it too. And you may need to do it in assembly — although there is, apparently, a C-compiler for MenuetOS [goosee.com] it is billed as "low-level", which, I gather, means no (or limited) libc, and other exciting and challenging limitations.

      • That sounds like theyve been actively un-learning all of the lessons the computer science field has spent decades learning.

        Here everyone else has been learning how abstraction can promote collaboration and keep bugs simple, and theyve found a way to justify removing abstraction as a way to reduce complexity (lol?).

  • by 93 Escort Wagon ( 326346 ) on Friday May 15, 2015 @11:46AM (#49698561)

    And they'll have something that'd be marginally useable today.

    • Come a long way (Score:5, Insightful)

      by Anonymous Coward on Friday May 15, 2015 @12:25PM (#49698885)

      Wow, slashdot has come a long way from when I first started reading "chips & dips" in 1997. Even just 10 years ago, a story like this would have been met with enthusiasm and honest support, with a virtual pat on the back to the developers.

      Today, a story like this is reduced to a mere platform for chest-beating (see the parent above). As in, "nevermind the lame story, look at me instead". Why in the world are you people even here?

      • by Anonymous Coward

        After the Beta fiasco and the Systemd wars combined with the 7month long--every day--posts of "all STEM/geek males are severely sexist," all the quality slashdotters left.

        Right now we are basically in a post-apocolyptic state here.

      • Re:Come a long way (Score:4, Insightful)

        by zieroh ( 307208 ) on Friday May 15, 2015 @02:21PM (#49699999)

        Wow, slashdot has come a long way from when I first started reading "chips & dips" in 1997. Even just 10 years ago, a story like this would have been met with enthusiasm and honest support, with a virtual pat on the back to the developers.

        Today, a story like this is reduced to a mere platform for chest-beating

        To be fair, the vast world of computers and software has come a long way since 1997. What might have been an interesting accomplishment in 1997 is now basically an exercise in pointlessness. Sure, it can be done. Sure, it's small and fast. But so what? What was actually accomplished that's worth anything? Processor power and memory advances since 1997 have obviated any reasonable need for an operating system such as the one described here, and the demands made on modern operating systems pretty much dictate that they be a whole lot more maintainable than any assembly code will ever be.

        • Re:Come a long way (Score:5, Insightful)

          by Khyber ( 864651 ) <techkitsune@gmail.com> on Saturday May 16, 2015 @04:42AM (#49704439) Homepage Journal

          "What was actually accomplished that's worth anything?"

          I can turn my computer on and pretty much INSTANTLY use it after POST.

          The only other OSes to do that have been purely command-line.

          The entire OS can fit within the L3 or L2 cache of modern processors, leaving the RAM entirely free for applications. Got a linux distro that will do that?

          It also demonstrates the absolute shit bloat code inefficiencies of today.

          MenuetOS is the demoscene of operating systems. It does what any operating system can do, faster, with fewer resources, in much smaller, tighter, SUPERIOR code.

          Also, because of the code being pure ASM, most nimrod 'hackers' won't even be able to touch it, as they know jack shit about bare-metal programming. It's more secure by its nature, not by obscurity.

  • by Spy Handler ( 822350 ) on Friday May 15, 2015 @11:47AM (#49698565) Homepage Journal

    and their website looks like it's from 1995 as well!

  • by spiritplumber ( 1944222 ) on Friday May 15, 2015 @11:47AM (#49698569) Homepage
    if the timing is that tight, it would allow using secondhand PCs instead of ladder logic controllers.
  • Not Open (Score:4, Insightful)

    by Zontar The Mindless ( 9002 ) <plasticfish@info.gmail@com> on Friday May 15, 2015 @11:47AM (#49698571) Homepage

    http://www.menuetos.net/m64l.t... [menuetos.net]

    I might play with it, but if I can't use it for work, play is all it'll be.

    • http://www.menuetos.net/m64l.t... [menuetos.net]

      I might play with it, but if I can't use it for work, play is all it'll be.

      I wonder what commercial uses they're thinking of.

      Presumably they're thinking of some super-low footprint embedded devices, but still this seems like a lot more of a fun project than a viable product.

      • Re:Not Open (Score:5, Interesting)

        by bluefoxlucid ( 723572 ) on Friday May 15, 2015 @12:35PM (#49698977) Homepage Journal

        I wonder what use they're thinking at all. Minix 3 is a step forward: were we to port Linux interfaces for udev, kevents, and such onto Minix, we could drop a Linux userland onto it wholesale, with systemd and all, and benefit from a core operating system which lends itself to drastic rearchitecting.

        Consider that running Minix as an OS-level virtualizer--OpenVZ, LXC--is a trivial task, one which requires only providing a different network server and different security features (e.g. users and groups, and their flow through the file system driver and such), largely doable on the existing code base. You could even run Xen on top of Minix with a minor tweak.

        Consider that Minix is a collection of services which may be extended by adding other services. It is interfaces and features, not tightly-bonded kernel code. The shape and form of the OS can be changed without commitment: to add services to handle Linux services is not to change Minix, for you may simply not use those services; you could instead add services to make Minix pretend to be OpenBSD. You could replace its threading model or scheduler by swapping out a service, providing a system that uses the advanced features of DragonflyBSD.

        There, again, we see a step forward: DragonflyBSD, with its non-locking semaphores, its highly-efficient threading model, its ability to freeze an application and thaw it after a reboot, to checkpoint running applications--a feature Minix does not possess, but could simply by adding a new kernel service--and even to move applications between machines. Extending some of these things would be to bring the features of OpenMOSIX: check pointing and running an application on a different boot cycle or different machine brings the magic of scheduling applications across a cluster of machines acting as one.

        Why, then, do we persist in creating these tinker toys, instead of extending, cannibalizing, or imitating those things which show real progress? Why has Minix not embraced the great strides forward made by Linux and integrated its interfaces so as to integrate its user space in distribution? Why has Linux not subsumed the threading model of Dragonfly BSD? Why has someone chosen to create an OS to no purpose, rather than to create a unified system carrying and integrating the lessons from all prior systems?

    • Re:Not Open (Score:5, Informative)

      by jones_supa ( 887896 ) on Friday May 15, 2015 @12:04PM (#49698709)

      Not Open

      Yeah, KolibriOS [kolibrios.org] is an open fork of MenuetOS. It was forked when Menuet was still open source. Although Kolibri hasn't been updated for almost a year.

      Not sure why they want to keep the genie in the bottle. Open source would be perfect for this kind of hobby project.

    • But corporations are people, so...

    • The 32-bit version is open (GPL), the 64-bit is currently not.
  • What next? (Score:5, Funny)

    by Anonymous Coward on Friday May 15, 2015 @12:06PM (#49698735)

    Now that they've got this thing working, what would be really cool is if they could come up with a way of getting it to run on different processor architectures, in case x86 loses out to ARM in the long run.

    I'm thinking maybe they could write some sort of abstraction layer whereby the instructions are originally written in some sort of higher level format, which could then be automatically turned into machine code for different hardware using a special program. You could do all sorts of things with that kind of system. I'm surprised nobody's thought of it before, actually.

  • by bugs2squash ( 1132591 ) on Friday May 15, 2015 @12:15PM (#49698805)
    Assuming it is much faster than an equivalent system written in, say , C. I find it disappointing that hand crafted assembler should be so much faster than what compiler optimizations can achieve.
    • Re: (Score:2, Insightful)

      by Anonymous Coward

      Never wrote any DSP code have you? It's trivially easy to beat compiler optimizations even with naive SIMD assembly.

    • by itzly ( 3699663 )

      It's mostly faster because they left out all the things that were too hard in assembly.

    • by tibit ( 1762298 )

      It's not, and it doesn't run on tiny systems either. It requires ~300MB of RAM just to boot up. It's basically a hack done to stroke someone's fancy. It's not practical in any sense of the word. You could rewrite it in C and it would run just as fast. Its speed is mostly related to the architectural choices, and many of them are just plain wrong. Way too much of the API is blocking - that means that the internal architecture is broken, pretty much, and won't scale, and wastes power. It's basically a demonst

  • Surely this runs so embiggeningly fast that it's unusable?

    I remember running some assembler demo's (back in the day) that made "legacy" hardware do things that just didn't seem possible. The thought of running an OS with that same performance on modern hardware is frightening. Hopefully they've tuned the input routines so that you don't eeennnddd uuuppp wwwiiittthh kkkeeeyyybbboooaaarrrddd jjjiiitttttteeerrr :o)

  • by __aaclcg7560 ( 824291 ) on Friday May 15, 2015 @12:40PM (#49699031)
    When I went back to community college to learn programming after the Dot Com bust, I was frustrated that all the courses was in every flavor of Java. (The school couldn't afford to renew the Microsoft site license for a few years.) When the assembly language class appeared on the schedule, I later discovered that I was only the student signed up for the course. Class cancelled. Since this class wasn't required for graduation, the dean couldn't grant my request to learn assembly language as an independent study class.
  • by cfalcon ( 779563 ) on Friday May 15, 2015 @12:44PM (#49699075)

    Plenty of OSes have, over the course of history, been written in assembly.

    And all of them proprietary, just like this one.

    Menuet is cool, but I don't see a compelling reason to use closed source assembly unless it demonstrates some really crazy superpowers. It's also an odd case of a GPL codebase switching to a closed source license a couple years before it becomes useful.

    Kolibri forked from the GPLed 32 bit branch, but I don't think it's pure ASM at all.

  • Good work Menuetosites!

  • by account_deleted ( 4530225 ) on Friday May 15, 2015 @02:42PM (#49700151)
    Comment removed based on user account deletion

Beware of all enterprises that require new clothes, and not rather a new wearer of clothes. -- Henry David Thoreau

Working...