CITS2002 Systems Programming  
prev
next CITS2002 CITS2002 schedule  

A Systems Programming Language

C is frequently, and correctly, described as an excellent systems programming language.

C also provides an excellent operating system interface through its well defined, hardware and operating system independent, standard library.

The C language began its development in 1972, as a programming language in which to re-write significant portions on the Unix operating system:

  • Unix was first written in assembly languages for PDP-7 and PDP-11 computers.

  • In 1973 Dennis Ritchie was working on a programming language for operating system development. Basing his ideas upon BCPL, he developed B and finally created one called C.
    (Yes, there is a language named 'D', but it's not a descendant of C)

  • By the end of 1973, the UNIX kernel was 85% written in C which enabled it to be ported to other machines for which a C compiler could be fashioned.

  • This was a great step because it no longer tied the operating system to the PDP-7 as it would have been if it remained in assembly language. In 1976 Dennis Ritchie and Stephen Johnston ported Unix to an Interdata 8/32 machine. Since then, Unix and Linux have been ported to over 260 different processor architectures.

Today, well in excess of 95% of the Unix, Linux, macOS, and Windows operating system kernels and their standard library routines are all written in the C programming language - it's extremely difficult to find an operating system not written in either C or its descendants C++ or Objective-C.

 


CITS2002 Systems Programming, Lecture 1, p6, 22nd July 2024.