Systems Programming and Operating System syllabus
2019 PATTERN. This is the 2019 pattern syllabus, the latest SPPU has published on its site for Third Year Computer Engineering. A 2024 pattern syllabus for this year has not been published there yet, so confirm with your college which pattern applies to you.
310243 · Third Year Computer Engineering, SPPU 2019 pattern. Every unit, the marks scheme, course outcomes and books, copied from the official syllabus PDF.
Unit-wise syllabus
Introduction
8 hoursIntroduction to Systems Programming, Need of Systems Programming, Software Hierarchy, Types of software: system software and application software, Machine structure. Evolution of components of Systems Programming: Text Editors, Assembler, Macros, Compiler, Interpreter, Loader, Linker, Debugger, Device Drivers, Operating System. Elements of Assembly Language Programming: Assembly Language statements, Benefits of Assembly Language, A simple Assembly scheme, Pass Structure of Assembler. Design of two pass Assembler: Processing of declaration statements, Assembler Directives and imperative statements, Advanced Assembler Directives, Intermediate code forms, Pass I and Pass II of two pass Assembler.
Macro Processor and Compilers
6 hoursIntroduction, Features of a Macro facility: Macro instruction arguments, Conditional Macro expansion, Macro calls within Macros, Macro instructions, Defining Macro, Design of two pass Macro processor, Concept of single pass Macro processor. Introduction to Compilers: Phases of Compiler with one example, Comparison of Compiler and Interpreter.
Linkers and Loaders
7 hoursIntroduction, Loader schemes: Compile and Go, General Loader Scheme, Absolute Loaders, Subroutine Linkages, Relocating Loaders, Direct linking Loaders, Overlay structure, Design of an Absolute Loader, Design of Direct linking Loader, Self-relocating programs, Static and Dynamic linking.
Operating System (OS)
7 hoursIntroduction: Evolution of OS, Operating System Services, Functions of Operating System. Process Management: Process, Process States: 5 and 7 state model, Process control block, Threads, Thread lifecycle, Multithreading Model, Process control system calls. Process Scheduling: Uni-processor Scheduling, Scheduling: Preemptive, Non-preemptive, Longterm, Medium-term, Short term scheduling. Scheduling Algorithms: FCFS, SJF, RR, and Priority.
Synchronization and Concurrency Control
7 hoursConcurrency: Principle and issues with Concurrency, Mutual Exclusion, Hardware approach, Software approach, Semaphore, Mutex and monitor, Reader writer problem, Producer Consumer problem, Dining Philosopher problem. Deadlocks: Principle of Deadlock, Deadlock prevention, Deadlock avoidance, Deadlock detection, Deadlock recovery.
Memory Management
7 hoursIntroduction: Memory Management concepts, Memory Management requirements. Memory Partitioning: Fixed Partitioning, Dynamic Partitioning, Buddy Systems Fragmentation, Paging, Segmentation, Address translation. Placement Strategies: First Fit, Best Fit, Next Fit and Worst Fit. Virtual Memory (VM): Concepts, Swapping, VM with Paging, Page Table Structure, Inverted Page Table, Translation Look aside Buffer, Page Size, VM with Segmentation, VM with Combined paging and segmentation. Page Replacement Policies: First In First Out (FIFO), Last Recently Used(LRU), Optimal, Thrashing.
Marks and credits
| Head | Marks | Credit |
|---|---|---|
| Mid-Sem (mid-semester exam) | 30 | 3 |
| End-semester exam | 70 |
Prerequisite: Programming and Problem Solving (110005), Data Structures and Algorithms (210252), Principles of Programming Languages (210255), Microprocessor (210254).
Course outcomes
- CO1Analyze and synthesize basic System Software and its functionality.
- CO2Identify suitable data structures and Design & Implement various System Software
- CO3Compare different loading schemes and analyze the performance of linker and loader
- CO4Implement and Analyze the performance of process scheduling algorithms
- CO5Identify the mechanism to deal with deadlock and concurrency issues
- CO6Demonstrate memory organization and memory management policies
Books
Text books
- John Donovan, “Systems Programming”, McGraw Hill, ISBN 978-0--07-460482-3
- Dhamdhere D., "Systems Programming and Operating Systems", McGraw Hill, ISBN 0 - 07 - 463579 – 4 th
- Silberschatz, Galvin, Gagne, "Operating System Principles", 9 Edition, Wiley, ISBN 978- 1-118-06333-0
Reference books
- Leland Beck, “System Software: An Introduction to Systems Programming”, Pearson
- John R. Levine, Tony Mason, Doug Brown, “Lex & Yacc”, 1st Edition, O’REILLY, ISBN 81-7366-062-X
- Alfred V. Aho, Ravi Sethi, Reffrey D. Ullman, “Compilers Principles, Techniques, and Tools”, Addison Wesley, ISBN 981-235-885-4
NPTEL and SWAYAM links
Listed in the official syllabus:
FAQ
How many units are in Systems Programming and Operating System?
Systems Programming and Operating System (310243) has 6 units: Unit I Introduction (8 h); Unit II Macro Processor and Compilers (6 h); Unit III Linkers and Loaders (7 h); Unit IV Operating System (OS) (7 h); Unit V Synchronization and Concurrency Control (7 h); Unit VI Memory Management (7 h).
What is the marks scheme for Systems Programming and Operating System?
The official Computer Engineering 2019 pattern syllabus lists mid-semester (Mid-Sem) for 30 marks and the end-semester exam for 70 marks, for 3 credits.
What should I know before Systems Programming and Operating System?
Prerequisite listed in the syllabus: Programming and Problem Solving (110005), Data Structures and Algorithms (210252), Principles of Programming Languages (210255), Microprocessor (210254).