Systems software

Diomidis Spinellis*

*Corresponding author for this work

Research output: Contribution to journalArticleScientific

1 Citation (Scopus)

Abstract

Systems software is the low-level infrastructure that applications run on the operating systems, language runtimes, libraries, databases, application servers, and many other components that churn our bits 24/7. The data structures one chooses should also gracefully accommodate the workload without placing any artificial limits on it. Modern memory is at least an order of magnitude slower than the CPU, so stay away from it. Avoid repeatedly processing data in memory. Cache intermediate results, and try to obtain all the data one needs from a memory location with a single access. Where possible, sidestep memory copying. Although intricate dependencies on lower layers are fair game for systems software, horizontal ones are not. In contrast to application software, where the lack of a thick manual can be a virtue, systems software should be accurately and comprehensively documented.

Original languageEnglish
Article number6504881
Pages (from-to)18-19
Number of pages2
JournalIEEE Software
Volume30
Issue number3
DOIs
Publication statusPublished - 1 Jan 2013
Externally publishedYes

Fingerprint

Dive into the research topics of 'Systems software'. Together they form a unique fingerprint.

Cite this