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

390 comments

  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 Frad+Haskins · · Score: 1

      Hey! I played with GEOS for a laugh...I remember the Epson dot-matrix driver was killer!

      --
      This is a sample sig. Press F1 to personalize.
    2. Re:Anybody remember... by Anonymous Coward · · Score: 0

      Actually, GEOS was *purchased* by a zealous group of GEOS users and renamed to NewDeal... www.newdealinc.com

      Learn from your parents' mistakes: use birth control.

    3. Re:Anybody remember... by WickedLittleSlaveBoy · · Score: 1

      yes, but assembly RTOS's can go where Windows can not go.

      I don't really think the developer had the desktop in mind while he was writing it.

    4. Re:Anybody remember... by Anonymous Coward · · Score: 0

      Anybody remember GNU/Hurd? That's an OS written entirely in C++... By the time they finished... Oh wait, they haven't finished....

    5. Re:Anybody remember... by Nightpaw · · Score: 1

      That came with the best damn games ever. I played the really nice Tetris (with handy two player mode) and the Comedy Club defense game all the time.

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

    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 Anonymous Coward · · Score: 0
      16MB of disk space (your video card probably has that much RAM now :-)

      Ha. My Geforce3 I just picked up has 128MB.

    9. Re:Anybody remember... by Anonymous Coward · · Score: 0

      Did you work for GeoWorks? -- Just curious as to how you came to know all of this.

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

    11. Re:Anybody remember... by jacobito · · Score: 2

      Wow, I remember GEOS! Didn't early versions of AOL use a GEOS windowing environment running on top of DOS? I seem to remember it that way... (I used to sign up for free AOL trial subscriptions way back when so I could download files, then upload them to local BBSes for leeching privileges... yeah, cheesy)

    12. Re:Anybody remember... by NaturePhotog · · Score: 2

      Yep. AOL started out as QuantumLink on the Commodore 64, so AOL and Geoworks (then Berkeley Softworks) had an existing relationship. As PCs became more popular, AOL and Geoworks co-developed an AOL client that ran under GEOS to go along with their Mac-based client. For many years, even after Windows had taken over, if you requested the "DOS version" of AOL they'd send you a stripped down version of GEOS and the AOL client.

    13. Re:Anybody remember... by Anonymous Coward · · Score: 0

      I think your recollection is a bit revisionist. When GeoWorks Ensemble came out, those of us who looked at it and backwards Windows 3.0 and cried out for a WeoWorks development kit. They said to wait, they were working on it. Then they said it would be assembler only. I do not know if they ever actually released one.

      Windows 3.1 came out. Then all the developers said "wow, I can use C, asm, pascal, or fortran...fuck you geoworks! Buh-bye."

    14. Re:Anybody remember... by SurfsUp · · Score: 2
      The entire word processor was only a few hundred kb, and it ran FAST, on a 286 and up.

      Err, sorry, no it ran fast on a 8088 and up. Bloody embarrassing for today's operating systems including Linux if you ask me.

      I don't know if the whole thing was written in assembly - I doubt it in fact. Using their SDK (running on a SPARC station 1) I developed for it in C.

      --
      Life's a bitch but somebody's gotta do it.
    15. Re:Anybody remember... by edwdig · · Score: 1

      The 1.x line ran really well on 8086's. 2.x was still usable, but a bit sluggish. The most recent versions require a 286. Unfortunately funding ran out before the 386 kernel upgrade got finished...

      Almost everything was written in asm. All of 1.x was, and probably 99% of 2.x was. I can only think of 1 app and 2 libraries that were written in C in the 2.0 release. They were done in C mainly to test out C development. More C code creeped in as time went on tho. It's all asm, with stub functions to allow C development.

    16. Re:Anybody remember... by old_fortran · · Score: 1
      Any desktop environment that old that is also still useful should serve as a positive object lesson (and/or a source of decent ideas). I bought my kids Magnavox/Philips PC's in the early 1990s, and these machines came bundled with GeoWorks Ensemble (DOS based machines, I think / this was all ). As I recall my son liked the Ensemble desktop quite a bit.

      I'm mentioning this in the context of the whole KDE/Gnome process (and please don't flame me about GEOS being commercial software - so were most UNIX variants until *recently*). My parents bought a PC last year, and the WIN9x interface is a great source of mystery for them. So any interface that can be used for 10 years or so might be worth another look.

    17. Re:Anybody remember... by furry_marmot · · Score: 1

      That's what I actually remember. I worked at Intuit at the time, and some of our engineers were looking at it to determine if we wanted to port Quicken to it. What I remember is that a) there was no development kit, and b) when it was released, they'd be required to write in assembly. They dropped all interest in it quickly, even though it was very Windows-like but could run in 512K.

    18. Re:Anybody remember... by GrouchoMarx · · Score: 2

      No, I don't work for GeoWorks, but I was a long time user of it, from the early 80s (I was born in 1980, so I grew up with the C64) through 1998, when I went to college and grudgingly moved to MS Office because I had to be compatible with what my professors insisted that use to turn in assignments. :-( The GEOS PDA info I have because I seriously considered buying each and every one of those, but they were either too expensive (Z-7000), weren't actually released (PT-9000), or were on clumsy hardware (HP OmniGo), or a combination thereof. Also in 1998 I finally bought into the Palm line, and have been a Palm user ever since. The GeoWorks Patent stuff is from browsing their web site occationally, out of nostalgia, and a few Slashdot articles on them trying to claim that all wireless internet access is covered by one of their patents.

      --

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

  2. Boy band? by Peridriga · · Score: 0

    Why would anyone name an OS after (or any name even simlar) to a 80's boy band... (That is, if anyone even remebers them except for me)

    1. Re:Boy band? by Anonymous Coward · · Score: 0

      I'm pretty sure you're thinking of Menudo -- named after tripe stew -- rather than Menuet -- a semi-clever pun on a musical/dance form.

    2. Re:Boy band? by jmenezes · · Score: 1

      Um, i believe that the boy band your thinking of is Menudo, not minuet.
      But close enough.
      :P

      --
      Stop over-analyzing your analizations
    3. Re:Boy band? by Anonymous Coward · · Score: 0

      I was worried I was the only one thinking the same thing...age does have some advantages...right?

    4. Re:Boy band? by Anonymous Coward · · Score: 0

      Menuet is the french word for minuet. The german version is menuett. This is an ancient dance.

      Google found this article for further explanaiton:
      http://eaasdc.de/history/sheminue.htm

  3. How many OS's do we need by tokar321 · · Score: 1

    Firstly I've got to say congratz for knocking this one out. But to be honest how many more Operating Systems do we need?

    I'd settle for Application software that worked the way I like to work.

    1. Re:How many OS's do we need by Anonymous Coward · · Score: 0

      Lot's, but not for x86 because m$'s OEM license kind of destroys any chance for a non m$os to get any marketshare. Would be nice if all alternative oses could select ONE cpu and do everything for that one.. then we just maybe would end up with a different architechture there m$ didn't had the chance to dominate it before it would be to late.

      // Hagge#örebro@IRCnet

    2. Re:How many OS's do we need by xigxag · · Score: 1

      Firstly, I've got to say congratz for making that observation. But to be honest how many "How many more Operating Systems do we need" posts do we need?

      I'd settle for Slashdot comments that said the things I like to say.

      --
      There are two kinds of people: 1) those who start arrays with one and 1) those who start them with zero.
    3. Re:How many OS's do we need by BoogieChillum · · Score: 1


      42!!!

      No, seriously - There needs to be as much variety in the OS market as there is in any other. think about cars - General Motors, Ford, Toyota, Hyundai, Volvo, Mercedes, Volkswagen, BMW, Mazda - all making rounded square boxes with four wheels.

      How about TVs? Sharp, Sanyo, Sony, Samsung, GE, JVC, Toshiba, Mitsubishi, Pioneer - All making boxes that show the Magic Pictures (Ooooo...).

      Washing machines. Hoover, GE, Westinghouse, Whirlpool, Email, Smeg, LG, Electrolux - All making boxes that swish your dirty clothes round with a lot of water.

      Desktop OSes - Microsoft, Apple.

      Over the deafening screams of the teeming millions, I'll just point out that the likes of Morgan, Shelby and Ashton Martin are not in the car maker list either. Yes, the Linux desktop is a wonderful thing, and yes, it may even be the saviour of us all, but still, it's not yet something that the average member of the public is going to be offered as a choice when he walks into the local Best Buy looking to buy um, one of them, um, computer things?

      The point is that when Joe Public goes to buy a computer, he's going to get something with one of Microsoft's fine products on it.

      The real point is - HE HAS NO CHOICE.

      Oh, he could buy a Macintosh. Sorry. Yes, that's a real schmorgasboard there. But he has to go all the way across town to the only Apple retailer in the state. Oh, and guess what? Even the Apple that he gets - Has Microsoft software on it!

      And the sales assistant that helps him decide on his new computer - why doesn't he spend any time finding out what the customer wants to do with his new computer and customise the new machine accordingly ("Oh, your son's going to be an engineer? Here, use QNX. You want to be a musician? No problem, load him up with BeOS. Serious gamer? Menuet! 100% assembly for pure, sweet, speed.) Why does this never happen?

      Because Microsoft. won't. let. them.

      If they try, along comes the Beast of Redmond and waves a big stick at them.

  4. v2OS by Anonymous Coward · · Score: 1, Informative

    This sounds exactly like v2 OS... last I heard v2 had finished its C libraries and TCP/IP...

    1. Re:v2OS by MelloDawg · · Score: 1

      Found some links:

      http://v2os.v2.nl/

      http://v2os.sourceforge.net/

      --
      /. is irrelevant.
  5. 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
    1. Re:Doh.. by Anonymous Coward · · Score: 0

      if you consider QNX a new OS, you are more of a newbie luser than even posting to slashdot would indicate. HTH

    2. Re:Doh.. by Anonymous Coward · · Score: 0

      i'm still holding out that BeOS doesn't sink like the Titanic.

      time to leave the theater, little timmy. it's all over.

    3. Re:Doh.. by Anonymous Coward · · Score: 0

      You forget that you are an AC and he has a UID of around 11000.

    4. Re:Doh.. by quecojones · · Score: 1

      Don't get me wrong, I have nothing against BeOS (I downloaded the free try-out version a while ago and liked what I saw), but from what I've heard BeOS is circling (sp?) the drain at this point. :(

      If I'm wrong on this, please, somebody let me know.

      q

      --
      "PROFANITY is the inevitable literary crutch of the inarticulate MOTHER FUCKER." -- some PC user
    5. Re:Doh.. by Phil+Wilkins · · Score: 0, Troll

      Dude, having a low UID doesn't stop you from being a dillweed...

      ...uh, hang on a sec...

    6. Re:Doh.. by mjwise · · Score: 0, Troll

      Perhaps the chances of being an ass actually get higher as the UID approaches zero.....

    7. Re:Doh.. by be-fan · · Score: 2

      If you think that QNX6 and QNX4 are the same thing, you are more of a newbie luser than even positing a stupid AC comment on slashdot would indicate. HTH

      --
      A deep unwavering belief is a sure sign you're missing something...
    8. Re:Doh.. by Killer+Napkin · · Score: 1

      Yeah... you're wrong. BeOS is already dead. Be basically killed all of its staff and sold to Palm. Be no longer exists. Palm has already announced that they will do no more development on BeIA, which was Be's last effort to squeeze some revenue out of BeOS. Chances are, there will be no development of BeOS as we know it coming from Palm, even despite the fact that the BeOS community is up in arms with petitions and the like. Hopefully, some of what was in BeOS might show up in future Palm devices, but I doubt it will be at all recognizable.

    9. Re:Doh.. by limbostar · · Score: 0, Troll

      Are you calling CmdrTaco an ass?

      Wait, don't answer that.

      --
      this is a sig.
  6. Assembler? Bah! by Sagarian · · Score: 4, Funny

    An operating system in assembler? Bah! Such high level languages are tools for the weak, macros be damned! You know what I have to say about that? Reminds me of an old joke by Alan Turing : 11100101010100100111010100101010010100101001111 ? 10011010100111011100001 !!! HA!

  7. Re:Assembler? Bah! by Peridriga · · Score: 1

    That joke is as funny as Stephen Hawkings crawling...

  8. what's left? by S.+Allen · · Score: 1

    os written in lisp? done.
    os written in C? done.
    os written in asm? done.
    os written in java? "done"

    my remaining options are perl, tcl or awk.... hmmm.

    1. Re:what's left? by Glytch · · Score: 2

      my remaining options are perl, tcl or awk.... hmmm.

      Hail to the king, baby.

    2. Re:what's left? by Hornsby · · Score: 1

      my remaining options are perl, tcl or awk.... hmmm.

      Too late for perl as well.

      PerlOS is already well underway.

      --
      A musician without the RIAA, is like a fish without a bicycle.
    3. 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.

    4. Re:what's left? by Anonymous Coward · · Score: 0

      I wanna write the JavaScript OS.

    5. Re:what's left? by memyselfandmyhand · · Score: 1

      I can remember back in grade 8, we all had to learn the most annoying, stupid, lame, crappy, pitifull excuse for a language ever made, second only to Visual Basic. I still have that turtle burned into my mind. Anyone else remember Lego Logo? ;-P

    6. Re:what's left? by Nullsmack · · Score: 1

      What about DHTML or XML? >:P

    7. Re:what's left? by Anonymous Coward · · Score: 0

      It's called the Bible son ...

    8. Re:what's left? by Anonymous Coward · · Score: 0

      Oh, come on, it's not like those are PROGRAMMING languages. What about Forth?

    9. Re:what's left? by Anonymous Coward · · Score: 0

      I thought I read somewhere that Inferno (or possibly Plan 9) from Bell Labs could be run as a browser plug-in. That's close ;)

    10. Re:what's left? by cakoose · · Score: 1

      Word Macro OS?

    11. Re:what's left? by Anonymous Coward · · Score: 0

      First time I've actually laughed in days.
      Thanks

  9. Wide range of OS's will split the support wont it? by itsnotme · · Score: 0, Offtopic

    With all the different OS's coming out with various different things in it, like beOS, Debian, and so on having different things to be supported within it.. wont that split the support even further apart? I've got to admit that its cool that they're still making new OS's and having different features in it but there's also the inherent problem of supporting it.. Will this OS get enough support from people nowdays that are coming from picking their OS from a wide range of currently available ones? Windows.. DOS ( does anybody actually use it anymore? ).. Mac.. Linux.. and all of the distributions.. BSD.. Solaris.. and so on..

    I know there's a hell lot more of different OS's out there so shouldnt there be some kind of standard set now so that support would be easily gotten across a wider range of platforms?

  10. it's nice to see by Festering+Leper · · Score: 1

    It's finally good to see os's and applications that are small and efficient


    --
    if you want people to think you know what you are talking about, just put ".com" at the end of everything you say.com
  11. Nothing New by jallen02 · · Score: 2

    There are ton of pet project operating systems like this. Some simple searching revelas a huge community of these DIY operating systems. :)

    Jeremy

  12. Yeah But by Anonymous Coward · · Score: 0

    when can i get anti-aliased fonts for it?

    1. Re:Yeah But by yomegaman · · Score: 1, Funny

      I've got an old 14" monitor you can plug into. That'll give you anti-aliased fonts, line-art, bitmaps, the whole shebang!

      --
      ...wearing a skin-tight topless leather jumpsuit, with cutaway buttocks and transparent crotch panel.
    2. Re:Yeah But by Anonymous Coward · · Score: 0

      if i only had points. i have a ton or two of fonts, and you know what... most of them are shit. you know what antialiased shit looks like? it isnt pretty. I wish we didnt see 32424345 articles a moment on antaliased fonts on /.
      THEY ARE FONTS PEOPLES! GET A FUCKING GRIP!!"

      why not work on something useful for linux, like say hmmm, i dont know... maybe some importers for ms office documents? something real for graphics? (gimp doesnt count, sorry) more hardware compatability?

      i guess it is more important to have eye candy now. gg.
      you may now mod me down, even tho im right.

    3. Re:Yeah But by The_Messenger · · Score: 2, Funny
      Fool. You can enable anti-aliased fonts on all operating systems by installing this patch from Dr. Daniels. Here's a screenshot.

      All I can say is, that's a pretty fucking hardcore patch. Even my keyboard is anti-aliased now.

      --

      --
      I like to watch.

    4. Re:Yeah But by plastik55 · · Score: 2
      That's kid stuff. With a simple modification you can make your desktop environment (not to mention your desk) into a fully sensual audiovisual experience in less than 30 minutes. Even Notepad now has 32 Billion colors of syntax autohilighting.

      It's like MacOS X for the brain. No really, it's the same technology Steve Jobs depends on.

      Man, and you thought your terminal had a "visual bell." Yowzah.

      --

      I have a positive modifier on Troll. When I mod someone Troll their karma should go UP!

  13. Wonderful by Octal · · Score: 2, Funny

    x86 assembly? Now that's what I call portability!

    1. Re:Wonderful by Anonymous Coward · · Score: 0

      So what? Linux is really useful on x86 only, too.

  14. It's like the QNX single floppy challenge by Espressoman · · Score: 1
    Remember that? Web browser, text editor, file manager, etc., all on a floppy disk. Looked snazzier too in my book.

    But hey, who's gonna criticize a sexy new piece of free software? Could be the start of something great, you never know...

  15. Blech by Anonymous Coward · · Score: 0

    They can't code a damn web page right, do we trust their OS ?

  16. 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. Re:First question by Anonymous Coward · · Score: 0

      So true.

      Before optimizing, i run a quick sanity check:

      Will the total time saved by accelerating this code be longer than the total time it takes to implement the optimized version?

      For example, if I think i can shave 1 microsecond off a function. And if all the users of my program only call the function a total of 3600 million times. Will it take longer than an hour to write? If so, what's the point in writing it if the users could've had it an hour earlier.

      Tom

    3. Re:First question by Anonymous Coward · · Score: 0

      "You have wrote the " have wrote? have wrote? do you people even know what a language is? "Parts... was?" ? This is a langauge!? I wonder how well written any code by the writers could possibly be.

    4. Re:First question by tshak · · Score: 4, Insightful

      The problem is, this OS's codebase will not scale due to the fact that it will be nearly impossible to debug once it get's the size of... two floppies.

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    5. Re:First question by Anonymous Coward · · Score: 0

      Assembler-only OS's have definitely been done before! I've got my trusty Apple //+ not more than 5 feet away. Back in the old days, assembler was the only way to go. And certainly debugging tools have gotten a *tad* better since then.

      And i remember my assembler class in college had us write a very simple kernel on x86 chips which supported preemptive threads. Nothing really innovative about this project. Just someone did a lot of grunt work on a processor architecture that has an immediately clouded future (eg, P4 vs. Itanium - Intel will have to cut and run with one of those sometime soon).

      Outside of an academic exercise for this guy - i don't see any real value.

      Tom

    6. Re:First question by schwap · · Score: 2, Insightful
      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.

      I wonder, when linux 0.01 came out someone said:
      I really don't see what this OS offers that Minix doesn't have.

      I think thats all I have to say.

    7. Re:First question by Jace+of+Fuse! · · Score: 2, Funny

      I really don't see what this OS offers that Linux doesn't have.

      A nice standard desktop?

      --

      "Everything you know is wrong. (And stupid.)"

      Moderation Totals: Wrong=2, Stupid=3, Total=5.
    8. Re:First question by quintessent · · Score: 2

      Add to that the extra cost of maintaining and error-checking the more cryptic code vs. improvements that could have been made using that time, and the end-user might have been more benefited by writing most of the code in c/c++ (or a similar language).

    9. Re:First question by seanadams.com · · Score: 2, Insightful

      The question of "is it practical to code is assembler" is utterly meaningless, without some context. If you're writing firmware for a low cost, mass produced embedded product, your development time/cost is not crititcal, and you plan to sell a million units, then by all means, code *everything* in assembler. Save $2 by using a smaller CPU/RAM/ROM, and that's an extra $2 million you can afford to spend on development.

      In this case, the guy was writing an operating system. It fits on a floppy disk. It's really fast. So what, you might say... I have a $1K PC with an 80GB hard drive, what the hell do I care how fast printk() is, or the size of my kernel image.

      Now imagine you're developing a router, or a Tivo, or an Internet toaster. You need an OS. Your choices are Linux, running on a $40 ARM or PowerPC chip, or Menuet, running on a $10 i386.

      Besides the compelling practical applications for MenuetOS, I'm sure the guy learned one hell of a lot about computer architecture in the process of writing it. It's not just about hack value - coding in ASM is a wonderful learning experience.

    10. Re:First question by Anonymous Coward · · Score: 0

      Whoa Nelly! the parent post didn't say assembly.

    11. Re:First question by anshil · · Score: 2

      I don't remember which famous book it was that went around software development, but one of it's sentences was.

      "A software usually spends 90% of the time in 10% of the code".

      Which is most times pretty true. Now say you've finished an application and it runs too slow, the plain way is to optimize just anything that hits into your mind. Now say you super-optimized the other 90% of the code in which the application spends only 10% of the time to zero effort, you're final application is only 10% faster, not much for the cross assumption we reduced the time requried to null.

      So what's the "good" way to do? Run a profiler on the application, find out which 10% of the code is responsible for 90% of the time, and optimize this one, if you're good you can it optimize by the half. So the application runs 45% faster, altough you only re-coded 10% of the code.

      Same goes for linux where some percent was rewritten in assembler. Well I guess in the special cases of OSes the breaking point is even more higher, 98%/2%, but it's only some magic number you could tell without the special code in testing.

      --

      --
      Karma 50, and all I got was this lousy T-Shirt.
    12. Re:First question by Anonymous Coward · · Score: 0

      The f stands for FUCKWIT right?

    13. Re:First question by .pentai. · · Score: 1

      Only 1 problem with this...Assembly is by NO MEANS cryptic...not nearly as cryptic as C.

      I don't know about you, but in my mind a line of
      add ax, bx

      is easier to follow than
      a += (b > 32) ? (b) : ((b > 16) ? 16 : b);

      True, they don't do the same things, but that's not my point. The point is, reading assembly code is often MUCH less cryptic...though yes, there's more of it. Atleast you don't have to worry about misplaced )'s?

    14. Re:First question by jgerman · · Score: 2

      Portability?? WTF are you talking about it's a god damned OS, not a ridicolous little java app. You have to write for the hardware at that level.

      --
      I'm the big fish in the big pond bitch.
    15. Re:First question by Lord+Omlette · · Score: 1

      QNX was written in c and fit on a floppy with gui, browser, tcp/ip stack, sound, etc. It's on a CD now so it must have grown.

      --
      [o]_O
    16. Re:First question by timlyg · · Score: 0

      A speed of 0.000003 ms also matters on large scale.

    17. Re:First question by tve · · Score: 1

      I've never done much programming in assembly, so I'm curious: could you give (an) example(s) of a problem that's harder to debug in asm than in C?

      --

      If there is hope, it lies in the trolls.
    18. Re:First question by quintessent · · Score: 2

      hmmm, take your pick:

      1)
      a=b+c;

      2)
      push ax
      push bx
      ld ax,sr+4
      ld bx,sr+8
      add ax,bx
      mv sr+12,ax
      pop ax
      pop bx

      I'll take the first.

    19. Re:First question by askii64 · · Score: 1

      that was just a "show off" thing(and it was running QNX4 not RTP). The full cd comes with compilers, games, etc...

      --

      -This quite possibly mangled, stupid, demented comment was brought to you by Askii64.
    20. Re:First question by cakoose · · Score: 1
      True, they don't do the same things, but that's not my point. The point is, reading assembly code is often MUCH less cryptic...though yes, there's more of it.

      Then why provide an example if it doesn't help prove your point? Why didn't you provide the source code for the winner of the obfuscated C code contest and then provide a single line of assembler that adds two numbers. WOW, the line of assembly code is much easier to understand!

      Your line of C code is also retarded. It could be more naturally written as:

      if (b 16)
      a += 16;
      else
      a += b;

      or even:

      a += (b 16) ? 16 : b;

      Either way, the intent is clear. The line of code you provided is a blatant attempt to make it harder to read. You might as well have used some XORs and added redundant parentheses.

      I can't believe there is a post about x86 ASM being less cryptic than C. What's worse, the example used is a comparison of badly-written C and a line of ASM code that the poster admits "don't do the same things"!

    21. Re:First question by cakoose · · Score: 1

      Whoops!! The two examples should be:

      if (b < 32 && b > 16)
      a += 16;
      else
      a += b;

      and:

      a += (b < 32 && b > 16) ? 16 : b;
    22. Re:First question by Anonymous Coward · · Score: 0

      It doesn't need to scale! I'll bet it
      already does most of the stuff I think
      an OS should do. The reason earlier
      oses like amiga and riscos were so
      compact was because the kernel etc.
      only had core functionality. If a rarely
      used function wasn't there, it was put
      in the app. This avoids the 30mb+ vm-torture
      glibc containg almost-never-used code Linux has.

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

    1. Re:Is it just me? by Anonymous Coward · · Score: 0

      go easy on him, he's prolly a Sun(tm) Java(tm) "programmer." you can't use Sun(tm) Java(tm) without printing stack traces.

      have a nice day.

    2. Re:Is it just me? by Chakat · · Score: 2, Informative
      You can have a stack trace and access to a debugger in assembly - even GDB can follow assembly instructions. Also, you have to remember that the earliest parts of the Linux operating system, back when it was Linus' toy to learn x86 assembly, had a different, yet still very useful way of debugging. He would set hard break points in the routine he was working on, and then running the resulting (ultra-primitive) operating system code. If it halted, he knew that it hit is infinite loop and that section worked. If it rebooted due to an exception being thrown, then he knew that there was something wrong with that section of code that he would have to investigate.

      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.

    3. Re:Is it just me? by Anonymous Coward · · Score: 0

      And you must be a Visual BASIC "programmer". In C/C++ and indeed every real language, the first thing programmers do with a core dump is to examine the stack with a debugger. Java doesn't dump core, so a debugger is not used as often. But you wouldn't know that. You can't even spell C.

    4. Re:Is it just me? by plam · · Score: 1

      Java doesn't dump core, so a debugger is not used as often. But you wouldn't know that. You can't even spell C.


      While Java does not dump core, it can throw a NullPointerException and print a stack trace out. It's true that you don't have to load the debugger as often to trace evil segfaults, because segfaults don't occur.

      Who would want to use an unsafe language anyway?
  18. 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

    2. Re:A step backwards... by Anonymous Coward · · Score: 0

      This is a stupid way of thinking. Becuase we have faster and faster hardware, we should not try to improve the efficiency of code? Does that not make the development of better hardware useless? Improve the hardware AND the software. Now that might be progress. Reminds me of when america was building all the huge-boat cars while the japanese were building 4 bangers...

    3. Re:A step backwards... by rtaylor · · Score: 1

      Perhaps it's just me, but doesn't Java require an OS underneath it to interpret it? Yeah, I know you can compile machine code -- but thats not the same thing :)

      Mayhaps I've not done enough Java code to realize it's full ability.

      --
      Rod Taylor
    4. Re:A step backwards... by Com2Kid · · Score: 1

      Heh, great idea, then this 1gigahertz CPU of mine will be able to run shit at the same speed as my old 486, woh, I just LOVE that idea, crap. As a posted above said, just cuz CPUs have gotten more powerful doesn't mean that programmers have to get ass end lazy.

      Shit, look at what microsoft has done with WindowsXP, 1.5gigabytes in size, and it needs 128megabytes of RAM to run decently! Uh, the entire OS shouldn't be 128megs, heh, not to even mention its memory footprint!

      Now then, imagin what could be done if you spend 2 or 3 megs of memory on the bare minimum required code, and the rest of features. Shit, give yourself 50 or so megs of RAM reserved for nothing else but OpenGL shit, and another few dozen megs just to store temporary user documents in, you know, so the user can write down quick little notes and not have to worry about starting up their text editing program, but instead just have it idleing in the background.

      Hey, come to think of it, if things are done properly, make that 2 or 3 megs for your base code and then a few hundred KILOBYTES for your text editor + text. Hell, if you can't get a simple ASCII text jot pad in less then 300KB, heh, please shoot yourself.

    5. Re:A step backwards... by OmegaDan · · Score: 2
      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.

      How do you think your going to load a java interpreter to run the kernel? :) 25 meg "sun microsystems" MBR ?

    6. Re:A step backwards... by shri · · Score: 2

      Umm.. MSDOS + Turbo Lightning? :)

    7. Re:A step backwards... by Anonymous Coward · · Score: 0

      You are just so stupid that I don't know where to begin. Just keep pretending and one day you maybe a great hacker.

      Oh, btw, GO LUNIX!!!!1111!!!1!1!11!!!

    8. Re:A step backwards... by toast0 · · Score: 1

      Programms written in higher level languages following good documentation practices are much less difficult to debug and maintain by third parties than assembly language programs.

      Furthermore, an optimizing compiler will take self-documenting code and turn it into fairly efficent unreadable code before it spits out the executable. The growing speed of processing makes using less effecient code less of a problem, except in the most often used areas of a program, which can be individually optimized (even down to assembly if necessary).

      So we're using the speed of the machine as support for trading off a little effeciency for maintainability.

    9. Re:A step backwards... by floW+enoL · · Score: 1

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

      Ha! A kernel written in Java, a language that does not implement pointers. That would be a feat in and of itself.

    10. Re:A step backwards... by Anonymous Coward · · Score: 0

      You don't need pointers you fucking troll, just need some sort of boot loader to get the thing started.

    11. Re:A step backwards... by floW+enoL · · Score: 1

      > You don't need pointers you fucking troll, just need some sort of boot loader to get the thing started.

      And implement memory management how?

    12. Re:A step backwards... by jgerman · · Score: 2

      Yes it would be a feat with important consequences like a slow crappy OS to rival Windows. Java is useless for systems work. Seriously misguided my ass, it doesn't matter if the hardware is fater and faster, the assembler and c code will still be faster than Java. The attitude of these days especially in Universities is that speed no longer matters, and that's just bullshit. It's that attitude that give us windows and legions of crap ass coders that only know java, the lincoln log set of languages. Java has it's place, but the phrase seriously misguided is more appropriately applied to these people who believe that Java, or any language for that matter, is the be all and end all of programming languages.

      --
      I'm the big fish in the big pond bitch.
    13. Re:A step backwards... by Tom7 · · Score: 1

      Java doesn't need to be interpreted.

      Anyway, I am thinking more of a minimal microkernel written in C or assembly (at some level you will need to be doing hardware access) but as much as possible of the algorithmic, non-machine specific stuff written in the high level language (ie, TCP-IP, file system, access control, scheduler..)

    14. Re:A step backwards... by Tom7 · · Score: 1


      Why do you need pointers to write complicated programs? Some of the bootstrapping and hardware access in a kernel would probably need to be written in C or assembly, but there is a significant amount of code which could be written in any programming language. Pointers in this case would be used simply because C does not provide anything more abstract.

      You should learn some more about programming, I think. =)

    15. Re:A step backwards... by floW+enoL · · Score: 1

      I did not say you needed pointers to write complicated programs. Perhaps my original comment wasn't clear -- I also did not mean that C-style pointers specifically were needed to write a kernel -- I meant that some sort of memory management mechanism was needed, exemplified by C-style pointers in Linux.

      That being said, I realize that one has to write certain portions of the kernel in assembly/C and that the rest can be written in almost any language. However, Java's pointer-less, or memory-management-less, design makes it so that a *significant* amount of other code must be written in order to program the kernel in Java. How exactly would the run-time garbage collector work without some sort of underlying memory management system already in place? How also would it work without some sort of process/thread mechanism? (correct me if i'm wrong, but the garbage collector runs independently of the process, right?) So, in order to program in Java, you'd have to implement memory management and process/thread switching. That's already a significant, or at least a non-trivial, portion of the kernel that has to be written in another language.

    16. Re:A step backwards... by be-fan · · Score: 2

      I think that's a pretty awful idea (with Java anyway). A lot of OS code tends to be really sensitive, and the Java garbage collecter comming in at the wrong time could really f**k things up. Its just like the race conditions with multithreading, only without the tangible benifets.

      --
      A deep unwavering belief is a sure sign you're missing something...
    17. Re:A step backwards... by Tom7 · · Score: 1


      I don't know how JVM garbage collection is usually done, but there's no reason it would need to be nondeterministic. The garbage collectors I know only run when an allocation is done (and there is not enough room). There are implications for real-time stuff (since an allocation could potentially take a long time because of a collection), but there are incremental collectors which solve this problem.

      Anyway, interrupt handling is sensitive to that, for sure. But filesystem code or TCP/IP shouldn't be!

    18. Re:A step backwards... by Tom7 · · Score: 1


      Typically, garbage collection happens when an allocation occurs and no space is available in the heap. I'm not sure how it is typically done in a JVM, but you wouldn't need parallelism or even non-determinism to do it.

      Java isn't the language I'd choose to do it, but I threw it out because it has many of the properties that the other, more obscure languages (O'Caml, SML) I'm referring to. Those other languages are much more efficient, though.

      I guess what I'm saying is, microkernel in C/ASM, as small as possible -- the implement the rest in a high level language (or many different ones, if your architecture is good).

    19. Re:A step backwards... by Anonymous Coward · · Score: 0

      You are an idiot. Have you ever written a serious program in assembly language? Or a high level language?

  19. 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
    1. Re:As a quick response by Morbid+Curiosity · · Score: 1

      They provide a fresh perspective on the way things should be done and facilitate ingenuity and competition.

      I can see the advertising slogan now:
      MenuetOS - the fresh maker!

    2. Re:As a quick response by Anonymous Coward · · Score: 0

      New OS'es are good for the market, people!


      Not ones written entirely in assembly... It was possibly a good learning tool for the programmer, nothing more...


    3. Re:As a quick response by Innominandum · · Score: 1

      I fail to see the reasoning behind your post. It makes absolutely no sense. Why would an operating system implemented ASM be any lesser than an operating system implemented in a high-level language?

      The only negative aspects of ASM involve production time and portability. Well, he obviously over came "production time" and portability might not be a concern. So the operating system will inherit all of the positive aspects of ASM such as speed, size, and readability (yes, I'm not joking).

      So then, what about ASM invalidates Menuet?

    4. Re:As a quick response by GrouchoMarx · · Score: 2

      I agree wholeheartedly about multiple OSes being good for competition and all the resulting benefits thereof. But there is one flaw in your car analogy. Gas is gas is gas. Super unleaded works in a Ford, a Chevy, a Subaru, a Toyota, and a Kia. Software is not so multi-platform.

      --

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

    5. Re:As a quick response by Anonymous Coward · · Score: 0

      After reading your post I've begun to see the world in so many new ways. Thank you so much.

    6. Re:As a quick response by Marcus+Aanerud · · Score: 1

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

      I say that every day I ride my bike home from work and almost get hit by some asshole driving a car from a manufacturer I've never heard of who designs an SUV no one can see out of.

      Save the environment: Kill a motorist.

    7. Re:As a quick response by bluephone · · Score: 1

      I have yet to go to a dealership and have the sales man tell me I need to repave all the roads I plan on using to be compatible with their car. Or worse, told that while this new car is the hottest thing since fire, there aren't any roads for it yet, but they have a GREAT demo road that is compatible out back I'm welcome to use until the new roads are built.

      --
      jX [ Make everything as simple as possible, but no simpler. - Einstein ]
    8. Re:As a quick response by ThatComputerGuy · · Score: 1

      Close, but no banana... Gas is gas, but it is not gas. Try running 92-octane gas from your local bargain gas station in a big horse engine where the fuel line is routed very closely to the block, head, and even the intake manifold. Watch as the engine heat makes the fuel start to go bad before it reaches the carb, nearly stalling the car.

      Then put in some 92-octane from Unocal 76. And you'll see that gas is gas, but unfortunately it's not always gas.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    9. Re:As a quick response by Anonymous Coward · · Score: 0

      I say that every day I ride my bike home from work and almost get hit by some asshole driving a car from a manufacturer I've never heard of who designs an SUV no one can see out of.

      Hey. Guess what! Roads weren't designed for feeble foot power, you arrogant spandex-assed kalifornia bike-faggot.

      I'd have some respect for you if you rode a motorcycle and could keep up with traffic, then you'd have a legit complaint...but you, well, roads weren't designed with you in mind.

    10. Re:As a quick response by dpletche · · Score: 1

      > "Jesus, how many different types of cars do we need?"

      People gripe about SUVs all the time. So in that light, why are we pigging up the world with cycle and memory guzzling, unreliable garbage like Windows? Save the planet -- stop using MS!

    11. Re:As a quick response by Anonymous Coward · · Score: 0

      that's why roads are a bad concept that should be eradicated

  20. emacs by CodePoet82 · · Score: 1

    Are you sure you don't want to write one in emacs? God only knows that all that monstrosity needs is to be able to boot itself. lol.

    1. Re:emacs by Anonymous Coward · · Score: 0

      great OS, just lacks an editor

    2. Re:emacs by DJGreg · · Score: 2

      All you need to do with emacs is write an extension for it to load as a server in MACH...

      Oh wait, then you'd have HURD... nevermind.. ;)

      --

      Yes, one day I may actually learn to spell...
  21. Speed Up? How much by maxbayes · · Score: 3, Insightful

    The speed up achieved by writing the whole OS in assembly isn't much. you just can't compare it saying parts of linux was written in assembly and that got 10-40% speedup. That doesn't mean it'll scale up in propotion.
    Turjanmaa doesn't even have an estimate on how much speed up he's achieved. but my guess would be not more that 10% over linux. cuz the most accesed part of linux is already in assembly, so you won't have huge speedups.

    1. Re:Speed Up? How much by Anonymous Coward · · Score: 0

      Your car, however, has given you a 300% speedup on your way to the gay bar, as compared to walking.

      Linux can't do that.

    2. Re:Speed Up? How much by Anonymous Coward · · Score: 0

      ...well, you'd certainly expect that, wouldn't you?

    3. Re:Speed Up? How much by marxmarv · · Score: 2
      cuz the most accesed part of linux is already in assembly, so you won't have huge speedups.
      It's entirely possible they're doing something totally different from the way Linux does it. Maybe there are kernel primitives much closer to x86's particular brand of assembly (SIMD enhancements perhaps?) and every piece of code is examined to determine when and where using those things would make sense.

      All the same, I think I'm with the "who cares" crowd on this one. What does it do besides "me too"? I don't think I'll care about any new OS until it's fully object-driven and secondary storage is transparent to the applications programmer. Then we'll talk.

      -jhp

      --
      /. -- the Free Republic of technology.
  22. like I was saying by S.+Allen · · Score: 1

    my remaining options are tcl, awk or bash :)

  23. it fits what? by krokodil · · Score: 1

    "it fits to a single floppy"

    What is this floppy thing they keep mentioning?
    Is is like CDROM or DVD disk from eighties? Have not seen much of them around.

    1. Re:it fits what? by Anonymous Coward · · Score: 0

      It's a relic from those times that Linux tries to mimic.

    2. Re:it fits what? by _Bean_ · · Score: 1

      I think what they are trying to say is it lacks cd support.

    3. Re:it fits what? by geomcbay · · Score: 2

      I honestly haven't used a floppy in more than 2 years. None of my 3 current systems that are in daily use even have floppy drives installed.

  24. Re:woohoo! by Anonymous Coward · · Score: 0

    This is a discussion of Menuet, not FreeBSD.

  25. Where's the code? by Blue+Neon+Head · · Score: 2

    If this is GPLed, where's the source? I couldn't find it. I downloaded the OS and tried it out a bit, and it actually seems quite good. Mind you, without a TCP/IP stack and such, it's pretty useless, of course, but whomever was behind this is clearly pretty good with the assembly. I'd love to see if the code is even remotely maintainable.

    1. Re:Where's the code? by etymxris · · Score: 1

      If this is GPLed, where's the source?

      When it's machine code, the binary is the source. You just need to use hexdump to view it.

    2. Re:Where's the code? by eoPh · · Score: 0

      you wanna see the code? grab a hex editor :]

    3. Re:Where's the code? by mimbleton · · Score: 1

      Sure, you can get reasonable asm printout using any dissembler but you won't get any comments, labels ... nothing , just pure asm.

    4. Re:Where's the code? by dead_penguin · · Score: 1

      The OS was written in *assembler*, not machine code. While there is roughly a 1-to-1 mapping between the two, assembly language generally includes such things as macros, pseudoinstructions, and oh, maybe the occasional comment. These are then turned to machine code by the assembler.

      While hexdump (or any hex editor) is a good tool to have, I seriously doubt it can regenerate these things from the binary. Hell, may as well run it through a decompiler and see what the original C code would have looked like...

      --

      It's only software!
    5. Re:Where's the code? by FyRE666 · · Score: 0


      It's written in x86 assembler. If you downloaded the software, you have the source :-)


      (yeah, ok, so you don't have the labels, macros...)

    6. Re:Where's the code? by Anonymous Coward · · Score: 0

      following instructions from the site:

      download 'zipped'
      unzip MSETUP.ZIP
      dd if=MSETUP.EXE of=mfloppy.img ibs=1000 obs=1000 skip=20
      mkdir menuetOS
      mount -o loop -t msdos mfloppy.img menuetOS/ (as root)
      cd menuetOS
      more *.asm

      some asm files are zipped.

    7. Re:Where's the code? by Anonymous Coward · · Score: 0

      You have to download MSETUP.EXE from the site and run it to install Menuet onto a floppy. Then just mount the floppy as a regular FAT disk, and the .asm files are on the disk.

      Unfortunately, the download page is down right now (it appears with a message "A heavy load at the moment, if still interested, come back tomorrow").

  26. What A Paradox! by robbyjo · · Score: 1

    The whole OS was written in 100%, pure 32-bit x86 assembly code

    Meanwhile:

    We are now focusing in compatibility

    Ouch, how can you suppose to provide more compatibility when you code 100% in asm? Compatibility of what sense? Hardware platforms like in UltraSparc and stuff? No way!

    --

    --
    Error 500: Internal sig error
    1. Re:What A Paradox! by sopuli · · Score: 1
      Did you read the question to which that was the reply?

      Is Menuet fully optimized for the Penium/PII instructions, MMX and are the MTRRs turned on?

      He just means compatibility within the x86 range. So no processor specific instructions, and no optimizations for specific pipelines.

  27. Re:Doh.. (QNX is so cool!) by NewtonsLaw · · Score: 1

    So true -- I bought my first copy of QNX in the mid 1980's and I think it was launched several years before that.

    It's one heap-cool OS -- just a shame that they didn't have the marketing muscle to launch it into the mainstream before MS took over.

    Mind you -- I suspect that if they'd tried to make it "yet another desktop OS" it wouldn't be the excellent product that it is today. They focused on the product's strengths and didn't sell out to the marketing droids -- and it shows.

  28. Not only is ASM not "portable" to other CPUs.... by Anonymous Coward · · Score: 1, Informative

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

  29. Main Page... by VivianC · · Score: 2

    If you are having trouble with the link, try this one.

    Need to whore me some karma....

    --
    Viv

    Gmail invites for ip
  30. if it's in assembler... by Satai · · Score: 3, Funny

    ...does that mean it'll be a pain in the ass to fix "LENGHT" to "LENGTH" in the editor picture on the website?

    but seriously, this is pretty sweet. i'm going to load it up at work tomorrow.

    1. Re:if it's in assembler... by Anonymous Coward · · Score: 0

      This is just a sign that one of the /. editors worked on the project.

  31. But it gets you compact code by Anonymous Coward · · Score: 0

    Something that's apparently not appreciated enough these days.

    1. Re:But it gets you compact code by Anonymous Coward · · Score: 0

      Something that's apparently not necessary these days.

    2. Re:But it gets you compact code by Anonymous Coward · · Score: 0

      Compact code IS efficient code. If it doesn't fit in the first cache, you gotta go to the 2nd, etc. Finally swap from disk. Each level of caching is orders of magnitude slower than the previous.

      Small code == more in cache == fast

    3. Re:But it gets you compact code by Anonymous Coward · · Score: 0

      Small code == more in cache != optimization of pipelining of code ==> potential for one instruction and lots of bubbles in the pipeline blowing performance way to hell. Compilers were created for a reason people. Sheesh.

    4. Re:But it gets you compact code by Sagarian · · Score: 1

      Wonderful observation about elementary computer architecture. But don't assume that fastER code is always desirable, which it isn't always. The poster's point (in mentioning low latency interrupts and OpenGL) was stressing things that require speed.

      You see, the bulk of operations don't require that degree of speed. Here's the a reductio ad absurdum argument:

      If writing an operating system takes time X in assembly, and has speed Y, and say doing it entirely in C takes time 2x and has speed Y/4 , I'd wager that for most sets of values, I can buy 4 times the hardware cheaper than I can buy 2x the labor to build one 4x faster.

      The exception case is where the system requires certain operations with such frequency that their latency causes the entire system to slow down. This would be cases like, driver optimization, or OpenGL implementations.

      This of course ignores other issues like time to market (if you intend to have others adopt your product), and portability (if you intend to address a broad market)

    5. Re:But it gets you compact code by Anonymous Coward · · Score: 0

      but just because it's coded in assembly doesn't mean it's fast. You actually have to be a good ASM programmer, and actually THINK in assembly.

    6. Re:But it gets you compact code by phutureboy · · Score: 1

      If writing an operating system takes time X in assembly, and has speed Y, and say doing it entirely in C takes time 2x and has speed Y/4 , I'd wager that for most sets of values, I can buy 4 times the hardware cheaper than I can buy 2x the labor to build one 4x faster.

      Damn. You're breaking out, like, economics. Nice.

      When hardware becomes more expensive and/or Moore's law slows down, the pendulum will swing the other way, and a highly optimized OS will be more desirable.

      People tend to waste that which is plentiful, and conserve on that which is scarce.

      I should go sleep now.

    7. Re:But it gets you compact code by Anonymous Coward · · Score: 0

      Exactly my point. Beating a good C compiler these days is NOT something that a programmer of the skill and experience level of, say, the sort of programmer who would write an entire OS in assembly, is likely to do.

    8. Re:But it gets you compact code by OnanTheBarbarian · · Score: 2

      Actually, it's unlikely that by the time Moore's law slows done, that hand-coded assembly will be very common at all. Even now, most RISC compilers do a better job than hand-coders unless there are specialized instructions to be taken advantage of or some special knowledge that the coder has that the compiler doesn't.

      Take a look at the hardware documentation for the 21264 pipeline or the architecture documentation for the IA-64 and think about how much fun it would be to write reams of hand-coded assembly for them.

      If Moore's law slows down, I suspect that we'll see even more work on aggresive optimizing compilers and profile-driven optimization, not on trying to hand-optimize general-purpose code for 16-way issue multithreaded speculative out-of-order ... architectures.

    9. Re:But it gets you compact code by Anonymous Coward · · Score: 0

      And dynamic execution was invented for a reason, and the reason is that compilers are absolutely lousy at pipelining.

    10. Re:But it gets you compact code by Anonymous Coward · · Score: 0
      Huh? You're trying to say that someone capable of coding an entire OS in assembly lacks skill and experience?


      I think you've got that backwards.

    11. Re:But it gets you compact code by Anonymous Coward · · Score: 0

      With newer architectures that simplify the processor (like VLIW...yuck), more of the responsibility moves to the compiler to choose the right instructions to maximize ILP. You want to do this by hand?

    12. Re:But it gets you compact code by h4x0r-3l337 · · Score: 1

      "writing an operating system" and "being good at assembly" are two different, unrelated things.
      To use the every popular car-analogy: someone can be a good driver but a lousy car mechanic.

    13. Re:But it gets you compact code by cakoose · · Score: 1

      Using a "popular car-analogy" and a "relevant car analogy" are two different, unrelated things. The driver/mechanic relationship is more like an OS user/writer relationship.

      The situation seems more like this: if a guy can build a car with paperclips and crazy glue, he's is probably skilled in building things with paperclips and crazy glue. Though, again, this is not necessarily true. Also, it is not likely that a paperclip car will be something you want to drive or tinker with.

  32. Re:Assembler? Bah! by Hornsby · · Score: 1

    Why is this modded as funny?! I know I'm being a jerk, but those binary strings don't translate to anything in ascii.

    --
    A musician without the RIAA, is like a fish without a bicycle.
  33. Dude! by Saint+Aardvark · · Score: 1
    And the most important and notable feature? The whole OS was written in 100%, pure 32-bit x86 assembly code!

    Best Keanu Reeves voice: "Whoah..."

  34. Yes, you are not 100% correct. by throx · · Score: 3, Insightful

    Actually, if you had a couple of years of experience (ie non-university) CompSci or EE under your belt then you'd realize just how correct the original poster is.

    Saying that it simply won't work and therefore is easier to debug is foolish on a grand scale. If anything, writing in assembly code gives you FAR more failure modes because you don't have a compiler which is running at least some sanity checks on your code. If anything, you'll find that it is higher level languages that "won't work" and assembly code that will do something obscurely weird when you trash the wrong memory address.

    If there is anyone humiliated, it should be the previous poster who obviously has no idea about the complexity added in writing something directly in assembly rather than a higher level language. All you end up doing is trading portability for increased development time. There is even no guarantee that the code will run faster - C compilers are pretty good these days and can do magical things with intrinsic functions with superscalar scheduling.

    To sum it up, YES!! You are not 100% correct. You are actually 100% incorrect.

    --

    Fear: When you see B8 00 4C CD 21 and know what it means

    1. Re:Yes, you are not 100% correct. by Mr+Z · · Score: 1

      I have to agree. Assembly failure modes can be VERY much more subtle than high-level language failure modes. I have to deal with this regularly, as I write debug assembly code on some rather complex processors. (VLIW CPUs with exposed delay slots lead to some really hard to spot bugs occasionally that have absolutely no analogs in the C world. These bugs can be some of the most annoying Heisenbugs you've ever seen, too...) Basically, writing in assembly code gives you raw speed, but you pay the penalty in not having some sanity checks on your code.

      On a related note: One of my professors was fond of pointing out a study that found that programs tend to have about the same defect density per line of code regardless of the language they're written in. That is, if you tend to have one bug per 50 lines of code (let's say), it doesn't matter if the code is ASM, C, Java, SQL, or Bourne Shell Script. Imagine how many lines of ASM it would take to be equivalent to cp file1 file2?

      Now only slightly off topic...

      Fear: When you see B8 00 4C CD 21 and know what it means

      Uhm, I'm a little fuzzy on this because it's been awhile, but doesn't that terminate a DOS program via INT 21h with an errorlevel of 0?

      Then for you Apple ][ folk out there... what does 2C 30 C0 do? :-)

      --Joe
    2. Re:Yes, you are not 100% correct. by dead_penguin · · Score: 1

      Then for you Apple ][ folk out there... what does 2C 30 C0 do? :-)

      BIT $C030

      This should produce a pop from the speaker. Reminds me of one of my first assembly programs for the Apple ][; it'd access the speaker much like this, read one of the joystick axes, and then loop back. Depending on the position of the joystick (err... paddle), there would be a different delay. This allowed you to make *the* most annoying squealing sounds just by turning the paddle or moving the stick.

      Gawd, I miss that old machine.

      --

      It's only software!
    3. Re:Yes, you are not 100% correct. by Innominandum · · Score: 1

      > That is, if you tend to have one bug per 50 lines of code (let's say), it doesn't matter if the code is ASM, C, Java, SQL, or Bourne Shell Script. Imagine how many lines of ASM it would take to be equivalent to cp file1 file2?

      The source on linuxassembly.org gives a portable (BSD/*nix/BeOS) cp that is roughly 350 lines. So that's 7 errors accordingly to that rule. Each of which was probably fairly easy to track down. The end result: very small, fast, portable, beautiful. :) Worth it? Yes!

    4. Re:Yes, you are not 100% correct. by yomegaman · · Score: 0

      Why on earth would anyone bother hand-optimizing a piece of code that spends probably 99% of its time blocking on disk I/O? And how exactly is it "portable"? Your time is your own and if you want to waste it that's your problem, but this is hardly something to be bragging about.

      --
      ...wearing a skin-tight topless leather jumpsuit, with cutaway buttocks and transparent crotch panel.
    5. Re:Yes, you are not 100% correct. by Anonymous Coward · · Score: 0

      Wow, thanks for putting this guy in his place, and keeping the ignorant masses like myself on the up and up. I thought it was pretty cool that he wrote his own OS in complete assembly, and almost believed for a second that he might know something about what it's like to develop in it. Thanks for contributing your special insight and clearly superior knowledge. From now on I'll trust whatever someone with a "couple of years of experience" on Slashdot has to say over someone who's actually accomplished something. You must be The Man with that couple years of experience. I understand it takes a long time (like a couple years) to get a couple years of experience.
      Wow. That's just short of a degree, isn't it? A couple years. Man you must be a heavy hitter in the industry. I guess you have to be to understand long words like "intrinsic" and "superscalar." Man, that's some pretty intelligent talk there! Wow!
      Wow. Dang.
      They must call you Einstein.

    6. Re:Yes, you are not 100% correct. by Innominandum · · Score: 1

      > Why on earth would anyone bother hand-optimizing a piece of code that spends probably 99% of its time blocking on disk I/O?

      And by that same method of thinking, you must believe that Word doesn't need to be optimized because 99% of the time it is blinking a stationary cursor.

      > And how exactly is it "portable"?

      I mentioned the site http://www.linuxassembly.org/ They will explain to you how it is portable. It is not portable across hardware platforms, but software platforms. This is done by using a macro library that inlines kernel calls.

      > Your time is your own and if you want to waste it that's your problem, but this is hardly something to be bragging about.

      It's not mine and I'm not bragging about it. Besides, this is just a matter of opinion. I would gladly use a 350-instruction cp replacement.

    7. Re:Yes, you are not 100% correct. by Anonymous Coward · · Score: 0
      C compilers are pretty good these days and can do magical things with intrinsic functions with superscalar scheduling


      What is this mythical compiler of which you speak? This is all based on dogma, not on actual compiler products which are all pretty lousy compared to an assembler coder. Perhaps x86 is the exception with Intel's kickass compiler [which costs hundreds of dollars], but GCC on any platform [which is what we're all using, right?] is lousy at optimization.

    8. Re:Yes, you are not 100% correct. by be-fan · · Score: 2

      Intel C++ can do incredible stuff. It schedules for modern procs extremely well, does code parallelization, inter-procedure optimization, and supports OpenMP directives (direcetives that tell a compiler how run code on multiple procs). I don't claim to understand all its features, but its damn good. Visual C++'s compiler is pretty good also, and both are better than GCC. Since $400 is a drop in the bucket for most software companies, Intel's compiler is probably quite frequently used (since it has great error messages and good C++ conformance as well).

      --
      A deep unwavering belief is a sure sign you're missing something...
    9. Re:Yes, you are not 100% correct. by benwb · · Score: 1

      pop in a couple EA (NOP) bytes, and then loop back to the beginning. Take a lab of apple II, and put in variable numbers of nop's- you have a sound effect not unlike nails going down a blackboard. If you're really nice you do a LDA $C010 to check the keyboard strobe and return if a key's been pressed... (or was the strobe $c025)

    10. Re:Yes, you are not 100% correct. by throx · · Score: 2

      What is this mythical compiler of which you speak?
      Both MSVC7 and Intel's VTune are both very good compilers for x86. gcc has and probably will always be a dog. Sun, HP and IBM all make optimising compilers for their architectures as well.

      The only dogma I see is the myth that humans coding in assembly are automatically going to know everything about the chips pipelines and register reservations.

      As for "hundreds of dollars", don't make me laugh. Show me one software company that can't afford a few hundred dollars on a compiler that they could save on the chairs.

      --

      Fear: When you see B8 00 4C CD 21 and know what it means

    11. Re:Yes, you are not 100% correct. by throx · · Score: 2

      Umm... learn to read before you flame.

      I never said *I* had a couple of years experience, I said that the original poster should wait for a couple of years experience outside school (which makes it more than a degree).

      Now if you'll take your head out of your butt, you may be actually able to write some sense instead of spouting unfounded derision.

      Writing an OS in assembly is kinda "cool", but completely useless. In fact, why didn't he forget assembly and code it all in hex - that would be more than "cool". Personally I write code to get the job done as best I can for the client and writing in pure assembly is almost never the correct answer - especially not for an OS.

      ...and no, they don't call me Einstein. They use my real name. I'm sure they call you things too, but they aren't really worth repeating. :-P

      --

      Fear: When you see B8 00 4C CD 21 and know what it means

  35. Can we move on to the next level please? by garoush · · Score: 2

    I don't mean to be a "flamer" but, please let us think about this in a broader perspective.

    Lately I have been seeing a lot of OS announcements (as may posters pointed out before me) everything from BeOS, to FreeDOS and Linux, et. al. -- and all of those OSs seem to be centered around taking on Windows of the evil M$.

    If that is the intention, may I suggest that the OS war is over and that M$ is the clear winner and that any continues battle on this ground is just a step backward.

    Lets face it, in few more years, we will care less about the OS and wary more about the user interaction and front-end applications. Even Linus Torvalds realizes this as his new focuse for Linux is now on: Making Linux usable tops Torvalds' list

    --

    Karma stuck at 50? Add 2-5 inches.. err.. 2-5x Karmas Count to your pen1es.. err.. Karma all naturally and private
    1. Re:Can we move on to the next level please? by dangermouse · · Score: 2

      Um, I think you can probably divide new OSes into two categories:

      Commercial, which obviously have to compete with Microsoft whether they like it or not.

      Non-commercial, which don't generally seemed to be targeted at Microsoft at all.

      This guy's OS fits into the "because it'd be cool" subcategory of "non-commercial".

      You've got a good career ahead of you as a pundit, though. That much is glaringly clear.

    2. Re:Can we move on to the next level please? by dead_penguin · · Score: 2

      Your post seems to indicate that you believe that there is an OS "war" going on, with separate camps struggeling for world (or at least computer) domination. While I think this is true (to an extent) for commercial systems that compete directly with one another, I think it's pretty silly to generalize it to Linux, other Open Source OSs, and niche systems.

      Systems basically appear randomly when someone's pet project becomes stable enough to appear on the /. radar, or when a company tries something new, thinking they've found a new niche market to make some money in. If they are crap (many are), they will just go away after a period of time. If they do what they were designed for well (assuming there was some form of design involved), they fill their niche. A select few grow in strength, and as their popularity and abilities grow, their "population" increases.

      The analogy I'm trying to draw is one with evolution (as you may have guessed). Random mutations create new organisms. Most mutations are detrimental, and the organism dies (or never makes it past the embryo stage). Others confer some form of advantage, and presto, you have a platypus. Of course whether the penguin is an animal with just a small niche or the potential to become the dominant species remains to be seen!

      My point is, though, that just like in evolution, there is no predestined goal of "domination", or a conscious quest for survival. The best we can do is introduce some new mutations and do a little bit of genetic engineering on our favourite uh... OS, and hope for the best.

      --

      It's only software!
    3. Re:Can we move on to the next level please? by Anonymous Coward · · Score: 0

      You could not be more wrong. If this thing catches on you will see it deployed all over the world, at first by people that have very limited resouces, and later as a "status symbol" very much like linux is today. Being hardware resource-easy it could make signifigant inroads into the education system in this country. Not everybody has even $400 for a new pc. This sounds like it would run on 386 and 486 machines. Hey, I've got a 486 on my desktop right now...

  36. As many as there are hackers for... by Midnight+Ryder · · Score: 2

    Firstly I've got to say congratz for knocking this one out. But to be honest how many more Operating Systems do we need?


    It's not really a matter of need, as in how many Operating Systems do we need to try and push on people's desktops. Instead, it becomes a matter of people trying different methods of OS Development and different design philosophies. Think about it for a minute - if only 4 or 5 groups created all Operating Systems that are out there, it would be unlikely that new ideas in OS development would be fully explored.


    You might want to look around and check out all the Operating Systems there are out there that researchers and hobbiests (sometimes there doesn't seem to be THAT much of a jump between the two ;-) have spent tons of time on. Sometimes they are developed just to 'scratch an itch', sometimes they are developed to see an idea all the way to completion to see how well it works out.


    Don't knock these guys for trying to develop a new OS - sometime or another the ideas they come up with may end up in Linux, *BSD, etc. (Of course, in the interest of full disclosure, I work with an alternative OS project that somewhat died, and just got resurected this week. ;-)

    --

    Davis Ray Sickmon, Jr - looking for something to read? Check out my three free novels at MidnightRyder.org

  37. Assembly? Hah! by Strepsil · · Score: 2, Funny

    I'll stick with Penix, thanks.

    The Penix system uses interpreted BASIC for "Ease of Modification". Good move in my book. BASIC programmers are plentiful.

    1. Re:Assembly? Hah! by zangdesign · · Score: 1

      OK. That was funny. If I knew how to mod you up, I would. But I can't. Sorry.

      --
      To celebrate the occasion of my 1000th post, I will post no more forever on Slashdot. Goodbye.
    2. Re:Assembly? Hah! by Anonymous Coward · · Score: 0

      arf!
      Thanks for the link and the laugh :)))

  38. Who is "we"? Who cares about what Linus says? by Anonymous Coward · · Score: 0

    This is done for fun. Lighten up, man.

  39. Imagine ... by os2fan · · Score: 1
    This could be a neat bootloader come installer for larger operating systems. You would not be restricted by hardware limitations etc.

    And if it's done right, it could even protect the system from being damaged.

    Just a thought.

    --
    OS/2 - because choice is a terrible thing to waste.
    1. Re:Imagine ... by Anonymous Coward · · Score: 0
      You would not be restricted by hardware limitations etc.

      Except for having an x86 CPU, eh? And we're currently at the start of everything finally moving away from hardware support for x86 microcode.

    2. Re:Imagine ... by Anonymous Coward · · Score: 0

      Why are you installing come?

  40. 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?
  41. My God......it's full of stars... by cvanaver · · Score: 2, Funny

    I just upgraded my entire company to this OS and we are blazing ahead into the early 90's. Some of my 'less-educated' users are complaining about the lack of support for StarOffice but I'm assuring them that it will come with time. In the meantime I'm working on a Lynx port. I never knew I could get 10% (!!!) improvement on my existing Pentium II 1 Ghz machines!

    1. Re:My God......it's full of stars... by Anonymous Coward · · Score: 0

      Pentium III 1 Ghz you window licker!

    2. Re:My God......it's full of stars... by Anonymous Coward · · Score: 0

      You will be blown away by the 3% speed increase in StarOffice when it is ported to x86 assembler. If we can just recruit geeks to commit the next two years of their lives to such a worthy OpenSource cause!

  42. LLL vs HLL, Menuet vs World by Innominandum · · Score: 2, Insightful

    MenuetOS has been floating around for a while now. I briefly looked at the website a while ago, it looks tres cool, but I don't know much about it. Even without knowing the details, I can say that for a hobby project, this is a staggering accomplishment. As well, there other operating systems in development that are 100% ASM, Unununium comes to mind. http://uuu.sourceforge.net/

    The fact that the operating system was made in ASM is bringing up the low-level language versus high-level language war. I will admit that Linux and MenuetOS aren't really comparable. But ignoring differences, the end result: MenuetOS makes Linux look MEGA bloated, slow, and laughable. You guys should be taking 2nd, 3rd, and 4th looks at QNX RTP, BeOS, and AtheOS. This should serve as a big kick in the ass for you all Linux-fans. It's really nothing "that great." Sure it's free, but you sacrificed quality.

    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. But this is almost never the case. Plus, there is also the inherent "beauty" of well-designed ASM code that most high level languages will never reproduce.

    Anyway, I could go on forever. If you want to address anything I said, I am ready prepared for retaliation. :)

    1. Re:LLL vs HLL, Menuet vs World by Steeltoe · · Score: 1

      Having written 100% ASM source myself of a game that never got finished, but with a large library, I agree with you fully in two parts:

      1) Yes, handcrafted ASM-code can really cut down on bloat. You can get full control over your hardware and create hacks that optimizes the code insanely.

      2) No, it's not worth it for almost any application today. Memory and harddrives are cheap commodities, developer-time is not. The x86-architecture have been going through some rough changes, rendering past assembly optimization obsolete, and current optimization amazingly complex and difficult (Pentium pipelines). Not to mention porting, and all the different "compatible" peripherals out there.

      The ultimate would be to produce a HLL-compiler that could automate the same operation. Sure it would compile slowly, but the end result could be fantastic compared to compiled-C. The HLL would need to be higher level than C/C++/Java though, since you would need to define alot of the same that's going on in a programmers mind. The optimizer would need to fully "understand" the underlying architecture, and consider many more unintuitive options of doing the same thing, that when combined could increase speed.

      - Steeltoe

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

    3. Re:LLL vs HLL, Menuet vs World by Anonymous Coward · · Score: 0

      And YOu Sir is why All the Hard Drive Makers and Component makers are Rejoicing, Bet you like the idea of Windows XP requiring faster and better hardware?

    4. Re:LLL vs HLL, Menuet vs World by Steeltoe · · Score: 1

      Nobody is forcing you to use Windows. Use your own 100% asm-OS of choice if you like, but don't come here and tell /. what is more economically feasible. And general economics is governing everything, even open source.

      - Steeltoe

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

    2. Re:Thinking of uses for this... by rhavyn · · Score: 2

      How bad can companies feel about releasing the source for a 100% asm OS? I mean, even if it was binary only, I could run a disassembler and get back their source anways. =)

    3. Re:Thinking of uses for this... by WickedLittleSlaveBoy · · Score: 1

      yes, but you wouldn't be allowed to legally do anything with the source you extracted....you would also need to have the equipment to get to the code....

      if you have the equipment to get the code from a ROM, then yes it would be no problem...

  44. Re:Assembler? Bah! by Waffle+Iron · · Score: 2, Funny
    Why is this modded as funny?! I know I'm being a jerk, but those binary strings don't translate to anything in ascii.

    Of course it doesn't translate to ASCII. Alan Turing died in 1954 and ASCII was created in 1963.

    The joke is probably a Turing machine tape anyway. We don't know how to interpret the symbols without the state machine specification to give it context. Many jokes are not funny out of context.

  45. Re:Assembler? Bah! by Sagarian · · Score: 1

    I wish I were this clever. Unfortunately I was limited by slashcode's interpretation of 10010101... as a post entirely in CAPS (even the ascii was not in caps, har har), which forbids its posting. Many criticisms also make no sense when made without proper context.

  46. Re:Assembler? Bah! by Com2Kid · · Score: 1

    ASCII? Hah, your obviously not old enough! Try EBCDIC, and if that don't work try FIELDATA.

    Work hard young one! ;)

  47. Re:Not only is ASM not "portable" to other CPUs... by IronChef · · Score: 2

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

    But if you ARE trying to impress girls, WOW, I can't think of a better -- oh, wait. Nevermind. Someone already found a better way, a webserver coded in PostScript.

  48. You are not 100% correct either. by Innominandum · · Score: 1

    You are far from 100% correct too, but I will forgive you because your post wasn't nearly as condescending as his. :)

    Yes, there are more "failure modes" in a low level language than a high level language, but that is a simple trade-off for more control.

    As with any language, if you know what you are doing, you are less likely to make errors. If you have a high degree of control, it does not necessarily mean you will make proportionately more errors if you know what you are doing.

    To be honest, I find it easier to debug an ASM program. You write the code, you know what precisely what is going on. And the capability of C compilers compared to ASM programmers is over-exaggerated. I have seen well-written C code approach novice written ASM code. C compilers can (depending on the programmer) generate some really impressive, logical, clean code - but not usually something that can compete with an ASM programmer.

    1. Re:You are not 100% correct either. by throx · · Score: 3, Insightful

      If you have a high degree of control, it does not necessarily mean you will make proportionately more errors if you know what you are doing.

      Knowing what you are doing is actually most of the problem with assembly coding. Remembering where on the stack you threw things, figuring out calling conventions, string handling, collection classes and other icky stuff that if you have a decent C++ compiler with a nice STL library you are going to be far more efficient. I admit there are plenty of times I drop down from C++ into assembly for debugging of a program, but very rarely to actually write code (why isn't there a 'bitwise rotate' operation in C?).

      To be honest, I find it easier to debug an ASM program.
      How complex a program are we talking here? I'm used to working on projects that are in excess of 100,000 lines of C++ code. That easily translates to well over a million lines of assembly and probably closer to ten million once template expansion has taken place. I defy anyone to take a non-trivial program and say that the ASM code is easier to debug than the C code - of course using an IDE which allows you to view variables, stack traces, commented assembly and edit and resume the program on the fly helps a lot.

      You write the code, you know what precisely what is going on.
      I debate that of any programmer - especially in assembly. The limited syntax and complete lack of any high level data structures make it a nightmare in the end.

      C compilers can (depending on the programmer) generate some really impressive, logical, clean code - but not usually something that can compete with an ASM programmer.
      Ah, but the point is that fast assembly code is neither logical nor clean. You deliberately move loads up the instruction stack, precompute results that you may not use for many cycles, drop stores in (for zeroing memory) now and again when you have a pipe free and do it all differently depending on your target architecture (P5, P6, K7, P4 etc.) If you have a chance, look at the output of Intel's VTune compiler at some stange with all the optimizations turned on - you'll find the assembly unintelligible but faster than you thought possible.

      Just curious - are you talking strictly x86 here or do you believe that this is valid across all CPU architectures? Have you any real plans to try to write faster code than a compiler can on IA64 - if so, I'd be interested on hearing your strategies.

      --

      Fear: When you see B8 00 4C CD 21 and know what it means

  49. Depends on your definition of "quality" by A+nonymous+Coward · · Score: 2

    If your definition means extremely well optimized at the expense of long dev time and completely unportable, so be it.

    Indy cars have exceptional quality for that particular track; aren't they even optimized for left hand turns? But most people would choose to own a well done street car.

    The parallels in dev time and portability say enough.

  50. GEOS under a new name - NewDeal by Midnight+Ryder · · Score: 2

    Actually, GEOS was *purchased* by a zealous group of GEOS users and renamed to NewDeal... www.newdealinc.com


    Well, I tried to download the demo, and they aparently are having some MS-SQL problems. Ya know, I'm going to have to play with this a bit - I always liked GEOS the first time around. NewDeal may be worth a look. Unluckly, that's probably all it's going to be worth. :-( I can't exactly see there being much support for it, application wise.


    But, you HAVE to love the requirements for running it:


    • 286 CPU or faster (386 recommended)
    • CGA Display (SVGA with VESA compatible 256 color capability or recommended for Web access)
    • 640KB RAM (2-4 megabytes recommended for optimum performance)
    • 9 Megabytes free HD space
    --

    Davis Ray Sickmon, Jr - looking for something to read? Check out my three free novels at MidnightRyder.org

  51. 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 Anonymous Coward · · Score: 0

      how so? people were writing operating systems in assembler in the 1950s and 1960s just fine. when the machine came without an OS, you had to write your onw if you wanted one. lots of people did.

      but we've progressed beyond that. there's nothing new to be learned by simply writing the thing without a high level language. it doesn't make anything possible that was impossible without that.

      furthermore, with some of the newer architectures, chances are unlikely that you can write better code than the compiler can. go google for "compiler-oriented architecture" and "VLIW" for examples. so it's just increasingly a waste of time.

      go do your taxes with an abacus next year, or something...

    2. Re:On asm vs "proper" programming by krogoth · · Score: 1

      I agree with this - someone created a small OS as a personal project (which seems to be popular these days) and decides to distribute it, and everyone thinks he's committed a crime. If I was learning C again and I distributed a simple program to a few friends, should they come over and beat me because it's not complex enough and not a necessary program? (btw, the answer is no :)

      --

      They that quote Benjamin Franklin on liberty and safety deserve neither.
    3. 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.

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

    5. Re:On asm vs "proper" programming by srvivn21 · · Score: 2

      I know where you are coming from, but it's a bigger issue than just "2+2 on a calculator"... Can you make shelter in the forest without tools? Hunt your own game, again with nothing but what you find? Identify poisonous flora verses ones that are safe to eat, much less nutritious?

      As technology progresses we focus more on the higher levels of what is capable, versus the lower levels of survival training. Yes it's possible to live off the land, just as it's possible to write programs (even a whole OS) in asm.

      Personally, I'll stick to visiting the supermarket for food, and C, perl, PHP, etc for programming.

    6. Re:On asm vs "proper" programming by frank_adrian314159 · · Score: 1
      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.


      I've yet to meet a C coder who can write as much as fast as a Lisp coder! I guess that C programmers use it to make themselves feel special (that sounds derogatory, but it's not).


      Sometimes I actually wonder if the high-tech community is actually a social science experiment to see how tightly clueless people can be integrated with a society.

      --
      That is all.
    7. Re:On asm vs "proper" programming by Alan · · Score: 1

      I agree, but it's still a great feat to be able to do that (write an OS in asm ) :)

    8. Re:On asm vs "proper" programming by srvivn21 · · Score: 1

      I certainly didn't mean to sound as if I was claiming that this was a "no brainer". Quite the opposite. I am impressed as hell.

      I'm also impressed with those who have the skills and knowledge needed to survive without the economic infrastructure that I take for granted. =o)

  52. Maybe for the embedded / handheld market? by MadCow42 · · Score: 3, Insightful

    Sure, there's a plethora of other OS choices these days, but a small, efficient, graphically based OS would lend itself very nicely to the embedded / handheld market.

    Sure Linux is cool, but once you slap X on top of it, it's not nearly as efficient on slow machines.

    Who knows... you could have a Menuet based PDA or phone next year.

    MadCow

    --
    I used to have a sig, but I set it free and it never came back.
    1. Re:Maybe for the embedded / handheld market? by danielhsu · · Score: 1

      Who knows... you could have a Menuet based PDA or phone next year.

      x86 assembly... that's one helluva porting job. do you really think they could be out next year?

    2. Re:Maybe for the embedded / handheld market? by MadCow42 · · Score: 1

      >> x86 assembly... that's one helluva porting job. do you really think they could be out next year?


      Ok, so maybe it would be easier to build an x86 based phone... q:]

      In reality though, a lot of embedded systems use x86 compatible processors (no phones I know of though). I know of several using tiny 486 systems in our company alone.

      MadCow.

      --
      I used to have a sig, but I set it free and it never came back.
  53. So much for... by Anonymous Coward · · Score: 0

    Lunix. Let's go home boys.

  54. Dude, is it just me? by mackman · · Score: 2

    Or does the link go to an almost-blank page with only a single banner ad flashing at the top? What gives?

    1. Re:Dude, is it just me? by Anonymous Coward · · Score: 0

      No, it's anyone using Netscrape. Moron forgot to close one of his frameset tags, so NS chokes. Just look at the page source to find the appropriate frame pages.

  55. RC5 would haul ass by micsaund · · Score: 1

    I'm a big complainer about how fast our CPU's have gotten these days, yet I cannot word process any faster than on my 1MHz Commodore 64 -- there are just a ton of extra features that I never use. Don't forget the benchmark that someone did (Ars Technica IIRC) that showed WinblozeXP/OfficeXP would require 33% more cpu to remain at the same performance level as Win2K/Office2K.

    Were you planning on dropping wads of cash on the latest and greatest CPU/system only to see it run only as fast as your old system?

    Anyway, imagine if someone would write a full-blown assembly version of the Dnet client for this OS -- I'll bet that keyrates would just be obscene compared to Windows/Linux/etc. Of course, this OS is probably still missing the essential networking code, but it's still fun to imagine...

    --
    Pinball, arcade video, tech and more: www.micsaund.com
    1. Re:RC5 would haul ass by dead_penguin · · Score: 2

      Why would a dnet client written in asm for this OS be substantially faster than one written in asm for another (non asm) OS? The only speedup would be in calls made to OS functions, and a program that's highly computationally bound isn't going to be making to many of those.

      If you want your dnet client to run at its absolute possible fastest, you're best off doing away with the whole OS business in its entirety. A non-multitasking environment such as good ol' DOS would probably be best for that.

      --

      It's only software!
  56. I hate squeak by Anonymous Coward · · Score: 0

    everyone says, "It's most bestest around!" I try it, I sit around and wait for it to do stuff, I dislike the interface. It sucks. I don't recommend.

    Go ahead and try though, just don't expect it to be the "most bestest!"

  57. I can't wait... by NoMoreNicksLeft · · Score: 0

    Until he writes the 64bit 3D gui OS in pure binary (hex is for wimps) machine code. And it fits on a audio cassette tape, to boot.

    Congrats to the guy though, this sounds incredibly cool.

  58. Hey, here is an idea! by Com2Kid · · Score: 1

    What about some company or another making some 486 CPUs with the latest .13micron technology, and making a highly integrated motherboard with 8 or so megs of ram on it plus another 4 or so megs of static ram for application storage purposes and calling it one kick ass integrated computer?

    Thanks to using yee old technology along with the latest state of the art manufacturing proccesses, the entire system would be insanly small. Since the motherboard wouldn't have to control alot of various devices (IDE interface, more then just a few megs or am, ISA/PCI/AGP ports, etc) your overall system profile would be very tiny. Whats more, once a proper C compiler was made for the system, alot of older code could be ported over to it. Heck, alot of companies have some nifty old games back from the DOS days that totaly rock and are very small in size. Heck, I even still today play an old CGA volly ball game.

    Of course it isn't going to happen, but it'd still be cool if it did, heh.

    1. Re:Hey, here is an idea! by bonzoesc · · Score: 2

      Hell, make it 20 megs of static ram, VGA video, and a 320x240 screen, and you have pocket Doom. And it's the real one, not a bastardized GBA/SNES version.

    2. Re:Hey, here is an idea! by dead_penguin · · Score: 1

      What about some company or another making some 486 CPUs with the latest .13micron technology, and making a highly integrated motherboard with 8 or so megs of ram on it plus another 4 or so megs of static ram for application storage purposes and calling it one kick ass integrated computer?

      Substitute an architecturally more modern CPU for "486" in that, add a touch LCD screen, and you've got a PDA. It's been done, and probably been done better than it would be using a 486.

      --

      It's only software!
    3. Re:Hey, here is an idea! by Com2Kid · · Score: 1

      The idea is to get not only some backwards compatibility, but to also make it dirt cheap. Of course the most expensive part of most PDAs these days is the touch screen itself, ah, I cannot wait until somebody finds a more efficent method of working with computers then Keyboards, Mice, and those damnable Pens. . . . ^_^

  59. It's unnecessary in most cases by Anonymous Coward · · Score: 0

    ASM is unnecessary in most cases, so it all depends on what the goals of the project are. I think you could make a really good thin client out of it for example, but not a full desktop OS. Making a neet little internet appliance or something like that, would be good. In fact, a company did just that. I remember seeing it one time. This co. made everything in x86 ASM, and they had an OS, web browser, office suite (for reals!) and all that jazz for older x86 computers (pre i386 I believe). There is an example of a good use of ASM, and that is the type of thing MenuetOS could do, and it would be all worthwhile.

  60. Web browser by Ranx · · Score: 1
    Ok, who will write the web browser?


    Ofcourse 100% CSS-compliant and written in assembly.


    Anyone?


    Please?

    --

    Me
  61. mod up! by Anonymous Coward · · Score: 0

    mod parent up please

  62. Lynx BLOWS!!! by Anonymous Coward · · Score: 0

    Use w3m. It's in the FreeBSD ports collection. A rocking text browser that I actually often prefer to Netscape since it doesn't crash.

    Frames, tables, ssl, it's all there in w3m, in text! And, it will call XV to load at image on command.

    1. Re:Lynx BLOWS!!! by WickedLittleSlaveBoy · · Score: 1

      if you want a graphical SVGA-Lib browser for Linux, have a look at Arachne. the interface is awful and it's a little buggy, but browsing without X11 is nice:

      http://www.arachne.cz/

  63. Which is why we have the BSD license . . . by Anonymous Coward · · Score: 0

    That way, it allows *everyone* to advance the code. And the newer BSD license don't have that dreaded advertising clause. Rock!

  64. It might do well in the palmtop market by Anonymous Coward · · Score: 0

    Really, because all you need is some good desktop-connection software and all palmtops are basically the same, its an OS free-for-all. And those iPaqs with QNX look damn sweet.

  65. Re:Isn't assembly trivial to get from a binary any by Anonymous Coward · · Score: 0

    Nah, the variable names and the comments are what is important in assembly. But I guess I'm talking to someone who know as much about assembly programming as I know about greek literature.

  66. An OS from Finland? by robinjo · · Score: 4, Funny

    An OS from Finland? Does this come from the frozen small hellhole next to North Pole? Do they even have electricity there? World domination? Yeah right. Won't happen in a million years!

    ...said people 10 years ago and went on with their life. Boy, were they wrong.

    Never underestimate an OS that comes from Finland.

    1. Re:An OS from Finland? by Anonymous Coward · · Score: 0

      ...or a cell phone. By-Bye Motorolla!

    2. Re:An OS from Finland? by Anonymous Coward · · Score: 0
      An OS from Finland? Does this come from the frozen small hellhole next to North Pole? Do they even have electricity there? World domination? Yeah right. Won't happen in a million years!
      ...said people 10 years ago and went on with their life. Boy, were they wrong.

      As far as I can tell, Windows is still the most successful OS out there. All that Linux has produced so far is a bunch of market failures. It's not world domination, desktop domination, market domination, or even server domination (just ask Netcraft).

      -sting3r
      (posting anonymously to preserve my precious karma)

  67. Sounds like a hoax by Anonymous Coward · · Score: 0
    I have my doubts that something this extensive could exist written by one person in a reasonable amount of time. Perhaps he "cheats" by using the system BIOS? Just a guess.

    Of course who knows? Maybe the guy is some mad obsessive genius. But from my experience with mad geniuses, they are great that the 10% inspiration part, but not so hot on the 90% perspiration part.

  68. Fuck off by Anonymous Coward · · Score: 0

    Get an account, post some comments, get some karma and then you get some mod points.

    While you're at it, get a god damned life, willya?

  69. any luck with bochs? by Anonymous Coward · · Score: 0

    i just tried running this with a (very) old version of bochs (991012) and crash after the booter loads the floppy. anyone have any luck running it in bochs?

  70. Then try this... by Pathwalker · · Score: 2

    If you don't like squeak, try Visualworks. It's a very nice commercial smalltalk that I worked with extensively when I was in grad school.
    I've linked to the downloadable non-commercial-development version.

    Smalltalk is very addictive once you start using it. I love the flexability that multiple polymorphism (selecting a method based on the name, and the types of all of the arguments, rather than on just the name, and maybe the first argument) offers, as well as the convience of being able to work on the same image from whatever platform (sun, windows, mac) that I happened to have access to.

  71. Re:Isn't assembly trivial to get from a binary any by Spy+Hunter · · Score: 3, Informative

    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?" `":" #");}
  72. Re:Assembler? Bah! by The_Messenger · · Score: 1

    Or, if you're really hardcore, DAEHTIHS.

    --

    --
    I like to watch.

  73. Re:Isn't assembly trivial to get from a binary any by krogoth · · Score: 1

    In this case, the form prefered by the author. Trying to force someone to use a programming language is not likely to happen any time in a free software license. This post should NOT be at 3.

    --

    They that quote Benjamin Franklin on liberty and safety deserve neither.
  74. but will it run.... by pressman · · Score: 1

    Photoshop? (or the GIMP for you free software types) If not... well, who really cares except from a techincal perspective?


    Not too bag, but if Intel isn't a monopoly as much as M$, I can't think of another.

    --
    Pooty tweet
  75. Can it run a webserver? by jsse · · Score: 1

    I can't open the page with a browser(/. effect?), but the following result speaks for itself:

    $ telnet www.menuetos.org 80
    Trying 213.188.129.77...

    Connected to web-is-s007.activeisp.com.
    Escape character is '^]'.

    HTTP/1.1 400 Bad Request
    Server: Microsoft-IIS/5.0
    Date: Thu, 06 Sep 2001 06:07:47 GMT
    Content-Type: text/html
    Content-Length: 87

    May be in the later stage of development when we've two floppies version....

    1. Re:Can it run a webserver? by kubrick · · Score: 1

      $ telnet www.menuetos.org 80
      ...
      Connected to web-is-s007.activeisp.com.
      ...
      Server: Microsoft-IIS/5.0


      Maybe he just hasn't been able to convince his ISP to run it on their web hosting servers? It's not enough to write an OS entirely in assembly, he also needs to have it hosting the website for the project?

      Bear in mind he could easily have spoofed that header to read Apache/Menuet if he'd wanted to, and if he owns the box that the site is hosted on, which I doubt, based on the server line above.

      --
      deus does not exist but if he does
  76. Re:Assembler? Bah! by Anonymous Coward · · Score: 0

    They are not binary strings, they are the states of an infinite length state machine (aka a Turing machine). The joke describes the Pope, Fidel Castro, and Bill Clinton in a life boat with only one life jacket ... it is hilarious.

  77. driver support by BlueJay465 · · Score: 1

    Hell, until it can support my video card, I will not be impressed.

  78. 1GB Ram costs about $200 by Anonymous Coward · · Score: 0

    ok, when I can buy a GIGABYTE of RAM for under 200 dollars, am I worried about something written in x86 assembler? wtf does it matter if it fits on a floppy?

    i have a new name for it: BS-OS

    1. Re:1GB Ram costs about $200 by Anonymous Coward · · Score: 0

      actually, you can buy a gig for about $60

  79. Diskette Drive Classical Music - Assembly! by BigBlockMopar · · Score: 2

    An operating system in assembler? Bah! Such high level languages are tools for the weak, macros be damned!

    Heh. Interesting perspective. I suppose all the nasty compatibility issues imposed by assemblers are all but erased, are they?

    Never mind the debugging you'll have to spend with machine language. Assembly has its own issues, of course - mistyped register numbers, wrong hardware addresses, then the usual programming errors you get in any other language. But with machine language, you have to count your zeros and ones very carefully... of course, you'll eschew the bourgeois luxury of hexadecimal, won't you?

    :)

    I love Assembly. Back in high school, I was ordered to write a program that made a computer play music. Everyone else wrote little Pascal and structured BASIC programs to play Chopsticks on the school's Macs 512s.

    I wrote a TMS9900 Assembly program which played Flight of the Bumblebees in three-part harmony with the stepper motors of my TI-99/4A's three 5.25" full-height SSSD diskette drives. Percussion was achieved by toggling the head pad solenoids.

    My Computer Studies teacher didn't like it because he couldn't understand it to critique it. But he gave me an A+ anyway, probably because the source code was about 30 pages long.

    Ahhh... High school.

    While I haven't programmed in Assembly in about ten years, you can check out my resume here, since I'm looking for work!

    --
    Fire and Meat. Yummy.
  80. Don't Forget Steve... by dbCooper0 · · Score: 2, Insightful

    What about the (IMHO) famous programmer Steve Gibson, author of Spinrite (sorry /.ers, may be before your time) who writes all his stuff in assembler? His utilities and more would easily be fit onto a floppy disk - even though some use the Windows API (AFAIK). This dude is a guru to anyone using and appreciating the x86 platform! When MFM hard drives were all we had, he provided us a way to keep them working well beyond the MTBF the manufacturers had planned (or promised). A purist beyond belief - and a blowhard in rhetoric, (if you check out his website), yet, a genius in assembler (we're not worthy!)(sorry; tried for a link and was overwhelmed)

    Can you say "change my interleave without FDISK first?"

    This guy rules! Don't forget him! He's at least as important as Peter Norton. Maybe more...

    --
    db
    Cig:
    ôô
    /`
    1. Re:Don't Forget Steve... by dbCooper0 · · Score: 1

      Maybe I'm wrong about fdisk - haven't used it in awhile...or for that matter, interleave...just spinrite when it was necessary.

      --
      db
      Cig:
      ôô
      /`
    2. Re:Don't Forget Steve... by SuiteSisterMary · · Score: 2

      Read and learn. Then explore the rest of the site.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    3. Re:Don't Forget Steve... by dbCooper0 · · Score: 1

      Thanks for the link - a good read, although I didn't have time to check out all the rants. Yes, Steve is an opportunist. Yes, he is a sensationalist, and tends to inflate both near-truth and consequences for his own gain.

      I've always taken the information provided on grc.com with a shaker of salt. But for whatever it's worth, spinrite saved my ass as well as my clients' asses enough times to be a worthwhile product (in its time).

      It was also great to transplant a ST-225 or 251 into a box as it was being upgraded from 8088 to 80286 or 386 and change the interleave without backing up to dozens of floppies. And then to watch WordPerfect 4.2 load in 2 seconds instead of 20.....

      Maybe I'm just in awe of assembler programmers, since all I ever accomplished was a little ditty on an Atari 130xe (6502) that dumped 64k of samples into its high memory via midi and displayed a graph. Took me days.

      --
      db
      Cig:
      ôô
      /`
  81. Let the visual tools do the work for you.. by zeratul_tm · · Score: 1

    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.

    Unfortunately, today's trend is just letting the compilers do the work for you. I'm not saying that C development tools are not good (sometimes they really surprise me) but blaming a guy for making an entire OS in assembler is a stupid thing to do. You're calling this guy an amateur but think of all the dudes that are dragging items with the mouse saying that they are programming..

    Learning assembler leads to a better understanding of the programs that one is making, but the visual programmers too often forget about this. We reached the point where we consider that the MHz race is going to save our products but why today's Java programs are running slower on a P4 than a (let's say) C one on a 486?

    --
    This sentence marks the end of the text.
  82. Add a browser by scpotter · · Score: 1

    If this had a web browser, I could see very practical applications for providing on site tech support to single PCs that won't boot. An OS on a floppy that allows me do download whatever foo I needed for a full system install (which were of course provided but promptly lost) and dumping them to the HDD would rock.

    1. Re:Add a browser by Anonymous Coward · · Score: 0

      Is a web browser part of an OS? I'm sure M$ would say so. But do you need a browser to operate your computer?

      To me, this is a pretty neat project. It's just too bad it doesn't have a browser included for YOUR convenient. And who says it HAS to be written in asm, too? Who knows, maybe somebody with skill with come up with a C/C++ compiler (or JAVA VM for all i care) for this OS someday.

      Peace!

    2. Re:Add a browser by billmaly · · Score: 0

      I must concur. As it stands, it's a neat piece of code, and bravo for doing it all in assembler. But really, what is this good for? I can edit some text docs, play Tetris, play CD's, etc. Can I get online? Use it as a very simple email terminal? Read the news headlines? No. Throw in a simple browser and some network support, then you have a valuable product!!

    3. Re:Add a browser by Anonymous Coward · · Score: 0

      Buy a zip drive.
      250 MB should be plenty for an OS capable of running TCP/IP and a browser, so your only problem would be getting the BIOS to recognize the Zip disk as bootable.

    4. Re:Add a browser by Anonymous Coward · · Score: 0

      no, add a browser, network card drivers/modem. cant forget filesystem support. so basically a linux bootable cd

  83. Why not a translating assembler? by Linux+Freak · · Score: 2

    Rather than write assembly code targetting for platform X, what do people think of taking a more portable approach and writing a translating assembler which uses basic assembly instructions (jump, load, mul, add, comp, etc.) but translates them into actual platform assembly code which can be turned into native machine code for all supported platforms? Where an instruction (say, 'div') isn't supported by a platform's microcode, it can be implemented using several simpler instructions.

    An approach like that should keep things at a low level allowing slim code and fast execution times, but not lock the end product onto a single platform.

    Does an assembly product like this already exist? I tried searching freshmeat, but gave up after browsing through several pages of disassemblers, regular assemblers, etc.

    1. Re:Why not a translating assembler? by Anonymous Coward · · Score: 0

      If you're coding in assembler you probably want one thing - efficient code. Otherwise you will probably be more productive coding in C. However, the variations in instruction sets, memory models, and registers would mean that a generic assembler wouldn't make the best use of resources on an individual CPU.

      Hence, except for a few projects where portability is a requirement, I would choose an assembler which matches my target CPU over a generic solution.

      Where portability is a requirement I would probably still write in C, then hand code small time critical portions. That way when I port to another host the amount of re-work is very small.

      Just my thoughts.

    2. Re:Why not a translating assembler? by Anonymous Coward · · Score: 0

      Yes. It is called the Java virtual machine.

    3. Re:Why not a translating assembler? by Craig+Davison · · Score: 1

      Moron. You just described C.

    4. Re:Why not a translating assembler? by Nurf · · Score: 1

      Yes, it has been done. It's called Intent, written by the Tao Group (www.tao-group.com), and inspired by a games programmer who got tired of porting assembler bits of atari and amiga games to other platforms.

      Incidentally, it's the base of the new Amiga runtime environment. It has a neat feature that you can supply native code for any particular CPU for any function and it will override the compiled version of that function with your code - a great way to get efficiency without compromising portability.

      --
      ---
    5. Re:Why not a translating assembler? by Linux+Freak · · Score: 1

      What? I'm interested in generic assembly at assembly-like speeds, not Java code at visual basic-like speeds.

    6. Re:Why not a translating assembler? by tricorn · · Score: 1

      Well, I've got a translator from Cyber binary code to Alpha assembly text; in principle, it could be extended to produce code for other architectures, although having a 64-bit architecture REALLY helps.

      Of course, I wouldn't recommend the Cyber as a generic machine architecture (although COMPASS is an awesome macro assembler). You can produce extremely efficient code, and it translates well to other architectures if they have enough registers, but the lack of a stack, self-modifying code, etc. is a bit of a hindrance.

  84. All assembly? You've got to be kidding by tgl · · Score: 1

    And the most important and notable feature? The whole OS was written in 100%, pure 32-bit x86 assembly code!

    Hello? Writing the whole of anything in assembler was obsolete when I was an undergrad, nigh thirty years ago. You write it in a high level language first, and perhaps then you recode a very few percent in assembler for speed. Over the vast mass of the code for any significant system, you cannot beat a decent HLL for readability, debuggability, modifiability, and speed. The HLL compiler writer has blown it badly if you can sustain the same level of tenseness for every routine as the compiler will exhibit every time. For well-studied languages such as C, there is just not any question that you will lose. (John Henry, meet the steam hammer.)

    This does not even begin to address the issue of portability. Hint: 32-bit Intel is not the universe; you've lost the interest of this reader already with that restriction.

    1. Re:All assembly? You've got to be kidding by Anonymous Coward · · Score: 0

      This is a free for-fun project, why not let him do whatever he likes to do?

    2. Re:All assembly? You've got to be kidding by CBravo · · Score: 1

      how wrong can you be... Didn't anyone tell you that all tools have different uses?

      --
      nosig today
    3. Re:All assembly? You've got to be kidding by Anonymous Coward · · Score: 0

      Give the guy a break. Maybe he just wanted to get as close to the bare metal as possible.

  85. Re:Assembler? Bah! by BrookHarty · · Score: 1

    Humm, only good good answer to the post above.

    100100010000010100000100011010101011001110100111 01 0110010100001

  86. Opps, the OS is misspelled. by BrookHarty · · Score: 1

    The correct name is GNU/MenuetOS.

    Sorry couldnt resist.

    1. Re:Opps, the OS is misspelled. by BrookHarty · · Score: 1

      Its a joke. Its written in asm! (Sheesh!)

  87. BLAZE ON d00dz! by Skuld-Chan · · Score: 1
    Amiga Programming Tips (humor)

    I seem to remember a lot of Amiga programmers were into asm. Oddly enough most of Amiga DOS was written in C.

    1. Re:BLAZE ON d00dz! by DGolden · · Score: 1

      AmigaDOS 0.x and 1.x were originally written in BCPL, the precursor to C. It was a quick port of "cambridge TriPOS", when the planned DOS, CAOS, wasn't finished in time (which is a shame, because it would have given the Amiga a more UNIX-like filesystem, and proper resource tracking, and it had a cool name). The rest of the OS was C and assembler for time-critical parts.

      That's where all the BPTR wierdness originated when you programmed to dos.library in C.

      AmigaDOS 2.x and above were re-written in C and hand-optimized assembler.

      Assembly programming on the Amiga was more popular than on the PC, not only because of the performance benefits, but because the M68k is a much nicer and better-designed architecture than the x86 at the time- you don't have to fight insane register starving, and you can use easily use any address register as a stack pointer, since they can all be auto-decremented, and doing matrices/arrays is easier, thanks to various nice indexed addressing modes. There's very little of the "only put operands for this instrcution in this register" nonsense - the only distinctions are data, floating point, and address registers, and address registers allowed lots of arithmetic anyway. Thus, M68k asm is a lot easier than x86 - generally when people say "asm is really difficult", it's because they learnt x86 first. (By the way, the PowerPC, with a decent macro assembler, is even nicer to program in assembly than M68k)

      The amiga also had a sweet set of standard asm system includes, that made programming in asm pretty much like programming in C anyway - i.e. it had structs and such, which were all autogenerated from the .h in .i files that were the asm analogue of the .h files.

      Since amiga dynamic libraries had a really simple and logical structure, it was possible to easily define calls to all library functions as macro preprocessor constants too - so opening a window in assembly was "CALLGFX OpenWindow", for example. (It was also possible, and comonplace to "theme" the UI by patching grpahics.library on a per-function basis at run-time - the "SetPatch" command in your S:startup-sequence fixed bugs in the core system libraries in the same way)

      --
      Choice of masters is not freedom.
  88. Re:Assembler? Bah! by stud9920 · · Score: 1
    They are not binary strings, they are the states of an infinite length state machine (aka a Turing machine). The joke describes the Pope, Fidel Castro, and Bill Clinton in a life boat with only one life jacket ... it is hilarious.
    And how did Turing, who died in 1954, know the eight year old Bill Clinton, and Fidel Castro who only took power in 1959 ?

    Oh yes, I forgot he was a visionary !
  89. Not quite correct... by sheldon · · Score: 2

    I'm fairly confident GEOS came out after the Macintosh. The Mac was released in January of 1984, or at least that's when the Superbowl ad ran. I first saw one at a computer show in the spring of that year.

    1984 was a pretty important year for Commodore, as it was when the C-64 dominated sales.

    I'm fairly certain GEOS was released towards the end of 1984. I remember first seeing it in around that time frame, and I was fairly in tuned with the Commodore scene at the time. (founded local Commodore user group and was friends with a number of magazine authors, etc.)

    This history of the GUI sounds about right:
    http://pla-netx.com/linebackn/guis/guitimeline.h tm l

    It talks about GEOS being released in 1985. I think it was early 1985, just before the Amiga launch. It was a pretty big thing at the time.

    The Casio Z-7000 was most certainly not the first PDA. First of all the Newton was released before the Zoomer. The term PDA was coined by Apple.

    But there were many small handheld computers dating back many years prior to this. Radio Shack, Sharp etc. had handhelds back in '81. The PC-2, etc.

    Granted they didn't keep your schedule and contacts, but. The first computer I saw performing that task was the Atari Portfolio in '89. As I recall it was the first handheld that ran MS-DOS and had a small spreadsheet, etc. The father of a friend of mine purchased one, and it was quite cool at the time.

    That's not to say GEOS wasn't cool, because it was. GeoWorks for the PC came out at a particularly turbulent time, but I recall it being reasonably popular for a period of time.

    1. Re:Not quite correct... by Micah · · Score: 2

      I'm not sure when GEOS/64 was released, but I don't think it was before mid 1985. That's when I got my C-64. Eventually they started bundling it with 64s, but I don't think that started until 1986. I'm not sure how long it existed before the bundle.

      Now I wish I hadn't gotten rid of a huge stack of Compute's Gazette magazines from the mid-80s. One could probably find a lot in there. :-)

  90. Absolutely by Anonymous Coward · · Score: 0

    You're absolutely right. Even outside the scope of business, it's important to consider context when making comparisons.

    Obviously, it is practical to code in assembler for some, because otherwise we would never have seen the amazing ASM demos of the last two decades, fast graphics libraries like Hercules, and of course all the embedded devices we unconsciously depend on in our daily life.

    Personally, I think writing ASM is a pain in the ass, but I have much respect for this guy and his accomplishment.

  91. Wow. Small is beautiful. :-) by Mr+Z · · Score: 1

    Ok, so maybe cp wasn't the best example. 350 lines of assembler is pretty impressively small for such a program. Of course, you ignore the 800 or so lines of assembly that it %includes for doing system calls and the like. :-) (If this were a standard system header, I'd ignore it, but it's part of the application's source code.)

    Still, it's hard to have any bugs in the original line cp file1 file2, unless you plain and simply get the filenames wrong. If you get those wrong, and the filenames are fixed filenames (no variable substitution), then you have other problems. :-) My point is that you can say a lot more in 1 shell script statement than you can in 1 assembler statement.

    --Joe
  92. We have a winner! by Mr+Z · · Score: 1

    *ding* *ding* *ding* We have a winner!

    That's right, it clicks the speaker. One of my favorite hacks was to query the cassette input port ($C020, as I recall), and toggle the speaker to match the current input level on the cassette port. You get essentially a distortion box effect, changing the analog cassette input into a squarewave output.

    A later hack took that a step further, capturing from the cassette port into RAM with one program, and playing back from RAM to the speaker with another. From what I recall, the sampling rate was approximately 30kHz with 1 bit per sample. That means you could store about 6 seconds of audio in the three hires pages ($2000 - $7FFF). (Yes, I realize only two of the hires pages were actual hires pages. The third one was a software convention only. $2000-$3FFF is the HGR page, and $4000-$5FFF is the HGR2 page.) Ah yes, such a fun little machine. Was great for hacking around, wasn't it?

    As for the joystick -- that was another lovely hack, wasn't it? The ol' RC time-delay w/ a CPU timing loop. That wouldn't fly real far these days, now would it? ;-) Nor would the floppy disk drive that requires a CPU-speed-dependent timing loop to read correctly.

    --Joe
  93. java *is* an OS by joss · · Score: 2

    Does the term "VM" mean anything to you ? This is why talk of java's portability is non-sensical, java programs only run on a single OS - the java VM. "I can write an OS, first of all, give me an OS..."

    Besides, the point of an OS is to manage low level system resources, like registers, cache, memory, devices. You can do the meta-level stuff in a high-level language if you like, but at some stage you're going to have to go low level. Plenty of OS's have been written (as far as possible) in higher level languages than java.

    --
    http://rareformnewmedia.com/
    1. Re:java *is* an OS by jgerman · · Score: 2

      Thank you, thank you, thank you. And God bless you. I've been saying that for years. Java is not any more portable than any other language. It's just had the porting code done ahead of time for you.

      --
      I'm the big fish in the big pond bitch.
  94. hmm by Anonymous Coward · · Score: 0

    Wouldn't you all probably, rather possibly maybe, ok, just might rather have one of these.

  95. Re:Isn't assembly trivial to get from a binary any by Bitsy+Boffin · · Score: 1
    Ai yi yi, who modded that up ???

    form of the work

    C isn't a form of the work, if he had also written or ported it to C then that would be a fair comment, but as he hasn't then it's not a form of the work.

    --
    NZ Electronics Enthusiasts: Check out my Trade Me Listings
  96. Back when... by mar1boro · · Score: 1

    /. was fun, people would have been posting _complimentary_ comments because Menuet is a cool fuckin hack.

    Now all we get is trash talk from stunted diploma-mill widgets.

    --
    -- "It was as if the paint factories had decided to deal direct with the art galleries." - Thursday Next
    1. Re:Back when... by Anonymous Coward · · Score: 0

      Its a real shame isn't it. Between the trolls, the script kiddies, the wannabes....there are so few people I'd consider hackers or just plain really interested in cool tech stuff. Fuck it. Why don't we have a version of /. where you must pass a coding or h/w exam to get in:-)

      Ok script kiddies, explain what a 4 way set associative cache is, and provide a simulation in c++ ;-))

  97. asm by sydneyfong · · Score: 1

    on first look this thing seems to be quite c00l... i haven't seen a similar OS written in C or some other higher level languages though

    for those who think the guy shouldn't write the OS in assembly, i couldn't see why he shouldn't. Perhaps you were thinking: he'd be better off spending the load of time working on MY favorite project...

    just because he wrote an OS in assembly does not imply he is obligated to code anything for you

    (of course it's always a good thing to have a few big projects to fight against the evil than to have a million tiny programs scattered around...)

    --
    Don't quote me on this.
  98. Can it run a webserver? No. by biglig2 · · Score: 1

    Ah, but if he'd faked the browser headers, those of us who managed to read the article might have been a little suspicious of someone running a web server on an OS that doesn't have any networking support at all....

    --
    ~~~~~ BigLig2? You mean there's another one of me?
  99. V2 Operating System by chrysalis · · Score: 2

    Can you remember the V2 Operating System? It was also posted on Slashdot some times ago. It was very promizing, written in full asm, had a nice GUI, a nice shell, a nice debugging console, etc. A very similar project.
    Does anyone know what V2 OS has become nowadays ?

    --
    {{.sig}}
    1. Re:V2 Operating System by Anonymous Coward · · Score: 0

      A) V2_OS never had a GUI, i would know cause i was coding one at one point, the official one, V2_GUI, the project was cancelled (not the OS, the GUI).

      B) V2_OS 0.7 is slowly on its way.

      The reason i say slowly is because it litterally is going very slowly. Its a damned shame to see an OS with so much potential not go very well. On the bright side, alot of the programmers have left the V2_OS coding community to form a new one (including myself).

      I find that what most people here are posting absolutely horrible! Why cant he code in x86 assembly if he wants to? "Time is money", not when you are doing it for fun. Im glad slashdot wasnt around when linux was first released, man i'd never be running it now, too many ppl would say "we have unix, why would we want a smaller less powerful version?". Linux made it, because people supported it, OS projects should never be discouraged.

      BTW, saying C compilers are better than hand coded assembly is complete bullshit! Want proof? start dissassembling C stuff.

      (im no annonymous coward, just someone that thinks that slashdot is not worth my time in registering to it.)

  100. Now if we could all learn to work together... by Anonymous Coward · · Score: 0

    Just imagine where Linux would be if we took all these people working on an OS by themselves (or in small teams) and got them working on Linux or BSD with everyone else...

    Instead, the efforts of a mighty few are wasted on nearly useless projects like this. Couldnt' their talent be put to better use elsewhere???

    Geez, if they wanna code assembly, that's awesome -- let's have them optimize Linux or BSD kernels and other apps (like XFree) for x86 and make them even faster, smaller, more reliable, and more efficient! We don't need another half-assed OS that all of 3 people on Earth will actually *use* for a total of 30 minutes...

    Sure it may be fun, and that's great. But if they're trying to accomplish anything *useful*, then they're failing here...

  101. You put too much faith in your religion... by torpor · · Score: 2

    "CompSci"?

    "EE"

    Heh heh.

    --
    ; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
  102. Haskell or BrainF#@% by Anonymous Coward · · Score: 0

    Try either of those :-) although I did here of some Swedish Psycopaths trying to write Quake in Haskell - so what would you do on those long winter nights?

  103. Excellent stuff by Anonymous Coward · · Score: 0

    An absolutely brilliant tool for hardware verification, all on a single floppy. I predict that this will save my bacon on several occasions. Thank you!

  104. but... it hurts. by nikster · · Score: 1, Insightful

    kudos to the pure hacker soul that made the 100% asm OS. all praise to him. i am impressed.

    what hurts me, on the other hand, is the justification for it: faster code. i see a lot of badly written code in my professional life - and a sizeable portion of it suffers from one of two related syndromes:

    1 - the "i am super-smart" syndrome. people think they are super smart and to prove it they write code that is very hard to understand. the gain is sometimes a loop that gets executed n - 1 instead of n times.

    2 - the "early optimization" syndrome. the common but false conception that a program is fast if all it's part are really fast. never mind that there may be another solution with fewer parts.

    both syndromes lead to error prone code: code that is both hard to get right in the first place and hard to debug later on. my current strategy of dealing with bugs in code like this is to completely throw it out and rewrite it. good code is simple, or, to paraphrase einstein, good code is as simple as possible, but not simpler.

    the other experience with slow vs fast code i have is that slow code is always - yep, 100% of the time - the result of bad design. so using asm will not fix the problem.

  105. VaporOS Announced #@ +1 ; Incredible @# by Anonymous Coward · · Score: 0

    http://www.cnn.com/cnnfn/2001/09/06/technology/mic rosoft/

    ====

    No Microsoft breakup: U.S.



    Justice Department says it is open to an alternative remedy



    September 6, 2001: 10:30 a.m. ET

    NEW YORK (CNNfn) - The U.S. Justice Department said Thursday it would not seek to break Microsoft in two during the next phase of the software maker's landmark antitrust case.

    The U.S. Court of Appeals for the District of Columbia in late June had overturned a lower court's order by U.S. District Court Judge Thomas Penfield Jackson that Microsoft be broken into two companies as a remedy for anticompetitive practices.

    At the same time, it upheld the lower court's conclusion that Microsoft has a monopoly in the market for computer operating systems and maintains that monopoly power by anti-competitive means in violation of U.S. antitrust laws.

    Late last month, the case was sent back to U.S. District Court in Washington for further review on the remedy as well as other aspects of the original order, including whether Microsoft acted illegally by tying the software code for its Internet Explorer Web browser to its dominant Windows operating system.

    The Justice Department said Thursday it will not pursue a break-up, nor will it pursue further proceedings on the tying count of the original complaint. Instead, it said it wants to investigate developments in the industry since the trial concluded and evaluate whether additional conduct-related provisions are necessary, especially in the absence of a break-up

  106. One of many alternative operating systems by Junks+Jerzey · · Score: 2

    There are a good number of alternative OSes out there, similar to this one. They don't get much attention, however, as they're all (1) short on useful applications, and (2) not Linux. But remember that being UNIX-like is not necessarily the end goal of operating systems, so I'm happy to see alternatives being developed.

    As for the negative comments about this OS being written in assembly:

    Remember, the rule of optimization has always been "make it work, then make it fast." Low-level OS details--multitasking, memory protection, resource handling, memory management--have been solved problems for 30 years or more. So we know how to make it work; it's okay to focus on making it fast. And, yes, to an experienced programmer with the right mindset, assembly is still faster than C++, everything else being equal. That's just been accepted as a truism, though it was once heresy (much as programmers now accept that object-orientedness is not the panacea that everyone once thought it to be).

  107. assembly?! by h4x0r-3l337 · · Score: 1
    The whole OS was written in 100%, pure 32-bit x86 assembly code

    So in other words: it's not portable and a bitch to maintain. Yeah, I'm sure this will be a huge success. Watch out linux...

    1. Re:assembly?! by Anonymous Coward · · Score: 0

      I was going to respond rationally to respond to this..but fuck it...listen you lameass, not everyone is trying to compete with linux, nor does everyone think the sun shines out Linus' ass. So fuck off back to whatever hole you crawled out of, and let the rest of us appreciate a cool hack. Or is that no ok by the /. script kiddies these days?!

  108. ASM Libraries by Anonymous Coward · · Score: 0

    the whole %includes thing is why a prof at UC Riverside, a big assembly freak, has a set of essays about HLL vs. ASM, and one of his arguments is that HLL's have an unfair advantage because of the standard libraries available. So he wrote an "standard" ASM library for use.

    I would give his website but I don't remember it. It's a good website though, has a copy of his book, "Art of Assembly." Look for Randall Hyde in google.

  109. installer mirrored here by spoonyfork · · Score: 2
    --
    Speak truth to power.
  110. OSes in assembler used to be the common case by jkorty · · Score: 1

    Haven't been done before? When I got out of college in 1975 I went to work for a minicomputer manufacturer whose entire OS was written in assembler. And that was not uncommon, most OSs of that era were in assembler.

    1. Re:OSes in assembler used to be the common case by be-fan · · Score: 2

      But were they graphical? That's the main point. He wrote a graphical OS in ASM.

      --
      A deep unwavering belief is a sure sign you're missing something...
    2. Re:OSes in assembler used to be the common case by bjohnson · · Score: 1

      The original Mac Toolbox, as well as the Finder was entirely written in 68k assembly code.

      This was in 1984, so he's only 16 years off of the first graphical OS written in assembler....

  111. Thats it by geekoid · · Score: 2

    I'm going to write an OS in VB!

    with one hand tied behind my back...

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  112. Yes,it's just you (and me) by kilroy_hau · · Score: 1

    I have ad blockers in my machine, and I only saw an X where the big, ugly banner should be. I then saw the source of the page and found this addresses:

    Index

    General info

    Screen shots

    --


    Kilroy was here!
  113. Re:Isn't assembly trivial to get from a binary any by Anonymous Coward · · Score: 0

    He doesn't have to do anything.

  114. Re:Webserver coded in PostScript by powerlord · · Score: 2

    Neat!!! How long until someone writes the first PostScript viruses? :)

    --
    This space for rent. All reasonable inquiries will be entertained at proprietors discretion.
  115. Yeah by Anonymous Coward · · Score: 0

    MenuetOS: The Fresh Maker!

  116. This is why we have C and UNIX by runswithd6s · · Score: 2
    I seem to recall from the "C Bible", ANSI C by K&R 2nd Ed, that C was born out of the need of improved code base maintenance. It wasn't an argument as to whether or not assembly was "better" or "faster", it was an argument as to whether assembly was a reasonably useful language for a codebase as large as an operating system. By its very nature, assembly is cryptic. Although C is a bit abstract, it's understandable at a higher level.

    It's great that people wish to write applications and operating systems in assembly. They possess a greater knowledge of the hardware layer of the computer than I, and a greater need for the abstract. Given the choice, C is my preferred language. It allows me to concentrate on the application side of things, yet gives me enough low-level control that I can do hardware specific instructions w/o having to enter the assembler.

    Assembly has its uses, especially in code optimization, and it will probably never go away for that same reason. It is certainly a "no nonsense" approach to programming, and ideal for embedded applications.

    --
    assert(expired(knowledge)); /* core dump */
  117. All-assembly programing and other odd hobbies by OnanTheBarbarian · · Score: 2

    Well, I suppose this guy deserves praise for having achieved something unusual, but as far as I am concerned, this is of the order of building a 50ft Statue of Liberty replica in one's back garden using beer cans. Difficult, possibly absorbing, oddly impressive, and utterly useless.

    There are a whole bunch of reasons not to do this.

    1. It's not efficient, even in the limited sense "producing code that runs faster than the opposition". On modern architectures, using pure handcoded assembly only tends to have a performance benefit when you know something the compiler doesn't (say, some kind of aliasing relationship among variables in a function) or when you can use instructions that a compiler can't. Rewriting a hot-spot in pure asm is one thing, but trying to beat the compiler overall is quite another. This disparity is even more pronounced in the world of RISC/EPIC... if you doubt me, try beating global register allocation for a function with 200 basic blocks and a thousand live ranges. By hand. Good luck...

    2. It's not in the slightest bit portable. Not to other architectures (obviously) - and it's liable to suffer from immense performance problems even moving to other implementations of the same architecture with different latencies and numbers of functional units.

    3. It's been done already, ages ago. This is how people used to build operating systems. There are good reasons why they stopped. There is nothing innovative about doing another Commodore 64 operating system almost 20 years after the fact. The constant and strange references to color and sound sort of reinforce this impression, too.

    4. It doesn't illustrate any particularly interesting principle. Using a medium-level language (or even a high-level language) to build a toy OS from the ground up allows you to concentrate on OS principles, while still getting down to the bare metal for the code that has to be written in asm. Writing a boot-loader or a well-optimized string copy function is an illuminating task (well, at least the first time you have to write one, anyhow). However, once you are a competant asm programmer, writing merge sort in asm instead of C will teach you nothing about asm or merge sort that you didn't already know. And one could use the time saved to learn the basic principles of optimization, which, based on his remarks about Linux, the author of this system clearly doesn't know.

    5. Asm is difficult to write and debug. No compiler to catch obvious errors. This is so obvious to require no discussion.

    6. (addressed only to those people who think that this leads somewhere practical - if you merely admire it as a beer-can-Statue-of-Liberty, ignore this one) It'll Never Work. I'm sure it does just fine as a toy system, but a POSIX layer? A TCP/IP stack? Ummn, no. It's simply never going to happen. There are plenty of tiny OS's around on which lean systems could be based, but they were written and designed to be dense and elegant, not to prove some weird point about asm programming.

  118. Licensing by Brett+Glass · · Score: 1

    An assembly language OS takes a lot of resources to debug and develop. It's a shame, therefore, that it is licensed under the GPL, because it will not be as likely to see commercial investment. Because companies will not be able to sell value-added versions of the product before contributing the code back to the project, they will be less likely to develop for it and more likely to use software that's licensed in a more business-friendly way, such as FreeBSD, NetBSD, and PicoBSD. The author should reconsider licensing the software under the GPL and move to a license which is truly free and is open source. (The GPL, as stated by the FSF, is not.)

  119. Re:Assembler? Bah! by timlyg · · Score: 0

    Assembly is not high level, it's low level.

  120. Re:Assembler? Bah! by Esoteric+Moniker · · Score: 1

    Uh, he was poking fun at the fact that we don't know what the joke means and was being fecitious. Do you honestly think someone could tell a joke about 3 ppl in a few binary digits?

    --

    man RTFM
    No manual entry for RTFM.
  121. huh? by Tom7 · · Score: 1


    Moving to a high level language certainly wouldn't slow your computer down to the speed of a 486. A highly conservative estimate would be that it is about twice as slow. (Java is pretty inefficient, but O'Caml is literally as fast as C.) Of course, this only applies to kernel stuff, which is not where your computer spends most of its time. But, since it is a higher-level language we get the following interesting benefits:

    - faster to write the code, so can spend more time optimizing what matters (and easier to implement more difficult algorithms). This could lead to a faster system, since
    - NO MORE BUFFER OVERFLOWS, meaning that it will be way more secure than linux or windows
    - More portable
    - More modular, meaning that it is easier to extend by people who don't understand the whole system, and more easily managed by those who do
    - along with all the other benefits of high-level languages

    Admittedly there would be a significant challenge integrating the hardware stuff with the high-level stuff. That's why I said it would be a feat. In other respects, doing programming in advanced high level languages tends to be quite enjoyable!

    Even more difficult, though, is convincing slashdot kids that C and lots of eyeballs just doesn't scale well. I think we will have to do this to compete with microsoft in the next decade, so hopefully we will be mature enough to manage it! (Microsoft has hired up a bunch of great programming language researchers, and they are as we speak working on language technologies for their operating systems stuff. As the open source projects and their own projects grow too large to be understood and debugged by humans, machine-checking will become the technology that separates the crashy software from the robust.)

    1. Re:huh? by Com2Kid · · Score: 1

      >Moving to a high level language certainly >wouldn't slow your computer down to the speed of >a 486.

      NES emulators written in Java take at least a pentium 450 to run, bare arse end minimum, while my old 486 can emulate the NES just fine with Nesticle (highly ASM optimized NES emulator).

      Same goes for Sega Genesis emulation.

      Hell, I've seen people fuck up terribly in writting tetris games in Java, yuck, heh. Of course there ARE good Tetris java games, but crud, the loader alone on them is larger then most of the older tetris games out there. . . .

    2. Re:huh? by Tom7 · · Score: 1

      Java is inefficient, but not that bad. Emulation is a task particularly well-suited to C, but I think a well-written java program running in a native-code-translating JVM should run well within 2x C code. Graphics depends on the JVM. Java is a memory hog, yes. (That might explain poor performance on old computers.)

      Anyway, Java is just the language I threw out to give an idea of the class of languages that I'm talking about; I know it is not the most efficient of the bunch. Check out O'Caml in these benchmarks, for instance:

      http://www.bagley.org/~doug/shootout/craps.shtml

    3. Re:huh? by Com2Kid · · Score: 1

      Even emulators written in C require at least a pentium 133 while the ASM ones only need a 386 33mhz. No matter how optimized and tight the C code is, it just /cannot/ compete with well written ASM ^_^

    4. Re:huh? by Tom7 · · Score: 2


      That's crazy. C absolutely can meet or exceed asm speeds, and high level languages often do the same. The problem is that it's nearly impossible to manage optimized assembly code, so there are some kinds of optimizations (ie, software pipelining) which can only realistically be done by a compiler. Even if speed was the primary concern (and this is rather dubious to begin with), it's not clear that asm would always win.

  122. MIRROR by Anonymous Coward · · Score: 0

    http://www.norcliffe.com/menuetos/

  123. Re:Isn't assembly trivial to get from a binary any by aozilla · · Score: 1

    While I guess I agree it shouldn't be at +1 Interesting, the post was more of an attempt at humor than seriousness.

    --
    ok then your [sic] infringing on my copyright! Could you as [sic] me next time before STEALING my comments for your own?
  124. Re:Isn't assembly trivial to get from a binary any by aozilla · · Score: 1

    if he had also written or ported it to C then that would be a fair comment


    No it wouldn't. The copyright holder of a program can do anything s/he wants with it, including violating eir own copyright. YLBTYHLHAND.

    --
    ok then your [sic] infringing on my copyright! Could you as [sic] me next time before STEALING my comments for your own?
  125. Re:Isn't assembly trivial to get from a binary any by krogoth · · Score: 1

    It must have been the previous threads that made me think he was serious - some people were complaining pretty loudly because some guy is giving away an OS he wrote for himself! It's like the whole "Konqueror developers should quit their rebellion and go work on mozilla" argument.

    --

    They that quote Benjamin Franklin on liberty and safety deserve neither.
  126. Somebody say small OS? by Anonymous Coward · · Score: 0
    Seaking of small operating systems, how about Small Linux ? A Linux distro (sorta) that fits on two floppies. Gotta love their site for the disclaimer alone:

    We do not support Small Linux

    We do not promise that Small Linux does anything

    Small Linux may distroy (sic) all your data




  127. Finnish demoscene? by Anonymous Coward · · Score: 0

    Sounds like the typical demo-type assembler programmer, that in addition to Music/GFX wants to have a file system. :)

  128. MenuetOS machines... Handcrafted ASM code... by Anonymous Coward · · Score: 0

    Imagine a Beowolf Cluster of THESE!!!

  129. Re:Assembler? Bah! by SumDeusExMachina · · Score: 1
    We don't know how to interpret the symbols without the state machine specification to give it context. Many jokes are not funny out of context.

    That is the most clever play on words that I have seen/heard all week! Thank you!

    --

    Is your company running tools written by ma
  130. You are thinking of C. by Tom7 · · Score: 2

    You're thinking of C. Assembly isn't meant to be portable. The idea of writing assembly code is to tune some very efficiency-critical code for a particular platform.

    What portable code would you write, which wouldn't be easier (and probably faster, since the compiler could do more optimization) in C? (Or -- god forbid -- a high level language?)

  131. Re:Can it run a webserver? No. by kubrick · · Score: 1

    Ah, but if he'd faked the browser headers, those of us who managed to read the article might have been a little suspicious of someone running a web server on an OS that doesn't have any networking support at all....

    I hadn't managed to read the article (/.-ed) :)

    Just pointing out the folly of trusting a web server...

    --
    deus does not exist but if he does
  132. "The next Linux" by Yukanojo · · Score: 1

    First off, the url redirect isn't working too well so go here for a mirror of the download page, which includes the installer and the instructions of how to create a floppy image for *nix.
    Having used the OS, I wanted to offer an opinion. The kernel, the author writes in his faq, is "real-time which is mainly monolithic, but some operations are done like in microkernel." For its small size, it is quite impressive to see how elaborate the gui and such are, especially being programmed in assembler. However, the OS itself isn't very powerful per se, and the memory requirement (32mb) is fairly large for such a small OS, which does not allow it to be used as a microkernel OS like mkLinux. Sure it has sound, but for the most part all that it does so far is edit text files, play music, and show pretty lights. Also, the HD interaction is, for now, limited to FAT and FAT32, so don't expect to use it as a Linux/Unix rescue disk.
    On the plus side, the gui is impressive, along with the sound capabilities. Plus it's one of the most compact gui-based mini-OSes around, and being programmed in assembler it's fairly fast.
    Pretty much I'm just saying that while it's an extremely interesting toy, I don't think it's "the next Linux" or anything close to it.
    Even if it is from Finland ;)

  133. wimp! by SectoidRandom · · Score: 1


    heh, sorry had to say it..

    I cant think of anything more simple and beatiful than a nice x86 asm program...

  134. Re:Assembler? Bah! by cakoose · · Score: 1


    "High-level", being a relative term, is an arguably acceptable description of assembly language when compared to direct machine code.




    Also, it may have escaped your razor-sharp senses that the guy was being sarcastic.


  135. Re:Assembler? Bah! by limbostar · · Score: 1
    Given that it would require its own Turing machine to decode: yes, it is possible to tell a joke about 3 people in a few binary digits:

    111 ; in a life boat were
    001 ; bill clinton,
    010 ; fidel castro,
    101 ; and the pope.
    001 ; bill says:
    0011 1010 ; "There's only
    1001 0101 ; "one vest,
    0010 1001 ; "and it's
    0100 ; "mine."
    ; (note, the binary is not actual english;
    ; this is a rough translation)
    1111 ; terminate the quote
    1001 ; a second passes,
    101 ; then the pope says:
    0100 1110 ; "don't forget
    1110 0001 ; "your cigar."
    ; quote termination is implicit

    See? Quiche.
    --
    this is a sig.
  136. Code is built in to binaries :) by Anonymous Coward · · Score: 0

    It's written in asm, so disassemble it!
    It'll probably be just as understandable
    as the original code :)

  137. Read the name fast by bluecalix · · Score: 1

    Does the system lock you out once you turn 16?

    --
    e x p e c t d e l a y . c o m