Wednesday, April 13, 2016

System Programming Course Outline - University of Sargodha

This course has three goals. First, it teaches the tools available in a Windows operating system
for program development. These tools include standard libraries, system calls, system programs,
and the basic Windows file system structure. Second, it is intended to rigorously develop the
System programming skills of students. Third, it is intended to introduce students to system level
code reading and the principles of code management.
Operating System Essentials, Windows, Standards, and Open Systems, 32-bit and 64-bit Source
Code Portability. Using the Windows File System and Character I/O. Advanced File and
Directory Processing, and the Registry. Exception Handling.Memory Management, Memory-
Mapped Files, and DLLs. Process Management.Threads and Scheduling. Thread
Synchronization. Advanced Thread Synchronization.Interprocess Communication.Network
Programming with Windows Sockets.Windows Services.Asynchronous Input/Output and
Completion Ports. Overlapped I/O, I/O Completion Ports. Securing Windows Objects.

1.      Operating System Essentials, Windows, Standards, and Open Systems, 32-bit and 64-bit
Source Code Portability, The Standard C Library. [TB: Ch. 1]
2.      Using the Windows File System and Character I/O:The Windows File Systems, File
Naming; Opening, Reading, Writing, and Closing Files; Unicode Strategies, Standard
Devices, File and Directory Management, Console I/O. [TB: Ch.2]
3.      Advanced File and Directory Processing, and the Registry: The 64-Bit File System, File
Pointers, File Attributes and Directory Processing, File Locking, Registry Management.
[TB: Ch. 3]
4.      Exception Handling: Exceptions and Their Handlers, Floating-Point Exceptions, Errors
and Exceptions, Termination Handlers, Console Control Handlers, Vectored Exception
Handling. [TB: Ch. 4]
5.      Memory Management, Memory-Mapped Files, and DLLs: Windows Memory
Management Architecture, Managing Heap Memory, Memory-Mapped Files, Dynamic
Link Libraries, The DLL Entry Point, DLL Version Management. [TB: Ch. 5]
6.      Process Management: Windows Processes and Threads, Process Creation, Process
Identities, Duplicating Handles, Exiting and Terminating a Process, Waiting for a
Process to Terminate, Environment Blocks and Strings, Processes in a Multiprocessor
Environment, Process Execution Times, Generating Console Control Events. [TB: Ch.
6]
7.      Threads and Scheduling: Thread Basics, Thread Management, Using the C Library in
Threads, Performance Impact, Introduction to Program Parallelism, Thread Local
Storage, Process and Thread Priority and Scheduling, Thread States, Timed Waits,
Fibers. [TB: Ch 7]
8.      Thread Synchronization: Thread Synchronization Objects, CRITICAL_SECTION
Objects, A CRITICAL_SECTION for Protecting Shared Variables, Mutexes,
Semaphores, Events. [TB: Ch. 8]
9.      Advanced Thread Synchronization: The Condition Variable Model and Safety
Properties, Using SignalObjectAndWait, A Queue Object, Windows NT6 Condition
Variables, Asynchronous Procedure Calls, Queuing Asynchronous Procedure Calls,
Alertable Wait States, Thread Stacks and the Number of Threads. [TB: Ch. 10]
10. Interprocess Communication: Anonymous Pipes, Named Pipes, Named Pipe Transaction
Functions, Mailslots, Pipe and Mailslot Creation, Connection, and Naming. [TB: Ch.
11]
11. Network Programming with Windows Sockets: Windows Sockets, Socket Server
Functions, Socket Client Functions, Comparing Named Pipes and Sockets, In-Process
Servers, Line-Oriented Messages, DLL Entry Points, and TLS, Datagrams. [TB: Ch. 12]
12. Windows Services: Writing Windows Services-Overview, The main() Function,
ServiceMain() Functions, The Service Control Handler, Event Logging, Managing
Windows Services.
13. Asynchronous Input/Output and Completion Ports: Overview of Windows
Asynchronous I/O,
14.  Overlapped I/O, I/O Completion Ports. [TB: Ch. 14]
• Windows System Programming by Johnson M. Hart, Addison-Wesley Professional;

4thEdition (February 26, 2010). ISBN-10: 0321657748
Reference Material:
          Programming Windows® by Charles Petzold, Microsoft Press; 5th Edition (December 2,
1998)    .            ISBN-10: 157231995X
          Programming Windows with MFC by Jeff Prosise, Microsoft Press; 2nd Edition (May 13,
1999)    .            ISBN-10: 1572316950
          Windows 8 Bible by Jim Boyce and Rob Tidrow, Wiley; 4th Edition (October 23, 2012).
ISBN-10: 1118203887
          Programming Windows Security by Keith Brown, Addison-Wesley Professional; 1st
Edition (July 15, 2000). ISBN-10: 0201604426


Note: This content is obtained from official documents of University of Sargodha and applied on BS Computer Science for Main Campus, Sub Campuses, and Affiliated Colleges.

0 comments:

Post a Comment