21 Dec 2010 13:14
Development progress and plans
Alfeiks Kaanoken <madtirra <at> jarios.org>
2010-12-21 12:14:15 GMT
2010-12-21 12:14:15 GMT
Hi all, It's a big silence in maillist last months. However (instead of mails here) the development isn't stalled. For those who interested the list below: - fixed few bugs in microkernel related to ipc (extra data ops) - microkernel has a very basic namespaces support - memory objects has been modified to handle file mapping correctly - IDL is working now, it supports an extended IPC (forwarding, extra data manipulation) - Architecture documentation was updated (docs/book) We are planning to do the next tasks: - Modify current architecture - Moves all services to the IDL - Moves all drivers to the new driver model - Add support of Jari OS platform to the binutils/gcc - Port uclibc as a libc This changes will affect many parts of the system. Well, the first - vfsv2 service will be transformed into libobjresolv, libv2 will be renamed to libvfs, also libfs will be added - this new library will contain a well designed filesystem logical structure that will be used by the special filesystems such as devfs/tmpfs and so on. Libvfs will offer the same as libv2 provides but it will be extended with the following stuff: - ventry cache (directory entries cache) - vnode will be more flexible - vnotify - notification layer will be added Going next, nsv2 will be extended and will becomes name space carrier, i.e. carrier will provide the following functions: - resolving nodes (objects) that vfsv2 made - keep a tree of file system (vfsv2) - keep track and manage of running tasks and it resources - keep/manage tasks limits - offer a system bus interface - spawn a processes (not like it made now, while uclibc will be ported carrier will maps ld.so only) That mean that the following services will be deprecated: - nsv2 - vfsv2 - fslinker (now filesystem will handle all mounting process) - procmgr - btsdv2 (we will redesign this service, btw any other init system may be used) So, grub will loads a minimal set of the modules i.e. kernel, initfs image, namespace carrier, init.fs Carrier itself will reads the namespace config and run appropriate loader/init service that will continue initialization. In addition I want to make some words about new scheme for resources resolving - instead of current scheme, the new one will be more complex, but it will be more faster, instead of sending and resolving names by the vfsv2, all requests will be forwarded to the appropriate file system/file system driven service. To keep resources consistently resolve transactions will be used, that will keeps information about current resolve processes. Another good point - since project has IDL - it's not so difficult to extend support of many POSIX functions, because one of the problem (and source of the very ugly, dirty, buggy ... code) was RPC interfaces implementation. I'm not sure that we can celebrate new year (christmas for sure) with the couple of this new quite positive changes, but I guess it will be implemented soon. Any comments ? yep, write it here. Thanks,
RSS Feed