Slashdot Mirror


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

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."

11 of 368 comments (clear)

  1. Re:Really? by Anonymous Coward · · Score: 2, Informative

    Question: MenuetOS is entirely written in assembly?

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

  2. Re:Not Open by jones_supa · · Score: 4, Informative

    Not Open

    Yeah, KolibriOS 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.

  3. Worse, no Unix or POSIX either by mi · · Score: 4, Informative

    From their own site:

    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 it is billed as "low-level", which, I gather, means no (or limited) libc, and other exciting and challenging limitations.

    --
    In Soviet Washington the swamp drains you.
  4. Re:Entire OS in about 1/3 of i7 Cache by lgw · · Score: 5, Informative

    None of that follows from it being written in assembly.

    My first 5 years as a dev were spent working on a team that maintained an all-assembly OS, database, print server, and so on. Very fast, very small. But you can get all that in C, and a modern C compiler on full optimization produces object much faster than any sane, maintainable assembly source.

    It's a mindset issue, not a toolset issue. Actually using assembly is a great way to keep the right mindset throughout. Plus, learning to read assembly fluently, find bugs by glancing at core dumps, fix bugs with a sector editor to save an assembler pass when you're in a hurry, bugfix a running program in memory - all of that builds your coding muscles, even if it all a bit silly for a modern prod environment.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  5. Re:Really? by Anonymous Coward · · Score: 3, Informative

    QNX fit a realtime OS with GUI, file browser, web browser, notepad and demos on a 1.44MB diskette.

    http://toastytech.com/guis/qnxdemo.html

  6. Re:Not Open by tibit · · Score: 4, Informative

    That's the whole point. It's not open source. The 32 bit kernel is old and not developed anymore.

    --
    A successful API design takes a mixture of software design and pedagogy.
  7. Re:floppy disk... by epyT-R · · Score: 3, Informative

    Hey buddy, ever wait around near the nurses station at a hospital? Women can and do tell dirty jokes all the time.

  8. Re:Turn in your geek card. by skelly33 · · Score: 3, Informative

    Doom is shown as an icon on the desktop in the various screenshots found on the project site, but indeed, Quake is the game running in a window.

  9. Re: Entire OS in about 1/3 of i7 Cache by madbrain · · Score: 3, Informative

    Someone would have to be crazy enough to try to write an SSL & PKIX library fully in assembly to get that HTTPS server working.

    --
    -- Julien Pierre http://www.madbrain.com/blog
  10. Re:Entire OS in about 1/3 of i7 Cache by lgw · · Score: 5, Informative

    From experience I know that a well-trained, well-weathered assembly hacker can generate code faster than the compiler.

    This hasn't been true since instruction pipelining. And it hasn't been true for maintainable assembly source for abut 20 years.

    Quick, what's the fastest way to multiply an integer by 8? Did you answer "depends on the previous 20 instructions, but probably 3 adds separated by 3-4 instructions each"? There's just too much state to keep track of with which silicon is doing what for how long following each instruction.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  11. Re: Entire OS in about 1/3 of i7 Cache by lgw · · Score: 5, Informative

    Not a left shift?

    Depends - did you do a shift or multiply in the previous several instructions? When do you need the result? Do you need to add anything else soon, or is the adding silicon idle? Modern compilers actually keep track of all that. For sure, if you need to shift two values, doing each a different way is faster.

    The important stuff the coder can provide to help with optimization comes down to: avoid conditional branches, and emphasize locality of reference (I miss the days when a 256-byte lookup table was the fast answer to most bitwise questions).

    --
    Socialism: a lie told by totalitarians and believed by fools.