support in-kernel process
in kernel tty prototype driver works
bug fix in system call assembly code
first hello world from user space
* very basic write() system call
* maptty()/unmaptty() system call to map/unmap display memory area into/from tty server's address space
* memcpy_cross_address_space() system call to copy memory from other process's address space
more system calls, more libc routines:
* malloc()/free() in libc
* mmap()/munmap() system calls
* enhancement for system call framwork
* add preempt_disable()/preempt_enable()
* add page reference count and related checking
More basic features are added into v0.0.3,
* message passing interface
* system call framework
* multiple level run queues
* process passive sleep and wakeup
* first system call exit() works
* more sophisticated scheduler()
Now serverroot can send a message to system task for exiting. system task receives the message, releases all resources of server root, removes server root from run queue. After this, server root process is not existed any more.
v0.0.2 adds virtual memory support which is ported from Linux kernel 2.6.
Now mlxos can load a user space process (dead-looping) from multiboot module, and switch to the user space process.
For timer is not finished in 0.0.2, kernel can not switch user space process off the CPU. in 0.0.3, kernel thread will switched with user space process by clock interrupt.
Now I open an IRC channel named #mlxos on irc.freenode.org
You are welcome to discuss mlxos with me.
Version 0.0.1 can not do anything. There are only 3 kernel threads switching in kernel space.