Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
compare webbrowser
Freenet DSL
Who's Online
6 user(s) are online (5 user(s) are browsing encyclopedia)

Members: 0
Guests: 6

more...
browser tip
Unix Befehle
manual of unix befehle
recommendation!
Sponsored
partner

System programming

:

Systems programming (or system programming) is the activity of programming system software. The primary distinctive characteristic of systems programming when compared to application programming is that systems programming requires a greater degree of hardware awareness. 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 computer simulation 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 garbage collection (computer science) 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 Data logging are often used; operating systems may have extremely elaborate logging subsystems.

    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 programming language and BCPL, but C programming language, helped by the growth of UNIX, became ubiquitous in the 1980s. More recently C plus plus has seen some use, for instance in the IOKit drivers of Mac OS X.