CS609 : System Programming

Course Overview

Course Synopsis

This course familiarizes you with the internal working of different components of PC. It demonstrate students how to control these components, how TSR (Terminate and Stay Resident) programs work and how different interrupts are generated and intercepted. You will learn how to develop device drivers for different devices. In this course you will learn different file systems and their working in detail. It also guides you how different viruses and data recovery software works.

Course Learning Outcomes

At the end of the course, you should be able to:

  • Describe how different components of PC work internally
  • Intercept different interrupts and complete knowledge of TSR programs
  • Analyze internal structure and complete details of different file systems
  • Develop device drivers for different devices
  • Recover data from deleted files
  • Detect and remove different kind of viruses


Course Calendar

TopicLectureResourcePage
System Programming (overview)1Handouts03-10
Interrupt Mechanism1,2Handouts10-11
Interrupt Vector Table (IVT)2Handouts12-20
Use of ISRs for C Library functions3Handouts20 - 23
TSR programs3Handouts23 - 27
Interrupt stealing or interrupt hooks4Handouts27 - 28
Timer interrupt4Handouts28 - 29
Memory mapped I/O and Isolated I/O4Handouts30 - 34
The keyboard interrupt5Handouts34 - 38
Reentrant Procedures and Interrupts5Handouts38 - 42
Disk interrupt6Handouts42 - 43
Keyboard hook6Handouts44 - 45
Programmable Interrupt Controller7Handouts46 -53
Keyboard buffer8Handouts54 - 67
The interval timer9,10Handouts68 - 80
Quiz # 1
Peripheral Programmable Interface (PPI)10,11Handouts81 - 94
Assignment # 1
Printer interface12Handouts95 - 104
Serial communication13Handouts105 - 106
Universal Asynchronous Receiver Transmitter (UART)13,14,15Handouts107 - 123
Assignment # 2
Programming the COM port (UART)16Handouts123 - 133
Null Modem17Handouts134 - 135
Real time clock (RTC)17,18,19Handouts136 - 160
Determining system information19,20,21Handouts161 - 177
Keyboard interface21Handouts177 - 184
DMA controller22Handouts184 - 186
Mid term Exam
DMA Cascading23Handouts186 - 188
DMA Programming Model23Handouts189 - 195
Setup & Query of DMA24Handouts196 - 197
Programming DMA Controller24,25Handouts197 - 200
Assignment # 3
File Systems25Handouts200
Disk Architecture25Handouts201 - 207
Hard Disk26,27Handouts207 - 218
Structure of Partition Table27Handouts218 - 221
Primary and Extended Partitions27Handouts222 - 223
Extended Partitions28Handouts223 - 229
Logical Sector Number30Handouts239 - 240
Quiz # 2
File System Data Structure30Handouts241 - 243
Boot Block31Handouts244 - 249
Drive Parameter Block (DPB)32Handouts249 - 255
File Control Block33Handouts257 - 264
FAT1234Handouts264 - 271
FAT1635Handouts271 - 273
Graded Moderated Discussion Board
File organization36Handouts274 - 278
Deleted files and Sub directories36Handouts279 - 282
Long file names37Handouts283 - 285
FAT3237,38Handouts286 - 300
NTFS39Handouts301 - 306
Disassembling the NTFS40Handouts306 - 313
Disk utilities41Handouts314 - 316
Memory management42,43,44Handouts317 - 325
Non-Contiguous memory allocation43Handouts325 - 326
Selectors and Descriptor43Handouts326 - 329
Address Translation in Protected Mode44Handouts329 - 331
Viruses44,45Handouts331 - 332
Types of Viruses45Handouts332 - 335
Detection and removal of Viruses45Handouts336 - 337
Final Term Exam
 
 
Back to Top