System Programming & Operating System | TE E&TC | 2015 Course

Updated on 2019/05/27 04:58

Read the latest updated notes and model answer papers for SPPU In-Sem and End-Sem Exam. Get full access by paying just ₹100/-

MA Crash course advertisement.png

System programming (or systems programming) is the activity of programming, computer 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 directly (e.g. word processor), whereas systems programming aims to produce software and software platforms which provide services to other software, are performance constrained, or both (e.g. operating systems, computational science applications, game engines and AAA video games, industrial automation, and software as a service applications).

System 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 (AAA video games) or because even small efficiency improvements directly transform into significant monetary savings for the service provider (cloud based word processors).


System Programming & Operating System


Third Year, Semester II
EnTC and Elex (2015 course)


Examination Scheme

Phase I: In Semester Exam30
Phase II: End Semester Exam70

Course Objectives

  • To understand fundamentals of system programming and operating systems.
  • To study and understand how the system programming and operating system abstractions can be implemented.
  • To develop comprehensive skills to design Assembler, Macro Processor, Compiler and Interpreters.
  • To understand the importance of application of linkers, loaders and Software tools in system programming
  • To Implement System Programming concepts and Operating systems components
  • To analyze memory allocation methods, input output devices and file system w. r. t. various operating system.
  • To study and implement various process scheduling techniques and dead lock avoidance schemes in operating system

Course Outcomes

After successfully completing the course students will be able to:

  • Demonstrate the knowledge of Systems Programming and Operating Systems
  • Formulate the Problem and develop the solution for same.
  • Compare and analyze the different implementation approach of system programming and operating system abstractions.
  • Interpret various OS functions used in Linux / Ubuntu

Syllabus and Notes

Unit 1: Introduction to Systems Programming

[Main Page: Introduction to Systems Programming]

Unit 2: Compiler, Loaders and Linkers

[Main Page: Compiler, Loaders and Linkers]

  • Compilers: Basic compilers function, Phases of compilation, memory allocation, compilation of expression,
    Compilation of expressions, compilation of control structures, Code of optimization.
  • Loaders: Loader Schemes: Compile and go, General Loader Scheme, Absolute loaders,
    subroutine linkages, relocating loaders, direct linking loaders, Design of an absolute loader.
  • Linkers: Relocation and linking concepts, Design of linker,
    self relocating programs, Static and dynamic linker.

Unit 3: Introduction to OS and Process management

[Main Page: Introduction to OS and Process management]

Unit 4: Concurrency control

[Main Page: Concurrency control]

Unit 5: Memory Management

[Main Page: Memory Management]

Unit 6: Input and Output, File system

[Main Page: Input and Output, File system]


List of Practicals

  1. a. Study of Basic Linux Commands
    b. Write an shell scripting on LINUX OS
  2. Write C Program to implement Lexical Analyzer for simple arithmetic operation which creates output tables (Uniform Symbol Table or a. Identifier Table b. Literal Table c. Symbol Table)
  3. Design of PASS I of two pass assembler for pseudo machine code.
  4. Design of a MACRO PASS-I
  5. Implement Job scheduling algorithms: FCFS, SJF
  6. Implement Bankers Algorithm for deadlock detection and avoidance
  7. Implementation of page replacement algorithm: FIFO / LRU
  8. Case Study
    a. Android mobile operating system
    b. Study of System calls to list files, directories
    c. Study of System calls to handles process

Previous Years Question Papers

Practical/ Oral Exam Questions

  • SPOS Practical Exam Expected Oral Questions


Assignment 1Assignment 2
Assignment 3Assignment 4
Assignment 5Assignment 6

Ask Queries

  • Blogs: Dipak Pawar
  • Forums: Embedded Processors


Created by Vishal E on 2019/03/21 07:23
Happy WikiNoting!