The intent of the Systems Programming Knowledge Unit is to ensure that students are proficient in the development of complex, low level software (e.g., software interacting directly with the hardware platform, performance constrained, or within the deepest level of an operating system), typically in the C or assembly programming language which is designed to provide services to other software.
- Develop programs which directly account for hardware and resource constraints of the specific systems on which they operate.
- Outline and apply a layered approach to providing and accessing services using API's.
- Implement new functions in an OS kernel or complex and sophisticated programs, such as a device driver, that can be embedded into an OS kernel.
- Write programs that implement systems functions such as a network communications stack, a telnet client, or a basic file manager without the use of external libraries.
Below are the Knowledge, Skills, Abilities and Tasks (KSA-T) identified as being required to perform this work role.
Learn More about the KAS-T's.