Lably
Skip to content

Systems programming

Developing programs for computer systems

  • 3 min read
  • 3 chapters

Related on Lably

Through Computer, System software and Computer programming

Systems programming requires a great degree of hardware awareness. Its goal is to achieve efficient use of available resources, either because the software itself is performance-critical or because even small efficiency improvements directly transform into significant savings of time or money.

Overview

The following attributes characterize systems programming:

  • The programmer can make assumptions about the hardware and other properties of the system that the program runs on, and will often exploit those properties, for example by using an algorithm that is known to be efficient when used with specific hardware.
  • Usually a low-level programming language or programming language dialect is used so that:
    • Programs can operate in resource-constrained environments
    • Programs can be efficient with little runtime overhead, possibly having either a small runtime library or none at all
    • Programs may use direct and "raw" control over memory access and control flow
    • The programmer may write parts of the program directly in assembly language
  • Often systems programs cannot be run in a debugger. Running the program in a simulated environment can sometimes be used to reduce this problem.

In systems programming, often limited programming facilities are available. The use of automatic garbage collection is not common and debugging is sometimes hard to do. The runtime library, if available at all, is usually far less powerful, and does less error checking. Because of those limitations, monitoring and logging are often used; operating systems may have extremely elaborate logging subsystems.

Implementing certain parts in operating systems and networking requires systems programming, for example implementing paging (virtual memory) or a device driver for an operating system.

Sign in to keep reading

2 more chapters are free with a Lably account.

More in Computing and communication