Migrate from GitHub to SourceForge with this tool. Check out all of SourceForge's recent improvements.
Close

Minirighi / News: Recent posts

Minirighi 0.12.4 released

Here is another new release for the Minirighi kernel.

There're few important fixes, like the proper spurious IRQ handling, that resolves a bug running Minirighi under Bochs, and a bug in the vga initialization has been fixed.

There is also a small work in the VFS implementation. Few steps for now, even not properly POSIX compliant, just to have something working, but everything seems to move in the right direction.... read more

Posted by Andrea Righi 2008-04-08

Minirighi 0.12.2 released

It seems I'm enjoying in writing this small kernel again. Here's another release with quite interesting changes and an important fix in child processes exit handling.

If you're so crazy to use minirighi in "production" please update it (well... updating is the minor problem, I think you should be closed in a mental institute, anyway).

Here is the short format changelog:
* [fix] fixed a critical bug in fork() syscall
* [fix] added required function prototypes on top of floppy.c
* [fix] allow to mount ext2 filesystem on hard disk raw devices (without partitions)
* [fix] correctly quit from initialization if unable to mount ext2 filesystem from hard disk
* [fix] correctly check command line argument counter variable in sleep application
* implemented the waitpid() syscall
* print a stack trace when a kernel exception occurs
* print also the parent pid (PPID) of each task with ps
* rewritten kill() routine in a cleaner way
* renamed auto_kill() routine in sys_exit()
* provide more informations in the fork application example, print also the PID of processes via getpid() and getppid() syscalls
* [fix] correctly check command line parameters in md5crypt userspace application
* added CONFIG_DEBUG option (to enable/disable debugging symbols)
* speed-up the build process parallelizing make, depending on the number of CPUs present in the build machine... read more

Posted by Andrea Righi 2008-03-29

Minirighi 0.12.0 is out

Even if I'm not working anymore in this project, it could happen that I release a new version sometimes.

Now is one of those times.

The changelog is really small, there's only a bugfix for __fdc_seek() routine in the floppy driver and I've added some tricks to build Minirighi on x86_64 machines (even if the kernel still remeains for IA-32).

I've just tested the build in Ubuntu 7.10 and a run with qemu 0.9.0. Everything seems to work fine. ... read more

Posted by Andrea Righi 2008-03-24

patch to run Minirighi on Bochs

This patch disables the floppy caching mechanisms. This fixes the hang if you try to run Minirighi under Bochs. With other virtual machines (like VMWare) or with a real hardware this patch is not necessary.
Download from here: http://sourceforge.net/tracker/download.php?group_id=80923&atid=561433&file_id=133432&aid=1197300

-Andrea

Posted by Andrea Righi 2005-05-09

CVS restored

The CVS repository for Minirighi has been restored and it is synchronized with the latest developers release.

IMPORTANT NOTE: the CVS repository is not a release place!!! Here you can find all experimental code done by the minirighi developers, then use it at your own risk!!! If you want to test minirighi on a real PC I suggest to you to download the source code and the floppy-disk image from the download sections.

Posted by Andrea Righi 2005-01-24

patch to compile minirighi 0.11.00 with gcc 3.4

This patch fixes some errors and warnings if you compile minirighi-0.11.00 with gcc 3.4.

https://sourceforge.net/tracker/download.php?group_id=80923&atid=561433&file_id=113876&aid=1093161

Enjoy,
Andrea.

Posted by Andrea Righi 2004-12-30

Minirighi 0.11.00 kernel with COW and fork() syscall

Minirighi is a multi-threading open-source operating system written for didactic purpose. It has been written from scratch and it is compatible with POSIX.

The most important feature of Minirighi is the speed. It's fast and small, so it can be used to speed up your simple applications or to analyze the source code if you want to deepen the OS development concepts.

---

A new version of the Minirighi kernel is ready.
The main improvements are the implementation of the copy-on-write paging mechanism, that implies also the other main improvement: the implementation of the fork() system call.
Moreover some bugs have been fixed, expecially in the TCP/IP stack implementation.... read more

Posted by Andrea Righi 2004-12-13

Minirighi 0.10.03 - stable release

Minirighi is a multi-threading open-source operating system written for didactic purpose. It has been written from scratch and it is compatible with POSIX.

The most important feature of Minirighi is the speed. It's fast and small, so it can be used to speed up your simple applications or to analyze the source code if you want to deepen the OS development concepts.

---

This is the first *very stable* release of the 0.10 kernel generation. Every test done seems to work well and the system never crashed also in cases of many tasks executed, big memory usage and concurrent accesses to the disk. I'm very happy for this, but if you find a bug, please report it to me the same... I'll be happy anyway! :)... read more

Posted by Andrea Righi 2004-08-19

Minirighi kernel 0.10.00 released

Many changes in this new version. The big step done is the multi-threading support for both user processes and kernel. This release, as the number suggests, is the most stable and fast distributed until now...

Download available from http://prdownloads.sourceforge.net/minirighi/minirighi32-0.10.00.tar.bz2

Minirighi ChangeLog:

- Kernel -

* multi-thread support both for kernel and user processes
* added the system log console (with the kernel log daemon)
* light interrupt and exception handling
* light system call management and added new system calls
* improved performances in the context switch
* improvements in kernel queues
* added spinlock semaphores
* better mutex semaphores implementation using wait queues
* better cpu identification (supported also AMD CPUs)
* added global pages (if the architecture supports this feature)
* V86 monitor can print in*/out* operations to the system log console
* APM shutdown routine in the kernel (switch back into real-mode and
turn off pc using the BIOS)
* now Minirighi can work in systems that have less than 16MB,
automatically resizing the DMA reserved-memory area during
the boot phase
* added double fault exception handling using a task gate
* bug fixes/improvements in the kpager daemon
* bug fixes/improvements in the task manager
* bug fixes/improvements in the memory manager... read more

Posted by Andrea Righi 2004-04-15

new website layout

The new website is available at http://minirighi.sf.net

Posted by Andrea Righi 2004-02-23

Minirighi 0.09.01

Release early, release often... this is the open-source philosophy, so we respect this! :) this new release has nothing more than the previous one, except for some bug fixes:

- Fixed bug #892874 (mutual exclusion for task queues)
- Fixed some errors in the script files and documentation

Even if there are no meaningful changes, the release of this version has been nearly mandatory. In fact I think this is the more stable release posted until now, so I suggest to download this version as soon as possible... before new unexpected bugs will be discovered!!! :))... read more

Posted by Andrea Righi 2004-02-21

Critical patch for minirighi kernel 0.09.00!!!

Uff.. days of strong activity!

Yesterday the new release 0.09.00 came. Unfortunately a new bug has been found: when you switch between virtual consoles the mutual exclusion for task queues is not guaranteed.

If you don't care about source code you can download the bootable floppy image of the new version at http://prdownloads.sourceforge.net/minirighi/mr32-disk-0.09.01.bz2?download

Otherwise continue to read below...... read more

Posted by Andrea Righi 2004-02-08

Minirighi 0.09.00 release available!

Version 0.09.00 aka "The new world" :) has completed.
This version is not available in the CVS repository for now... In the CVS there is the old version of minirighi (0.08.02) and the syncronization will be done ASAP.

Download source code at: http://prdownloads.sourceforge.net/minirighi/minirighi32-0.09.00.tar.bz2?download
Download floppy disk image at: http://prdownloads.sourceforge.net/minirighi/mr32-disk-0.09.00.bz2?download... read more

Posted by Andrea Righi 2004-02-07

Minirighi 0.08.02 is out!

Before the new year :) the new stable release of minirighi is out!!!
Now minirighi is faster than ever and bug-free... maybe! :)

What's new!?
------------

- Many bug-fixes
- Improved performance in the context switch (dispatcher)
- Optimized kernel compilation

Kernel compilaiton tested with GCC 3.2.2 and GNU LD 2.13.90.0.18

Happy new year!!!
Andrea.

Posted by Andrea Righi 2003-12-31

Minirighi 0.08.01 released

As I had previously announced this new release doesn't contain additional features in comparison to the previous version (the 0.08.00), except some little bug fix.
From the practical point of view, instead, a very important project has been completed: the source code documentation using Doxygen. This has allowed to produce a HTML documentation (available at http://minirighi.sf.net\) of fundamental importance for those people that will want to develop a project on minirighi.
For this, it was necessary to publish an additional release (0.08.01) that contains all the source code comments in the new style, with the purpose to improve its legibility.... read more

Posted by Andrea Righi 2003-11-16

New website available!!!

I have completed the new website where you can find a full source-code documentation, generated using Doxygen. It's available at http://minirighi.sf.net/.

As soon as possible new tutorials, HOWTOs and documentations will become available...

Feel free to send me any comments, ideas or suggestions on what you would want to see in this website. Or what you'd not want to see :)

Posted by Andrea Righi 2003-11-13

Virtual-8086 mode documentation

A new chapter has been added to the official documentation. This chapter is an overview of the virtual-8086 mode. Probably, in the future, this argument will be not very important, but, for now, virtual-8086 mode is a feature used by many kernels and also by Minirighi.

Minirighi allows to execute flat binary programs compiled into a 16-bit code (besides ELF32 compiled programs). For this it uses a V86-monitor and procedures dedicated to the V86 task creation. In this way it gives the possibility of executing 16-bit tasks while using the IA-32 features like multitasking and virtual memory.... read more

Posted by Andrea Righi 2003-10-26

Minirighi 0.08.00 new release!

The release of this version has been object of numerous reflections. In fact Minirighi is expanding more and more and every time that something again is integrated in the kernel, this opens new ways to follow and new projects to develop.

So it is difficult to know the stages of the project and what versions can be considered sufficiently evolved to be constituted as a new release.

The most important feature of this version is, first of all, a minimal implementation of the file system ext2, even if, for now it doesn't integrate very well with the shell; in fact for the files and directory exploration are available the commands "ls2", "cd2" and "cat2", because there is not yet a suitable support to the virtual devices. For this you will have to wait the next version...... read more

Posted by Andrea Righi 2003-10-25

ext2 file system

Now a minimal version of the ext2 file system for Minirighi is available in the CVS repository.
The project has been done by Filippo Brogi and, for now, the source code is commented only in italian :-(.
There will be an english and more complete version as soon as possible...

Posted by Andrea Righi 2003-09-22

CVS available

The CVS repository for Minirighi is now available. You can browse the source code on-line and do all the usual CVS features you want to use...

IMPORTANT NOTE: the CVS repository is not a release place!!! Here you can find all experimental code done by the minirighi developers, then use it at your own risk!!! If you want to test minirighi on a real PC I suggest to you to download the source code and the floppy-disk image from the download sections.

Posted by Andrea Righi 2003-09-19

ATA disk driver on Minirighi 0.07

Finally the ATA disk driver for minirighi is ready!!! This seems to me a notable step and so we have decided to release a new kernel, passing in this way to the "0.07.00".

The biggest part of the job has been done by Luca Giovacchini; he has realized an interface to allow the ATA disks detection and the access of these devices (from the IDE channels). This interface will be used by higher abstraction layers to communicate to the devices in a trasparent way.... read more

Posted by Andrea Righi 2003-09-16

Minirighi documentation project

The documentation project of minirighi has started!

Today I've uploaded two documents: the first one is the "minirighi official documentation", even if it looks like an Intel IA-32 documentation. In fact for now there is only the first chapter that includes an introduction of the IA-32 architecture. But it could be useful for all who intend to develop something with minirighi...

The second document treats about a project I have done to implement the network support in minirighi. This document describe how the ethernet card RTL8139C(L) works and how to realize a driver for this device. Moreover the document explains how a minimal version of the TCP/IP protocol has been implemented from scratch in minirighi.... read more

Posted by Andrea Righi 2003-08-27