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!"
This sounds exactly like v2 OS... last I heard v2 had finished its C libraries and TCP/IP...
... any performance advantages it might offer are not even "portable" to all the different x86 variants.
Anyone doing assembly optimization work must not only take into account the architectural differences between the recent Intel and AMD cores (P5, P6 and its variants, K5, K6, K7, Pentium IV), but the presence of additional instruction sets (MMX, SSE, 3DNow). It makes sense to go to this kind of trouble only if there are serious benefits to be had, e.g., in places like OpenGL/D3D drivers and the miniscule percentage of OS code that must provide low-latency interrupt service.
Writing 100% assembly language just for the sake of saying "mov eax,1" instead of "int a=1" is the mark of the true amateur programmer. Your code won't run any faster in the general case just because it's "100% assembly," so unless you're just trying to impress girls or something, assembly is best left to the half-dozen driver programmers on the planet who still need it. Especially the Balkanized array of proprietary hacks that x86 assembly has become.
Assembly debugging may be harder, but when it does break, you sure know it. If you've been using it long enough, you can tell how it broke, and maybe even close to where it broke.
If god had intended you to be naked, you would have been born that way.
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:
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.
You could get the asm out of the binaries, but it would lose all formatting, comments, macros, separation into different files, and various other things. It would be *very* hard to read; not at all the "preferred form of the work for making modifications to it."
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
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.