Slashdot Mirror


MenuetOS Debuts

Eugenia Loli-Queru writes: "OSNews is hosting an interview with Ville Turjanmaa, the creator of the Menuet Operating System. Menuet is a new, 32-bit OS under the GPL and it fits to a single floppy (along with 10 or so more applications that come as standard with the OS). It features protection for the memory and code, it has a GUI running at 16.7 million colors (except with 3Dfx Voodoo cards), sound at 44.1 khz stereo etc. And the most important and notable feature? The whole OS was written in 100%, pure 32-bit x86 assembly code!"

11 of 390 comments (clear)

  1. Anybody remember... by Maddog_Delphi97 · · Score: 4, Interesting

    Anybody remember GEOS?

    That's another OS that was written entirely in assembly... by the time they finished, Windows had ALL of the marketshare...

    1. Re:Anybody remember... by GrouchoMarx · · Score: 5, Interesting
      Not entirely accurate. GEOS pre-dated Windows by years. In fact, GEOS predated the Macintosh. It started on the Commodore 64, from Berkeley Software (the After Dark folks). It was ported to the Apple IIe a mere month before the Macintosh was released. It was then ported to the PC, and was released on the PC at the same time as Windows 3.0. All of the reviews at the time said that GeoWorks Ensemble, as it was called, was the better program. Graphical interface, wastebasket (had that on the Commodore version, too), a Documents folder, a full office suite that at the time had the full range of features in word processing, spreadsheet, and VECTOR-BASED drawing apps (yes, like Adobe Illustrator light, a decade ago), and support for running DOS programs as well. The entire word processor was only a few hundred kb, and it ran FAST, on a 286 and up. Development was done in "Graphical Object C".

      So what happened to it? GeoWorks (spun off from Berkeley) had no concept of marketing. Microsoft had an excellent concept of marketing, and a monopoly in DOS that they could build from. GEOS didn't stand a chance in the marketplace, and never took off.

      So, GEOS was ported yet again, this time to an entirely new platform. It was the OS for the Casio Zoomer Z-7000, the first PDA (predated the Newton). But the hardware was big and clunky, so it never took off. But it did provide a breeding ground for a little company that made software for it, including the handwriting recognition system. They were called Palm Computing, and a little while later they would be bought up by US Robotics where Jeff Hawkins would churn out the first Palm Pilot, finally jump starting the PDA "revolution".

      Yet another attempt was the porting of the GEOS 3.0 kernel to the Sharp PT-9000. It ran the same apps as the desktop suite, exactly the same apps. That made it completely and fully compatible between the two as a (gasp!) tablet-like PC, complete with pen interface. It had the level of integration in 1996 that Microsoft didn't dream of until 1999. But for reasons unknown, Sharp killed the project shortly before it was completed and it never saw the light of day.

      A final gasp was the HP OmniGo 100LX and 110LX, both of which were clamshell devices running GEOS. Also a no-go.

      Today, GeoWorks exists by owning a lot of patents on various obtuse concepts and pretending to have a case to file suit. Rather sad, really, but to this day my mother still uses GeoWorks Ensemble as her desktop environment.

      So what's the point of this little offtopic jaunt? The failure of GEOS had nothing to do with being written in assembly. It had nothing to do with it being late to finish, it predated all the big names, and in fact did a better job of them. (Ensemble is still the standard by which I judge the usability of an environment, and none have yet to match it, except maybe the Palm.) It had everything to do with marketing and marketshare. GeoWorks had engineers, but not marketdrones, and the MS marketdrones rolled over them like they weren't there. Lessons to be learned for anyone attempting to develop a new OS today.

      --

      --GrouchoMarx
      Card-carrying member of the EFF, FSF, and ACLU. Are you?

  2. Doh.. by RAruler · · Score: 3, Interesting

    This sounds incredibly cool, but with all these new OS'es popping up like QNX, AtheOS, and my alltime favorite BeOS. The only problem is, that theres too many showing up, and too little support for them. Sure, this is a great example of what you can do with Assembly, but are you gonna make a full fledged OS out of it? Is anyone working on a brand new OS that they think will actually go someplace? Personally, i'm still holding out that BeOS doesn't sink like the Titanic..

    --

    --
    Insert Witty Sig Here
  3. A step backwards... by Tom7 · · Score: 3, Interesting


    What crazy reasoning drives a project to write something complicated and difficult in a lower-level language than the current best practice?

    The only thing I can think of is the idea that it will be leaner and faster, which are seriously misguided notions given the trend of faster and faster hardware. What we care about now are scalable algorithms, stable and robust kernels and drivers, and appropriate abstractions to allow easy extensions. All of these are made easier by high-level languages. They are made more difficult by machine language.

    What I'd like to see is a powerful kernel mostly written in a very high level safe language like O'Caml or even Java. That would be a feat with some important consequences.

    1. Re:A step backwards... by Anonymous Coward · · Score: 1, Interesting
      What I'd like to see is a powerful kernel mostly written in a very high level safe language like O'Caml or even Java. That would be a feat with some important consequences.


      Its been around in one form or another since the 1970s. I'm talking about the best language ever invented, which includes a kernel mostly written in itself, and which can run as your OS on an 86platform: Smalltalk.


      Free implementation can be downloaded from squeak.org

  4. Isn't assembly trivial to get from a binary anyway by aozilla · · Score: 3, Interesting

    From the GPL: "The source code for a work means the preferred form of the work for making modifications to it."

    Guess that means he has to distribute the C version, too.

    --
    ok then your [sic] infringing on my copyright! Could you as [sic] me next time before STEALING my comments for your own?
  5. Thinking of uses for this... by mcc · · Score: 4, Interesting

    Well.. just a thought..

    Was trying to think of maybe how this would be good for anything other than rootdisks and novelty value.. and then i started thinking.. well.. 44-khz stereo sound, workable gui, MIDI support..

    I can't get the thought out of my head that something-- maybe not this specific OS, because this specific OS is tied to the x86, but maybe something patterned on the same general system design-- like this would maybe be actually useful as an embedded OS for a sampler.

    Am i just completely on crack, or would a sampler/synthesiser with a small lcd screen and an os like this one be as cool as it seems to me it would be?

    Then again, any really cool stuff you could do with such a system-- say, letting you program your own midi synths in realtime-- would *demand* that it have an interpreter for something more high-level than assembly built in, and doing, say, a LISP/Python interpreter in an environment written wholly in assembly could maybe get messy. Maybe we'd rather have an OS written in LISP in our samplers....?

    Oh, the hell with it. Forget i brought it up :)

    1. Re:Thinking of uses for this... by WickedLittleSlaveBoy · · Score: 2, Interesting

      this was my thought, as well.....in fact, the fact that it is a RTOS lead me to initially believe that this was the aim. I still haven't really seen the point, except that the guy wanted to do it.

      it would be a cool embedded OS, though. the GUI is decent enough, to make it worth the time. it really looks like it would be a good alternative to QNX or NT embedded...BUT, would licensing issues make it impossible for a small company to use it without releasing their source, considering the entire OS seems to be under the GPL? the GPL is great, but the companies that produce POS's and other such devices that could use a GUI generally try to be pretty proprietary with their software.

  6. On asm vs "proper" programming by Alan · · Score: 5, Interesting

    Ok, most of the responses to this so far have been "assembler doesn't give you that much improvement" , "assembler is a bad way to do things if you're trying to do them The Right Way".

    Well, why can't he use asm? If I want to write an OS is BINARY that's a cool-ass hack, even if it is not The Right Way to do it. Come on guys, give the guy a break... he did something *awsome* and something probably 98% of us can't do (I know I certainly can't) and he should be credited for that. I'm not saying that this OS is something that should be taught in OS design courses, but it's still very very VERY cool :)

    1. Re:On asm vs "proper" programming by Alan · · Score: 5, Interesting

      So you know enough about assembler to write your own OS? Nice intimate knowledge of x86 hardware? And who says the abacus isn't a useful thing to know? Do you want your children to only learn how to punch 2+2 on a calculator and never learn how, and more importantly, *why* adding and subtracting and multiplication tables work?

      I think the main point is that this is a *personal* achievement, not one for the computer community as a whole. Sure, there's no great need to do this, but man, if I had the time I'd love to try to do this, simply to see if I could. I wouldn't go down as the first anything, but the project would not be for fame or advancement of computing, but for personal advancement.

  7. Re:LLL vs HLL, Menuet vs World by rkent · · Score: 3, Interesting

    People claim that C compilers can generate code that is similar to what an ASM programmer is capable of. This is not true. A well-planned and pain-stakingly optimized C program can approach a novice ASM programmer.

    You know, maybe that's true if you have a genuine 80386 or -486 chip, but with the "Family 6" of Intel processors (p 2, 3, and 4), customized compilers produced by the manufacturer know WAY more about the particular branch predicting and out of order dispatch, to name just 2, than any novice ASM hacker.

    The problem is we don't really deal with the fundamental instruction set of the processor anymore. The intel family 6 and the AMD K6 and 7 are super-pipelined beasts which re-implement the x86 instruction set by basically having a front-end block transform those macrocodes into custom micro-ops.

    So you probably still CAN produce faster code with an assembler than, for instance, "gcc -o2," but you'd better have the block diagram for the processor sitting around to guide you, and that's not exactly a task for the novice. And I'd still be willing to bet that your margin over a manufacturer's custom compiler would be razor-thin, at best.

    Plus, there is also the inherent "beauty" of well-designed ASM code that most high level languages will never reproduce.

    Well, that's an aesthetic choice, and I'll let you have it, but I'll take the inherent "beauty" of well-commented C code any day.