MikeOS it is a fascinating 16-bit operating system (whose compatibility has been discussed previously) written entirely in assembly language, designed for educational purposes; created by Mike Saunders (from whom it takes its name), This operating system offers a unique experience for those who want to deeply understand the inner workings of an operating system and appreciate the art of lower-level programming.
History and origins
Main features
This curious operating system comes with you some curious features:
- Assembly language: MikeOS is written completely in x86 assembly language, which means that the source code is highly optimized and offers complete control over the system's hardware resources.
- Simplicity and education: One of the distinguishing features of MikeOS is its simplicity, therefore the operating system is designed to be understandable even for those who are novices in programming operating systems, offering an ideal teaching environment.
- Built-in emulator: MikeOS is accompanied by an emulator that allows users to run and test the operating system directly on their computer, without the need to install anything on the hard drive and this facilitates exploration of the system without risk.
- Small size: The MikeOS kernel is noticeably small, making it suitable to run on systems with limited resources, therefore this feature is particularly interesting for those who want to understand how to design efficient operating systems.
Usage and community
MikeOS is widely used as an educational resource in schools and colleges to teach the fundamental principles of operating systems and its active community contributes to the continuous development and sharing of educational resources, tutorials and code examples.
pros and cons
Like all operating systems he too brings pros and cons with him.
The pros
- Teaching simplicity: MikeOS is designed with the goal of providing an accessible educational experience for anyone who wants to learn the fundamentals of operating systems. Its simplicity allows students to focus on understanding key concepts without being overwhelmed by unnecessary complexity.
- Small kernel: The small kernel size of MikeOS makes it suitable to run on resource-constrained hardware. This feature is beneficial for those who want to understand how to design efficient operating systems, with a focus on performance.
- Active community: MikeOS has an active community that contributes to its ongoing development. The presence of tutorials, documentation and online educational resources offers invaluable support to those who are starting out or want to deepen their knowledge.
- Built-in emulator: As mentioned before the built-in emulator simplifies the process of testing the operating system without requiring a direct installation on the hard drive. This allows users to experiment and understand MikeOS without compromising their core operating system.
Against
- Hardware limitations: being a 16-bit operating system, MikeOS has inherent limitations on hardware resources and cannot fully exploit the features of modern 32 or 64-bit processors and this may make it unsuitable for more complex applications or for running on recent hardware.
- Limited applications: Due to its educational nature and small size, MikeOS may not be suitable for running complex or modern applications; it is mainly oriented towards the study and understanding of basic concepts.
- Learning curve: Choosing to write an operating system in assembly language may present a significant learning curve for those new to low-level programming. This may be an initial hurdle for some users.
MikeOS is an exceptional educational resource for anyone wanting to learn the principles of 16-bit operating systems: however, it is essential to consider its hardware limitations and its educational nature before deciding whether it is the right choice for a specific context of use.
Integration with BASIC language and BIN files in MikeOS
A distinctive aspect of MikeOS is its tight integration with the language of BASIC programming and the use of files with the .BAS extension and BIN; the operating system supports BASIC programming, providing a friendly platform for students and programming enthusiasts, and the .BAS files contain the BASIC source code and can run directly on MikeOS, allowing users to write applications and scripts in a familiar and intuitive environment.
BIN files, on the other hand, represent direct binary executables, allowing the integration of low-level code written in assembly language, therefore this flexibility allows developers to combine the power of low-level programming with the accessibility of BASIC, expanding the possibilities for creating custom software.
The use of .BAS and BIN files reflects the educational approach of MikeOS, as it facilitates the understanding of the different levels of programming, from the high level offered by BASIC to the low level represented by the assembly language and this unique combination of programming languages allows users to experiment, learn and create, maintaining a balance between didactic simplicity and versatility in exploring operating system programming concepts.
Internet isolation in MikeOS
A distinctive feature of MikeOS is its isolation from the Internet, therefore Unlike many modern operating systems that incorporate native network connectivity, MikeOS is primarily designed as a closed, self-contained environment.
The lack of network connection support reflects its primary focus on teaching basic operating system concepts without the additional complications of managing network connections.
This design choice is in line with the educational goal of MikeOS, focusing on understanding basic principles without external distractions; users can focus on programming operating systems without having to worry about the challenges of network management, making the experience more accessible for those new to this field.
Although the lack of network connectivity may seem like a limitation in a modern context, It is important to consider that MikeOS is primarily designed for educational purposes and offers an isolated environment where users can explore and learn without the added complications of a network connection.
Preamble before testing MikeOS
Being educational and for very, very dated devices (we are talking about the first ones 386 or 486) on a purely theoretical level it would be useful an old PC that still has a floppy disk drive, so much so that one of the files from which it is possible to boot on a USB stick or other device is a .flp file extension (specially for floppy disks).
As you can see from the image, the authors of the operating system leave you dmg, ISO, flp, rar and zip files for booting, without going too long, after doing a few tests, in the end the only one that worked for booting on the stick was the .dmg file; yes, you understood correctly: to run one of the most open source projects on the planet, I had to use the typical file of the most closed operating system on the globe, i.e. macOS.
Given that Rufus It did not work I had to use a particular software called unetbootin, and trying the files one by one, as mentioned, only the .dmg file started MikeOS correctly.
MikeOS: an overview
Once you have performed this step just described the operating system Starts pretty smooth, no problems, everything goes as it should.
Between nostalgic sounds and in PC Speaker and fast loading (it's a 16-bit system, therefore light by necessity), the operating system finally reaches the main menu; before seeing what's there, don't expect much graphics, nor any mouse support, it is deliberately a “bare” operating system made specifically for learning programming, as well as having the basis to create your own operating system.
As you can see from this latest video the operating system is deliberately minimalist, because it is implicit, as said at the beginning, you can place the .bas (BASIC) or .bin (Binary, therefore in assembly) files there later.
Basically the operating system contains some games including a “life simulator”, a game similar to Snake, a small music program that runs everything on the PC speaker, a sort of terminal similar to that of Linux and little else, but nothing prevents you from adding more to it with prior knowledge of programming in BASIC or Assembly.
The processor used as a test is a Vortex86SX A9100, which are PC-mounted processors that They can be used in a variety of applications, including industrial controllers, automation systems, medical devices, thin clients, and other embedded devices
And indeed as you can see from this video it is perfect for those who want to approach BASIC or Assembly.
Conclusions
MikeOS is much more than just a 16-bit operating system; it is an educational project that has opened the doors of operating system programming to a wider audience; with its simplicity and focus on hands-on learning, MikeOS is a valuable opportunity for those looking to immerse themselves in the fascinating and complex world of operating systems, so if you're looking to deepen your understanding of low-level programming and systems operational, MikeOS is certainly an exciting starting point.
#MikeOS #16bit #educational #operating #system