MollenOS Versions Save

MollenOS/Vali is a modern operating system that is built with focus on abstraction and a modular design, allowing anyone to port it to any architecture. It currently targets the x86-32 and x86-64 platform.

v0.7.0

2 years ago

Really excited to release this version, so much has changed and a lot of improved support/functionality for the userspace has happened.

Highlights

  • Improved stability, fixed rougly around 10 deadlocks/crashes
  • New compiler toolchain (clang, target=***-uml-vali)
  • New compositor (Vioarr)
  • Upgraded libgracht to version 2.4.1, huge improvements
  • Memory mapped files
  • Temporary files
  • New driver: USB-Hub

Kernel

  • Implemented support for GPT booting
  • Rewrote handle system to improve stability and make use of proper data-structures
  • Rewrote handle_sets system to use proper data-structures
  • Fixes in threading system relating to locking
  • Get working support for mouse events
  • Fixed SMP issue with interrupts
  • Support for cloning memory areas
  • Now using my own version of binaries (VPE instead of PE)

Vioarr

  • Vioarr has been rewritten as its own project, supporting both linux and MollenOS/Vali
  • Launcher implementation
  • New application: Doom
  • New application: Terminal
  • New application: Code editor (Lite)

What's Changed

Full Changelog: https://github.com/Meulengracht/MollenOS/compare/v0.6.1...v0.7.0

v0.6.1

3 years ago

Almost two years has passed since the first release of Vali. In this time a lot of new features and improvements has been made, both to the userspace and the kernel.

Highlights

Kernel

One of the big changes to the kernel project was that we finally switched completely to using CMake for our build system! We've also switched IPC system to implement libgracht. All services and drivers has been rewritten to use libgracht.

  • [x86-64] Fixed the hardware layer for 64 bit. We were implementing and using both the IDT and GDT wrong.
  • [x86-64] Fixed the cloning and cleanup of memory spaces.
  • [library] Added new datastructures as list, queue, stack and hashtable. Started the outphasing of collection.
  • [library] Implemented support for socket interface in libc
  • [library] Implemented support for event descriptors in libc
  • [library] Implemented support for io-set descriptors in libc
  • [services] Implemented the netmanager service that provide sockets and networking
  • [services] Rewrote the filemanager in newer code style, cleaned up the code and added more defensive coding.
  • [drivers] PS2/Keyboard was improved and optimized handling of key codes. I don't think its perfect yet.
  • [kernel] Rewrote several subsystems, including mutexes, memory, interrupt handling, IPC and threading.
  • [kernel] Restructured several areas of the kernel code-files

Libgracht

Libgracht is a new protocol library I've implemented during the past year which handles all communication between processes, drivers and services. It supports asynchronous and synchronous messaging, and it supports batch messaging. Protocols are written in XML and both client and server code is then generated.

Libgracht is still in early stages so there are some bugs to iron out, and the protocol format could use a cleanup. Features include

  • Protocol defined types and structures
  • Asynchronous and synchronous function calls
  • Events
  • Broadcasting

Userspace

So some of the most exciting changes has been made here! We've completely rewritten the userspace and given the entire operating system a new look and feel. Pictures will be coming in a near future!

  • Completely rewritten vioarr to use libgracht for its windowing protocol. Vioarr is rewritten in C code and has many new features, including input proxying.
  • Rewritten large parts of Alumni (Terminal) to allow for many more features, including better key handling and visual layout!
  • Ported doom
  • Updated mesa3d to newest release at time of writing
  • Implemented a new framework for writing applications, called Asgaard. This quickly enables us to create new window applications that handle most of needs from input to drawing!

Downloads

Both prebuilt disk images for virtual machines and the SDK is available at the website

v0.6.0

3 years ago

Almost two years has passed since the first release of Vali. In this time a lot of new features and improvements has been made, both to the userspace and the kernel.

Highlights

Kernel

One of the big changes to the kernel project was that we finally switched completely to using CMake for our build system! We've also switched IPC system to implement libgracht. All services and drivers has been rewritten to use libgracht.

  • [x86-64] Fixed the hardware layer for 64 bit. We were implementing and using both the IDT and GDT wrong.
  • [x86-64] Fixed the cloning and cleanup of memory spaces.
  • [library] Added new datastructures as list, queue, stack and hashtable. Started the outphasing of collection.
  • [library] Implemented support for socket interface in libc
  • [library] Implemented support for event descriptors in libc
  • [library] Implemented support for io-set descriptors in libc
  • [services] Implemented the netmanager service that provide sockets and networking
  • [services] Rewrote the filemanager in newer code style, cleaned up the code and added more defensive coding.
  • [drivers] PS2/Keyboard was improved and optimized handling of key codes. I don't think its perfect yet.
  • [kernel] Rewrote several subsystems, including mutexes, memory, interrupt handling, IPC and threading.
  • [kernel] Restructured several areas of the kernel code-files

Libgracht

Libgracht is a new protocol library I've implemented during the past year which handles all communication between processes, drivers and services. It supports asynchronous and synchronous messaging, and it supports batch messaging. Protocols are written in XML and both client and server code is then generated.

Libgracht is still in early stages so there are some bugs to iron out, and the protocol format could use a cleanup. Features include

  • Protocol defined types and structures
  • Asynchronous and synchronous function calls
  • Events
  • Broadcasting

Userspace

So some of the most exciting changes has been made here! We've completely rewritten the userspace and given the entire operating system a new look and feel. Pictures will be coming in a near future!

  • Completely rewritten vioarr to use libgracht for its windowing protocol. Vioarr is rewritten in C code and has many new features, including input proxying.
  • Rewritten large parts of Alumni (Terminal) to allow for many more features, including better key handling and visual layout!
  • Ported doom
  • Updated mesa3d to newest release at time of writing
  • Implemented a new framework for writing applications, called Asgaard. This quickly enables us to create new window applications that handle most of needs from input to drawing!

Downloads

Both prebuilt disk images for virtual machines and the SDK is available at the website

v0.5.0

5 years ago

So we finally did it! The first official release of Vali (mollenos). The release encompasses a few years of hard development, a couple of rewrites and so many fixed issues. In short this is a personal accomplishment for me, and I'm so proud of being able to release this.

What this is not

... this release won't blow you away, and it won't be really usefull. This is still something I have to accomplish, but this release is the foundation for being the next great thing.

What this is

... is the first (of hopefully many) pre*1000 alpha test version, it is a small taste of what is yet to come. This release is a proof that I have what it takes to finish this, and it is the start of something great.

Who should download this

... the developer, the technology enthusiast, the reviewer and the critic. This is not intended for casual use, and the average person should not download this. This is a developer release which isn't meant for normal usage.

Features

  • Supported platforms: i386, amd64
  • Included drivers for X86 platform: pic, apic, cmos, rtc, pit, ps2 keyboard and mouse
  • Included drivers for generic platforms: ahci, ohci, ehci, uhci, hpet, acpi, usb-msd, usb-hid
  • Included filesystem support: mfs
  • Graphical Frontend
  • Terminal Implementation (Alumni)
  • Programming environments: C/C++

What to do with this release

You can play around in the terminal, and you can check out the layout of the application finder. Currently you can spawn two different applications through shortcuts.

  • F1 - Terminal
  • F2 - Window test application that runs for 15 seconds then shuts down, changing colors as it goes.
  • ALT+F - Application finder (You can type, and close it with escape)

Downloads

Both prebuilt disk images for virtual machines and the SDK is available at the website