[ Home | Downloads | Software: [ animals | ckport | YIFF ] ]
YIFF is a portable kernel interface. This means that an YIFF using application can run on diffrent kernels without porting, even without being recompiled at all!
YIFF works by defining a common interface for common functions. This is just like other operatingsystem standard (POSIX for example) but works one layer deeper.
On start of a process the kernel loads a small interface library into the process. This is very similar to "linux-gate.so" used by recent Linux kernels. This little library provides a single function which does the actuall system call. How this works is up to the kernel. It is architecture and CPU depended (some architecture provide more ways to enter the kernel. The kernel can load diffrent libs depending on the actuall detected CPU features). Next there is libYIFF, a standard library, loaded. This happens as part of the normal loader process. libYIFF provides a little higher interface and is what is used by the c runtime (libc) and the application (if the applications wants to talk to YIFF directly). Next the c runtime (libc) is loaded as in every other start process as well as other librarys needed by the program.
YIFF is the kernel interface. libYIFF is the core library implementing YIFF and libYIFFc is a YIFF based c runtime (libc). libYIFFc is not following POSIX or ANSI C standard. Those standards may be provided by some other library on top of libYIFFc. However YIFF and libYIFFc is based on some ideas behind POSIX and the ANSI C standard so such a layer is thin (like "#define free(x) yiffc_mfree((x))").
Some documentation can be found here.
Downloads can be found at the Download Page.
Powered by Fellig.org, Vim and Freedom.