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. First question by All+Dead+Homiez · · Score: 5, Insightful
    1. You have wrote the whole OS in a x86 assembly. How much speed you think you gained by using asm-only when compared writting the source in C or C++?
    Ville Turjanmaa: Parts of Linux was rewritten in assembly and the speed gain was 10-40%. That will give an idea.

    I don't mean to flame here, but one of the first things you learn in a computer architecture class is to "make the common case fast." The parts of Linux that were rewritten in asm that improved performance by 10-40% were most likely primitives that were executed hundreds of times a second - like bcopy() and maybe some parts of the VM subsystem. Ville's response draws no distinction between rewriting bcopy() in asm, and rewriting printk() (which is slow, but rarely executed) in asm. Unfortunately, I see no point in rewriting them both if it's not necessary. Sometimes it matters but often it doesn't.

    The space advantage to hand-optimized asm is clear, but the cost in portability and time almost certainly outweighs it. I really don't see what this OS offers that Linux doesn't have.

    -all dead homiez

    1. Re:First question by PaxTech · · Score: 5, Insightful
      I really don't see what this OS offers that Linux doesn't have.

      No one made claims about it offering anything that Linux doesn't have. It's a neat hack. The guy thought of something that hadn't been done before, wondered if it could be done, and then did it. An excellent hack is its own reward.

      --
      All movements for social change begin as missions, evolve into businesses, and end up as rackets.
  2. Is it just me? by evanbd · · Score: 5, Insightful
    Or is a stack trace a *helpful* thing when debugging code?


    From the FAQ:


    And the benefit of asm coding is that if you make a mistake in programming, you notice it immediately. You dont get warnings, things just wont work.


    Anyone else have serious doubts about this thinking?

  3. As a quick response by fluxrad · · Score: 5, Insightful

    ...to those of you who ask "How many OS'es do we need?"

    Think about when linux first came out, and everyone said "How many frickin' OS'es do we need? We've already got DOS, MacOS, and Unix (variants, etc.)"

    New OS'es are good for the market, people! They provide a fresh perspective on the way things should be done and facilitate ingenuity and competition. They may not all become famous or provide new tools or inventions to the OS market, but some of them do - and that's exactly why we need 'em.

    In that light, i must say i've yet to see someone bitch "Jesus, how many different types of cars do we need?"

    --
    "It is seldom that liberty of any kind is lost all at once." -David Hume
  4. Re:what's left? by Waffle+Iron · · Score: 5, Funny

    Write it in VBScript. You can create the first OS that can be installed and redistributed by clicking an e-mail attachment.

  5. 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?

  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.

    2. Re:On asm vs "proper" programming by thockin · · Score: 5, Insightful

      The point here is not whether it is "proper" to code an OS in assembly - it's been done for years. The point is that if one is to write an OS nowadays, and they choose to do it in all asm, they are doing it for the sake of doing it.

      100% asm does NOT buy them improved coding efficiency or improved maintenance or debugging (I've yet to meet an asm coder who can write as much as fast as a mediocre C programmer). What 100% asm does, is make them feel special. That sounds derogatory, but it's not.

      Chances are that the world doesn't need a new OS. Chances are that he didn't do anything revolutionary or groundbreaking. Chances are that he will never make a red cent off his OS. Chances are he had a great time doing it.

      I've written an OS from scratch. It's hard. My OS is nothing special or groundbreaking, heck it barely DOES anything. Did I do it? yep. Did I have fun? yep. Did I learn a lot? yep. Did I do it in 100% asm? nope. I'm not that good at asm, and truth be told, I don't care THAT MUCH. I like C. C is a good language for an OS.

      If this guys likes writing and debugging asm, then more power to him. But let's not mistake this for a decision about "properness" or even pure efficiency. He did it beacuse he felt like it.

  7. Re:Anybody remember... by NaturePhotog · · Score: 5, Informative

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

    Yep, I was one of the developers (fonts, help system, spreadsheet, DBCS version). GEOS is a pre-emptive multi-tasking, multi-threaded OS with a GUI, single imaging model, object-oriented (object-oriented assembly? MooOOoo!), and lots of other wizzy features. It originally ran on a 4.77 MHz, 640K IBM XT, and still uses less than 16MB of disk space (your video card probably has that much RAM now :-)

    The OS and apps were done in a reasonable amount of time, but the big problems were:

    1. the SDK wasn't available for too long
    2. the SDK initially only ran on SPARCstations
    3. Microsoft had a OEMs locked into using Windows if they wanted to use DOS. DR-DOS was an option at one point, but OEMs were scared off from it by the incompatabilites MS added

    GEOS still lives on. Several companies worked with it until recently, NewDeal and MyTurn.com; both are, alas, now defunct. Nokia used GEOS for the 9000/9110 Communicator which is still alive and kicking. The OS still belongs to Geoworks where it was created, but lots of software is available at Två Katter.

  8. Re:Anybody remember... by NaturePhotog · · Score: 5, Informative

    Mostly correct.

    GEOS pre-dated Windows by years. In fact, GEOS predated the Macintosh. It started on the Commodore 64.

    Commodore GEOS pre-dated Windows. I'm not sure if it predated the Macintosh or not. However, the PC-based version didn't come out until 1990. The Commodore 64 version was pretty cool, though -- a graphical OS and app (one at a time) in 64 K .

    The entire word processor was only a few hundred kb

    The current version is 114K. It hasn't been updated significantly in a while, and so is lacking indexing and some other key features, but it's a pretty amazing little app.

    Development was done in "Graphical Object C".

    The OS itself was in 80x86 assembly, as were the initial apps (WP, drawing, spreadsheet). Later libraries and some apps were done in GEOS Object C.

    It started on the Commodore 64, from Berkeley Software (the After Dark folks)

    After Dark was from Berkeley Systems.

    GEOS (Commodore and otherwise) was from Berkeley Softworks. The company was later renamed GeoWorks, then Geoworks.

    Today, GeoWorks exists by owning a lot of patents on various obtuse concepts and pretending to have a case to file suit.

    AFAIK, Geoworks only has one patent, the flexible UI. It's not particularly obtuse; it's a fairly cool concept (the reactions from people seeing a demo with apps running under Motif, OpenLook and a CUA interface all on the same screen was pretty funny). What's potentially obtuse is enforcing the patent against WAP. But IANAL, so I don't know if it's a stretch or not. Hmm...strike that. They got a second patent that looks a little more WAP/HTML specific.