Posted on 05/15/2015 8:52:52 PM PDT by Utilizer
Menuet's kernel includes pre-emptive multitasking support and the super-compact operating system includes an impressive GUI
MenuetOS, a GUI-toting, x86-based operating system written entirely in assembly language, has hit version 1.0.
The milestone comes after almost a decade and a half of development for the operating system, which despite having an impressive graphical user interface is still compact enough to fit on a floppy disk (assuming you can find one).
The 32-bit version of the system is released as open source until the GPL, while the 64-bit version is free for personal and educational use (commercial use requires negotiating with the MenuetOS team).
(Excerpt) Read more at computerworld.com.au ...
.
I've long been astonished that no one has done this before.
Does it implement any of the Microsoft function calls, or does it have replacements for them?
Since it is a different OS, I would guess “no”. I also see no reference to needed .dll files in the article, although it does mention that it doesn’t require a special graphics card API to function properly.
It’s a neat project, but impractical and kind of dumb for modern hardware.
I actually wrote two operating systems in assembler: one was for a Nova 1200 for final project in operating systems, and the other was a graphical operating system for a CDC 1700 with attached CDC 774 graphics terminal written for my masters thesis.
In both cases the only tool was a cross-assembler, both of which ran on a CDC 6400. The output for the Nova 1200 was punched to paper tape which was then read in from a paper tape reader on the Nova 1200 by hand togging in it’s driver each time. For the CDC 1700/774, there was a computer-to-computer hardware link between the 6400 and the CDC 1700 and the link’s driver had to be hand togged in each time. There were errors and omissions in the link’s documentation and I had to get the onsite CDC engineers to look at its circuit diagram to figure out how to make the damn thing work.
The Nova 1200 OS was written in one college quarter, and the CDC 1700 was written in a few months. That was back in the day when programmers were real men.
Raspberry Pi?
Where do you get “several hundred megabytes”? The article says that it can load from a floppy disk. The largest of those IIRC was the 1.44 meg 3.5” floppy.
Hey, I STILL use Assembly Language for programming. Love it. Now I am trying to convert some of the old programs I wrote in Basic back in the TI-99/4A days to run under linux using Visual C++ and it’s a chore.
The fact that these people wrote a light and fast OS in assembler that can actually work stably with all the hardware out there today, using a GUI no less, and will run Quake and Doom as well is truly impressive.
Wrong CPU.
Now I wonder how they do that? I suppose all the modern graphics cards will support SVGA, but how do they interface to additional functionality?
I assume they provide the source code. This could be a great thing for building custom applications with minimal software overhead. I very much like that. I have long lamented the degree of crap you have to load just to get even simple functionality out of a Windows based machine.
I can see a whole lot of possibilities for an assembly code based operating system, and I bet it runs like lightning.
Yeah, when we ran out of zeros, we used capital O’s. :=)
If you mean it won't implement a lot of functionality which is deviant from the norm, that's probably true, but I expect if it gets popular enough, drivers, patches, dlls, etc will become available.
It also depends on what you want to do with the hardware. I can think of dozens of control applications (SCADA) which don't need today's supermachines, and a simplified assembly based operating system would be great.
Perhaps I wasn't being clear in context. I was referring to the various iterations of the Microsoft Windows operating system. My recollection is that it is several hundreds of megabytes. I don't even know how big is the latest version of it. I quit upgrading after XP.
Now I would expect Quake and Doom would have to be recompiled with the new operating system in mind. Surely it won't run the straight Windows version? If it does, then perhaps they did retain Microsoft Windows function calls.
IIRC, Quake and Doom are DOS-based games.
That was interesting.
Found something similar when I was checking it out.
www.kolibrios.org
It’s a fork, so I’m not surprised. :)
Haven't kept up. Didn't play Quake Much. Didn't like it. I thought Doom was keeping up with the newer machines. Haven't played Doom in nearly a decade. I like Duke Nukem 3D, which is also a DOS based game if I remember correctly.
Even so, it implies it has all the DOS function calls, and a person can do a lot with that. I guess it's too much to ask that my DirectX/DirectPlay stuff will work.
An X86 motherboard already has a very low-level OS written in assembler...it’s called the BIOS.
It is not that difficult to build up a usable OS utilizing the BIOS assembly routines already available. A great deal of the grunt work has already been done for you and you don’t have to start from scratch.
People who don’t know how to code think of assembler as some extremely difficult thing to do...it’s not. Assembler is actually the simplest way to code although it is very tedious and exacting.
When you code in assembler you are making very small moves with each line of code and you know exactly what each line will do.
When you code in a high-level language like C or Java the only way to know exactly what each line of code does is to look at the assembly output of the compiler. Writing code in a high-level language is like making a list of all the things you need to do during the day...
Go to the store and buy milk
Get the car washed
Take the baby to the doctor
Coding in assembler breaks it down to much more basic steps. The list of steps below are just to begin doing the “Go to the store and buy milk” line from the list above.
Get out of bed
Put on your clothes
Use the toilet
Get the car keys
Walk to car
Get in the car
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.