A Stu tudy dy of
- f Mod
- dern
ern Li Linux ux API PI Us Usage an and Com
- mpa
Li Linux ux API PI Us Usage an and Com ompa patibility - - PowerPoint PPT Presentation
A Stu tudy dy of of Mod odern ern Li Linux ux API PI Us Usage an and Com ompa patibility tibility : System Building: When You Become a Parent Our experience from building a OS with Linux API support ( Graphene library OS
March 2011 Project started September 2012
12 syscalls supported hello world
October 2013
131 syscalls supported apache gcc makefile etc.
(impractical for system developers)
support 2 APIs
support 2 APIs
(No, we cannot)
(e.g., Ubuntu popularity contest)
(install)
(installed by
(Example: 5 apps in average)
(support)
(installed by
(installed by
0% 50% 100%
N-most important system calls (from the most important to the least important)
10%
Ex: ustat, tee, getcpu
Ex: get_robust_list mq_notify move_pages
Ex: read, exit, clone
Maintainers: # APIs in heavy use Builders: ranking of APIs
0% 50% 100%
N-most important system calls (from the most important to the least important)
Both round up to 100%, but still different
100 200 300 400 500 600 50 100 150
Top 3000 packages Top 2000 packages Top 1000 packages
First 40 syscalls: used by every packages (must implement first) Last 75 syscalls: used by very few packages
(e.g., setdomainname() by hostname)
sys_sync (1 - 10-8) sys_read (1 - 10-383)
0% 50% 100% 50 100 150 200 250
must-have syscalls app: time
most important syscalls
10% complete
app: perl
most important syscalls
50% complete
app: vnc-server
most important syscalls
90% complete
app: chromium
Graphene
145 syscall 21% complete
FreeBSD Linux layer
225 syscall 62% complete
(e.g., application popularity)
www.oscar.cs.stonybrook.edu/api-compat-study