Using interpreted CompositeCalls to improve operating system services

F. J. Ballesteros, Ricardo Jimenez, Marta Patiño, Fabio Kon, Sergio Arevalo, Roy Campbell

Research output: Contribution to journalArticlepeer-review


A large number of protection domain crossings and context switches is often the cause of bad performance in complex object-oriented systems. We have identified the CompositeCall pattern which has been used to address this problem for decades. The pattern modifies the traditional client/server interaction model so that clients are able to build compound requests that are evaluated in the server domain. We implemented CompositeCalls for both a traditional OS, Linux, and an experimental object-oriented μkernel, Off++. In the first case, we learned about implications of applying CompositeCall to a non-object-oriented `legacy' system. In both experiments, we learned when CompositeCalls help improving system performance and when they do not help. In addition, our experiments gave us important insights about some pernicious design traditions extensively used in OS construction.

Original languageEnglish (US)
Pages (from-to)589-615
Number of pages27
JournalSoftware - Practice and Experience
Issue number6
StatePublished - May 2000

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Using interpreted CompositeCalls to improve operating system services'. Together they form a unique fingerprint.

Cite this