SLIDE 7 TU Dresden, 2007-12-18 MOS - Legacy Containers Slide 13 von 34
C Library: API to POSIX
- Collection of various common functions
- Abstraction layer above system calls
- Functions with different abstraction levels ...
– low level: memcpy(), strlen() – medium: fopen(), fread() – high level: getpwent()
– none (freestanding): memcpy(), strlen() – small: malloc(): uses mmap() or sbrk() – strong: getpwent(): file access, “/etc/passwd”, name service, ...
TU Dresden, 2007-12-18 MOS - Legacy Containers Slide 14 von 34
Multi-Server Aware C Library
– C library depends on underlying OS – Specific implementation may differ
Application
libc + syscall bindings
Monolithic / Single-Server OS
System Call Interface
Memory Server
Memory Interface
l4vfs_*(), rtc_*(), dm_phys_*(), ... memcpy(), fopen(), getpwent()
Time BE File BE Mem BE ... libc
mmap()
File System
File System Interface
Application
+ Backends