Results for systems programming
On this page:
 
Dictionary:

systems programming


n.

The development and management of programs that are a part of an operating system.


 
 
Britannica Concise Encyclopedia: systems programming

Development of computer software that is part of a computer operating system or other control program, especially as used in computer networks. Systems programming covers data and program management, including operating systems, control programs, network software, and database management systems.

For more information on systems programming, visit Britannica.com.

 
Wikipedia: system programming

Systems programming (or system programming) is the activity of programming system software. The primary distinguishing characteristic of systems programming when compared to application programming is that application programming aims to produce software which provides services to the user (e.g. word processor), whereas systems programming aims to produce software which provides services to the computer hardware (e.g. disk defragmenter). It also requires a greater degree of hardware awareness.

Overview

In system programming more specifically:

  • the programmer will 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 that:
    • can operate in resource-constrained environments
    • is very efficient and has little runtime overhead
    • has a small runtime library, or none at all
    • allows for direct and "raw" control over memory access and control flow
    • lets the programmer write parts of the program directly in assembly language
  • debugging can be difficult if it is not possible to run the program in a debugger due to resource constraints. Running the program in a simulated environment can be used to reduce this problem.

Systems programming is sufficiently different from application programming that programmers tend to specialize in one or the other.

In system 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 system and networking requires systems programming (for example implementing Paging (Virtual Memory) or a device driver for an operating system).

History

Originally systems programmers invariably wrote in assembly language. Experiments with hardware support in high-level languages in the late 1960s led to such languages as BLISS and BCPL, but C, helped by the growth of UNIX, became ubiquitous in the 1980s. More recently [[Embedded C++]] has seen some use, for instance in the I/O Kit drivers of Mac OS X.

References


External links


 
 

Join the WikiAnswers Q&A community. Post a question or answer questions about "systems programming" at WikiAnswers.

 

Copyrights:

Dictionary. The American Heritage® Dictionary of the English Language, Fourth Edition Copyright © 2007, 2000 by Houghton Mifflin Company. Updated in 2007. Published by Houghton Mifflin Company. All rights reserved.  Read more
Britannica Concise Encyclopedia. Britannica Concise Encyclopedia. © 2006 Encyclopædia Britannica, Inc. All rights reserved.  Read more
Wikipedia. This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "System programming" Read more

Search for answers directly from your browser with the FREE Answers.com Toolbar!  
Click here to download now. 

Get Answers your way! Check out all our free tools and products.

On this page:   E-mail   print Print  Link  

 

Keep Reading

Mentioned In: