| 0.2.x |
c0re
|
Developping the core kernel functions (kprint, debug). Basic memory management development. Auto-initialisation system (autoinit.c)
| 0.2.2 |
Adding map() SOS system call, first real kernel, irq handling at asm level.
| | 0.2.3 |
Multi-console display in SOS, BSS segment wiped.
| | 0.2.6 |
kprint and debug installed. keyboard handling through a key map, adding low-level memory operations (memcpy, ...)
| | 0.2.7 |
enhanced display (vline/hline ...) first debug screens for low-level memory management (from ASM to C); Avl imported, kalloc/kfree tests.
| | 0.2.8 |
blocman tests.
| | 0.2.10 |
auto initialisation system. Next versions are final debuggings.
|
|
| 0.1.x |
SOS
|
| System rewritten to NASM (from tasm), splitting boot sequence into SOS and KERNEL. defining the SOS api.
|
| 0.0.x |
loader
|
adapting the pmode tutorial of TRAN to a small os, featuring VM86
for mouse control, exception handling through a text debug pannel
assembly implementation of LOSTZONE, BLOCMAN and PAGER1 as S-DLODS.
looks more like a dos extender than a real kernel, so far.
|
| 0.3.x |
Kernel Dynamix System
|
This version see the rise of KDS: naming, services ...
Though KDS is restricted to single address space and functions
callbacks.
| 0.3.1 |
Adding BTree support, basic kds naming schemes, Virtual Sets Extensions design, cursors for BTrees
| | 0.3.2 |
Ensuring a "true" 64K limit to kernel file (rather than a 64K virtual image including uninitialised datas :)
| | 0.3.4 |
Kds Naming System available, working on services (tests under Linux system faking a Clicker).
| | 0.3.6 |
Adding a KDS info shower, fighting with the 64K barrier
| | 0.3.8 |
Splitting the distribution in kern, misc & info - got rid of the 64K barrier
|
|
| 0.4.x |
Slang support and modules management. Some debugs in memory management.
|
| 0.4.1 |
working on Slang compiler, added services exports for the Kernel,
adding the Interner in KDS, kernel adds its internal symbols
(from Slang analysis) at startup
| | 0.4.2 |
adding kdsLock and kdsUnlock, debug control pannel, blocman being
a client of the memmap service.
| | 0.4.3 |
modmaker & modview tools
| | 0.4.5 |
Hello from Clicker 0.4.5 module added. Paging activation,
debugging aligned allocation. Paging-aware SOS.
| | 0.4.8 |
module directory framework, modloadall, page fault handlers.
| | 0.4.9 |
Paging debug pannel, modmaker detects unresolved symbols.
|
|
| 0.5.x |
Initiating Multitasking system
|
This evolution adds extended memory management that is needed to
achieve multitasking like segmentation control, stacks management, etc.
| 0.5.2 |
debugging SOS for IBM ThinkPad compatibility, correction of module maker, introducing segmentation management, adding the LOG system and converting some SIGNs into LOGs
| | 0.5.4 |
Descriptortables support written and tested.
| | 0.5.6 |
Allocation/Dellocation of zones without causing page faults
| | 0.5.8 |
Automatically-zeroed page now work. pager system should now be stable
| | 0.5.10 |
clock service, pages cluster introduced, stack memory objects written, Debug now support fast forward and break.
|
|
| 0.6.x |
Multitasking system
|
This evolution adds the support of multithreading in the microkernel. At a final point, we should be able to define asynchronous servers that run in a separate thread and receive their request from a message queue.
| 0.6.0 |
First thread creation, thread switching is done manually by calling/jumping to a tss. Also introduce a task debug pannel
| | 0.6.2 |
introducing the dispatcher, the halt task, making print buffer glocal and multithread-compliant.
| | 0.6.4 |
catching stack overflow through stack faults rather than page faults, introducing the crashTask for intercepting very auwful panics (that would have made the CPU reboot otherwise).
| | 0.6.6 |
some patches in module loader, upgrading clock to 1KHz, deferring task switches when handling an interrupt.
| | 0.6.8 |
module format version 1.2 (no more bss/init overlayering), creating PAGER-II module, introducing a user heap (that will later turn into private heap).
| | 0.6.10 |
readers/writers sharing, process manager (for truly killing threads)
| | 0.6.12 |
remote-kill and deferred-kill, module manager, thread shielding
| | 0.6.14 |
modules for semaphores, reader, writers, scheduler hot-swapping
| | 0.6.16 |
cleaning up, module format 1.3, slang update _thread_ and _queue_, asynchronous servers support
|
|
| 0.7.x |
user level & multiprocess
|
| Main target of version 0.7.x is to add user-level
and multiprocess support. At version 0.8.0, it should be possible to
open a user program by giving a file name to a "exec" system call from
another user-program, and to simply define new resource classes (like
a message printer, for instance).
Evolution 7 is also the time to make a LOT of clean up within the
source code. The version 0.8.0 of Clicker microkernel should be
AS CLEAN AS POSSIBLE, using no hacks, being fully-documented and
should be distributed as a .tar.gz (rather than legacy .zip)
separately from the extensions modules (for debug, demos, etc.)
Therefore - and because i'm no more a student - Evolution 7 is
one of the longest in Clicker's history.
| 0.7.2 |
Page Frame viewer,
PgCount service, forcing invalid instruction at offset 0 after core init
| | 0.7.4 |
Content-viewing in page debugger,
address space creation tests, memory classes copies,
persistent private objects (PPO).
| | 0.7.6 |
Experimenting
kernel 2 kernel system calls, PROG memory object, binterpreter for PROGrams.
| | 0.7.8 |
checking user stacks creation,
auto-import of a memory class, SOS_crash page fault now tolerated.
| | 0.7.10 |
Now you can run a user program that do nothing.
All sources have been translated to English
| | 0.7.12 |
Adding & testing resources support,
a user program can do system calls: "Hello World" program milestone
| | 0.7.15 |
code cleanup,
new process status pannel, debug pannels reordering
| | 0.7.16 |
address space deletion, KDS object
recognizer, multi-process-aware paging debug pannel
| | 0.7.18 |
moving Multiprocess management to a module, SFS file service.
| | 0.7.20 |
process-killing, new memorymap
system, use SFS for microkernel files access
| | 0.7.22 |
Add access from
kernel space to user space address (safe and copyless),
several cleanups (memory core management ported to C),
even more debugs before final release
|
|
| 0.8.x |
inter-process communication
|
still to be written ...
| 0.8.0 |
a user-level program can load another user-level program
| | 0.8.2 |
KDS 2.0 modules support,
C++ friendly kernel sources,
common serializer feature in KDS,
KDS Objects extension (including toString()),
modules dependencies tracking (through auto-symbols of KDS2)
| | 0.8.4 |
XLR8 thread-switching extension.
| | 0.8.5 |
Linux SDK added, support for BOCHS PC emulator due to repeated
request from the Mega-Tokyo community :)
| | 0.8.6 |
kernel-mode events engine. partial add of kds_domain, automatized
.api and .sym header files generation from .idl and sources.
| | 0.8.8 |
I/O source base and very simple disk driver
| | 0.8.10 |
Starting the re-write of the new memory system
| | 0.8.11 |
Continuing re-factoring: MrHyde, moclass, paging core
| | 0.8.14 |
Restored Pager2 and address space (+process) creation
| | 0.8.16 |
Fully restored Pager2, process construction and destruction
|
|