We talk to the developers behind MenuetOS: an operating system written entirely in assembly language

MenuetOS is an operating system that is super-fast and can fit on a single floppy disk (remember them?)

Is either version of Menuet used in any production environments? Do you see this as a hobby/educational exercise or are you aiming for a system that will fill a particular niche in the operation system ecosystem? That is, is there a target audience for Menuet, or is it all about the development process?

Madis: The most important about Menuet is its small footprint as it still fits on a floppy. The niche can be some embedded device. What is also important is that its x86-based and therefore portable to most compatible devices. Now that Mac is using Intel CPUs and future Larrabees from Intel will also be using a subset of x86 ISA.

Ville: Menuet is used in environments that require real-time control over other devices. Currently Menuet is mainly used among hobbyists who are interested in assembly language. And assembly niche is actually a pretty sweet one. There are new exiting features to learn and most importantly, you never know what kind of usages people come up with. Our team's current goal is to get the version 1.0 out.

Menuet

Do you think there is still a role for assembler language beyond MenuetOS? Most computer science courses these days seem to concentrate on high-level languages like Java and C++, and most job openings seem to be for people with training in those languages (or other high-level languages like PHP and Visual Basic).

Madis: There are parts in code where ASM is still needed. Of course rare are the cases where a whole program is coded in the dialect, but optimisation today is increasingly important and I think a role for assembler is exactly that. Higher languages fit perfectly for quick prototyping where speed isn't crucial.

Ville: Some courses are also restricted by funding reasons. Teaching must be neutral and manufacturer independent. And assembly languages have been clearly manufacturer dependent. But assembly coding itself with Menuet's high-level system calls is actually quite fast and easy to learn.

What development tools could you not live without when working on MenuetOS?

Madis: Firstly Flat Assembler (FASM), which generates code for MenuetOS. FASM's macro capabilities also help dealing with images and raw binary data. Hex-editor is also a valuable tool and an OS-debugger to test quickly the changes made on-the-fly.

Is there a reason you chose FASM as your assembler?

Ville: FASM was the first feature-rich assembler for 32 bit x86 written itself in assembly. Before FASM we used an assembler written in C. Today FASM supports multiple platforms from Windows to Linux and Macintosh.

Tags software developmentoperating systems

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.
Rohan Pearce

Rohan Pearce

Good Gear Guide

21 Comments

Anonymous

1

Good read

Thanks for the interview, nice OS.

Anonymous

2

Amazing. Extremely impressive what some people can do.

Anonymous

3

Did you guys ever see the QNX demo?

It came out back in the Pentium days. It fit on a floppy; had web, mail, and IRC clients; it had a PPP dial; and it made my 486 run faster than my Quadra. Not sure if it's available any more.

Anonymous

4

Marvelous!! but needs posix support to survive beyond toy state

Hats off to you guys - very well done but without posix layer (or even a plan for it) this will run out of steam and that would be a sad day considering the excellent work.

Anonymous

5

POSIX not needed at all

posix is an api intended to talk to the Unix kernel and do things the Unix way. Why hamstring this exciting new project with that bloated pile of baggage when the goal is to make smaller, less resource hungry platform?

Anonymous

6

Is assembly only available for ONE processor architecture?

One might assume that the processors that this OS is written for are x86 32 bit and 64 bit, but notice how it's not mentioned ONCE in the article.

There are other processors, and people do code in assembly for them, too.

John Klos

Anonymous

7

RTFA

>One might assume that the processors that this OS is >written for are x86 32 bit and 64 bit, but notice how it's >not mentioned ONCE in the article.

It is mentioned in the article, I suggest you read it again.

Anonymous

8

wow

hey, you rock! :)
so what new features are planned for the 1.0 release? any chance to be compatible with windows drivers :)?

Anonymous

9

poop

comments are poop

Anonymous

10

It would be enormously advantageous.

There's a huge amount of existing software that makes use of POSIX. Just because the basic core of the operating system may be written entirely in assembly, doesn't mean it should be shoved into the corner of having everything available to it being written only in assembly. A noted embedded real-time linux kernel, which is heavily based on a hardware abstraction layer with direct assembly interfaces implementing multi-level task switching (and so on), eCos, provides a POSIX abstraction layer. As an embedded software developer, this made it an extremely appealing, light-weight, customizable, kernel, that I could readily port a huge amount of already written Unix compatible software to.

Anonymous

11

Give menuet a try!

I played with menuet a few years ago and was really impressed. Would rock on my netbook if they had a driver for my wireless.

QNX is still developed and popular. You can get a free non-comercial version at qnx.com or go for the open source version at openqnx.com

Anonymous

12

Salute the Inspiration

Salute the team of developers that make this operating system.
I worked with almost every version of MS windows
including various Linux Distro's and Unix varient

I prefer only BSD / Redhat Linux
But this seems promising for me to check out the issues with the said operating system and possiblities.

Once again keep the good work. and give developers the vision to build speedy code.

--
Regards
Some body

Anonymous

13

The original premise of Linux revisited!

Back in 1990/91 when Linux first started coming out, Linus Torvald's original premise was to create an OS that entirely supported the assembly language substructure of x86 Protected Mode, unlike any OS that existed before that or since. Once the Linux 1.x kernel came out, they quickly abandoned the entire assembly language idea, which I thought was a shame. Though going towards C/C++ made it more portable, and increased its commercial appeal but it did bloat out like a pregnant mom in her third trimester. I think the developers of MenuetOS understand how open source development creates this flight towards lowest-common-denominator mentality, and have done the right thing to not go fully towards open-source. This way if Menuet develops more fully within the assembly framework, it will become less likely for open-source authors to come in and ruin it by translating it to an inefficient portable language. They can release the 64-bit version as open-source later when it's got more momentum on its own. Afterall, open-source itself doesn't have a problem with assembly language, it's just open-source developers that have a problem.

wllmgrmmtt30

14

Good post overall. Enjoyed reading it. <a rel="follow" href="http://www.clickingsubmit.info">William</a>

Yaseen

15

I am very impressed especialy with the GUI in such a small size. It's looks seem even better than puppy linux or dsl

David

16

It's amazing what you can do with 759KB (zipped)!
I hope this project stays alive - it currently lacks polish but the time to boot a GUI is incredible.

Chris

17

Well DUH. Up until about 1998 (recent, in my memory), ALL operating systems were written in assembly. It went without saying that high-level languages were too slow and inefficient for the job. Subsequent code bloat proves this to be true; it's only the enormous increases in processor speeds that have allowed y'all the illusion that software hasn't slowed down by about 1000% in the intervening years. I cry to think how fast today's computers would run, say, OpenVMS, if only the processor architectures could handle the interrupt structure, response-time guarantees, etc. etc. And OpenVMS -- known originally as VAX/VMS -- was written in the 1970s. I've been sneering at "modern" OS architecture since at least 1988, myself...

Oh, and for what it's worth, QNX still exists, though it's not clear whether that boot-floppy demo, per se, is still available. My guess would be "probably not," but, as it happens, I am in a position to ASK. I was *just* talking to someone the other day who was with QNX when that demo came out.

Andrew

18

@Chris

"Well DUH" yourself. UNIX-style OSes have been written in C since the early 70s.

http://en.wikipedia.org/wiki/Unix#History

Geoff

19

@Andrew and Chris

Unix-schumix, the first OSes written in High Level Languages appeared in the 1960s: Burroughs' MCP and the great, never-bettered, sadly-missed Multics, the greatest OS in history (written in PL/1).

Bloat is *not* a necessary concomitant of using HLLs.

While I teach an assembler/architecture course, I wouldn't even contemplate writing an OS in assembler (I did once write a timesharing executive in assembler, 30+ years ago).

The arguments against are even stronger today, with our aster hardware, than they were 30-40 years ago. Development times, maintainability, etc, etc.

And, of course, portability. If Linus T had implement the whole of the linux kernel in assembler, we'd be lucky to have it on one other architecture by now.

"Those who cannot remember the past are condemned to repeat it"
George Santayana

umair jalal

20

HY........ every one...im having a presentation on MENEUTOS...nd i cannot find the Process state model, PCB, Process creation and Inter process communication of MENEUTOS....can any one tell me about them.

Kelly Smith

21

It is fantastic that an OS has been written in - mainly Assembly. What make me concerned is that the 'new' version 64 bit is 'closed source'. I don't have any interest in closed source software. In fact I would prefer to pay for it than to download some dodgy 'free' files from the net. The closed source nature of this project should set off alarm bells for many many people out there.

I won't touch this with a barge pole.

Comments are now closed.

Most Popular Reviews

Follow Us

Best Deals on GoodGearGuide

Shopping.com

Latest News Articles

Resources

GGG Evaluation Team

Kathy Cassidy

STYLISTIC Q702

First impression on unpacking the Q702 test unit was the solid feel and clean, minimalist styling.

Anthony Grifoni

STYLISTIC Q572

For work use, Microsoft Word and Excel programs pre-installed on the device are adequate for preparing short documents.

Steph Mundell

LIFEBOOK UH574

The Fujitsu LifeBook UH574 allowed for great mobility without being obnoxiously heavy or clunky. Its twelve hours of battery life did not disappoint.

Andrew Mitsi

STYLISTIC Q702

The screen was particularly good. It is bright and visible from most angles, however heat is an issue, particularly around the Windows button on the front, and on the back where the battery housing is located.

Simon Harriott

STYLISTIC Q702

My first impression after unboxing the Q702 is that it is a nice looking unit. Styling is somewhat minimalist but very effective. The tablet part, once detached, has a nice weight, and no buttons or switches are located in awkward or intrusive positions.

Latest Jobs

Shopping.com

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?