AceOS.jpg
Home About Architecture Drivers C Library Shell Specifications Links Downloads
Back to Sam's Home Page
You are here : Ace OS -> C Library Standard C Library

Ace kernel has separate implementation of standard C functions such as printf, strlen, malloc etc. Ace OS C Library is different what is implemented in kernel. Ace OS C Library is mainly used by applications – currently only one – Ace Shell.

What is use of creating a C Library?

  • Most of the open sourced applications are depends on so there is a possibility of running them on Ace by recompiling them.
  • Creating an abstraction between Ace Kernel and applications so that a change in kernel won’t affect the applications.

What are functions that should be provided by a C Library?
It depends on the library compatibility with the standards – ANSI, POSIX and ISO. The easiest standard to implement is ANSI. The implementation of POSIX standard is complicated than the other two because it uses threads. Ace C Library implements ANSI and POSIX standards. However threads are not yet properly implemented in Ace C Library.

Is all the functions are recreated for Ace?
No. Most of the functions defined in existing library are used (eg - strcpy(), memchr() etc). Some of the OS depended calls are entirely recreated or modified to suite Ace(eg – malloc(), fopen() etc).

Initially Ace C Library was created by converting the Al's FREE-C Runtime Library (by A. Maromaty) into Ace. But it was not working on Ace so it was dropped from Ace. After that I tried to convert the following C libraries – glibc, DJGPP C Library Finally I took libc implementation from The Mobius OS which is conversion of DJ C Library and converted it into Ace.

I converted this library in the way that if anyone tries to port it his OS then his job should be easy. All the OS deepened functions are defined in the libc/ace folder and declared in libc/include/os/kernel32.h. The documentation for Ace C Library is created using doxygen. You can download the documentation and C Library source from the download section.





Best viewed in 1024 x 768 using IE 4.x, Netscape 6.x or higher. JavaScript support is also required for dynamic menu. This page is last updated on 1-Nov-2006
This site is visited times since 1-Oct-2002. Back to Sam's Home Page