First impression on unpacking the Q702 test unit was the solid feel and clean, minimalist styling.
We talk to the developers behind MenuetOS: an operating system written entirely in assembly language
- — 19 August, 2009 13:48
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.
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.