I detta dokument presenteras en studie av Linux API-användning i alla program och bibliotek i Ubuntu Linux 15.04-distributionen. Vi föreslår mått för resonemang om betydelsen av olika system API:er, inklusive systemsamtal, pseudo-filer och libc-funktioner. Våra mätvärden är utformade för att utvärdera den relativa mognaden hos ett prototypsystem eller kompatibilitetslager, och detta dokument fokuserar på kompatibilitet med Linuxapplikationer. Denna studie använder en kombination av statisk analys för att förstå API-användning och undersökningsdata för att väga den relativa betydelsen av applikationer för slutanvändare. Detta dokument ger flera insikter för utvecklare och forskare, som är användbara för att bedöma komplexiteten och säkerheten hos Linux API:er. Varje Ubuntu-installation kräver t.ex. 224 systemanrop, 208 ioctl, fcntl och prctl-koder och hundratals pseudofiler. För varje API-typ används sällan ett betydande antal API:er, om någonsin. Dessutom har flera säkerhetsrelevanta API-ändringar, såsom att ersätta åtkomst med faccessat, mött en långsam adoption. Slutligen är hundratals libc-gränssnitt effektivt oanvända, vilket ger möjligheter att förbättra säkerheten och effektiviteten genom att omstrukturera libc.
Vår metodik inspirerades av en studie av Linux API-användning som analyserade frekvensen av systemsamtal på binär nivå för att rekommendera en implementeringsorder REF.
A study of modern Linux API usage and compatibility: what to support when you're supporting
{'venue': "EuroSys '16", 'journal': None, 'mag_field_of_study': ['Computer Science']}