Académique Documents
Professionnel Documents
Culture Documents
9-Jun-2008
Systems Curriculum
1. Level 2 (Intermediate) ................................................................................................... 2
Pre-requisite Courses ...................................................................................................... 2
Systems Level 2 (Intermediate) Topics ............................................................................. 3
C Programming Language................................................................................................ 3
Functions and Variables ................................................................................................ 3
Arrays ............................................................................................................................... 3
Pointers ............................................................................................................................ 3
Structures ........................................................................................................................ 3
Standard C Library Detailed ...................................................................................... 3
C preprocessor ................................................................................................................ 3
File Handling ................................................................................................................... 3
Data structures ............................................................................................................... 4
C++ Programming Language ........................................................................................... 4
Inheritance and Composition ....................................................................................... 4
Polymorphism ................................................................................................................. 4
Exception Handling ........................................................................................................ 4
Templates ........................................................................................................................ 4
Standard Template Library........................................................................................... 5
Run Time Type Information/Identification (RTTI) ................................................... 5
Input Output in C++ ....................................................................................................... 5
UNIX / Linux ....................................................................................................................... 5
Introduction .................................................................................................................... 5
Miscellaneous .................................................................................................................. 5
File System I ................................................................................................................. 5
File System II ................................................................................................................ 6
Processes I .................................................................................................................... 6
Processes II ................................................................................................................... 6
Signals .............................................................................................................................. 6
2. References for Reading Material ................................................................................. 6
Proprietary Information:
This document contains proprietary information belonging to Patni Academy for Competency Enhancement (PACE). It may not be
reproduced in whole or in part, nor disclosed without the written permission of Patni Computer Systems Ltd.
Page 1 of 6
1. Level 2 (Intermediate)
Pre-requisite Courses
Systems L1 (Level 1)
Proprietary Information:
This document contains proprietary information belonging to Patni Academy for Competency Enhancement (PACE). It may not be
reproduced in whole or in part, nor disclosed without the written permission of Patni Computer Systems Ltd.
Page 2 of 6
Proprietary Information:
This document contains proprietary information belonging to Patni Academy for Competency Enhancement (PACE). It may not be
reproduced in whole or in part, nor disclosed without the written permission of Patni Computer Systems Ltd.
Page 3 of 6
Data structures
Linked lists
Stacks
Queues
UNIX / Linux
Introduction
Architecture of UNIX OS
Application Programming Interface
UNIX System Call Interface
Differences between Standard C Library and System Call
Library
Miscellaneous
Understanding Build process
Static and Dynamic Linking
Usage of Make with options
Creation of a sample Makefile
Libraries Shared libraries and archives
Error handling APIs errno and other error handling functions
User Identification UserId, GroupId and their APIs (Real and
Effective Ids)
File System I
File Descriptors
File Handling APIs open, close, creat, lseek, read, write
File descriptor duplication dup and dup2
File access permissions umask, chmod, chown functions
Working with directories mkdir, rmdir, opendir etc functions
Proprietary Information:
This document contains proprietary information belonging to Patni Academy for Competency Enhancement (PACE). It may not be
reproduced in whole or in part, nor disclosed without the written permission of Patni Computer Systems Ltd.
Page 5 of 6
File System II
sync, fsync and fdatasync functions
fcntl and ioctl functions
File truncation truncate and ftruncate functions
Links Hard links and soft links (symbolic link)
Link, unlink, remove, symlink, readlink functions
Processes I
Process Identifier (pid)
Process Environment (getenv, setenv, putenv, unsetenv
functions)
Process Creation (fork, vfork functions)
Copy-on-write concept
Executing a program (6 exec functions)
Example of fork and exec Shell executes a command eg. ps |
grep
Processes II
Process Termination and various exit functions
Waiting for Process to exit (wait, waitid and waitpid functions)
Orphan and Zombie processes
Resource Usage Limits (getrlimit and setrlimit functions)
Signals
Signalling concepts
Signal, sigaction and kill functions
Signal sets (sigemptyset, sigfillset, sigaddset, sigdelset,
sigismember functions)
Process signal mask (sigprocmask)
UNIX
Kernighan Brian W
Robert Lafore
Thinking in C++
Bruce Eckel
Sumithabha Das
Richard Stevens
Kerninghan & Pike
Proprietary Information:
This document contains proprietary information belonging to Patni Academy for Competency Enhancement (PACE). It may not be
reproduced in whole or in part, nor disclosed without the written permission of Patni Computer Systems Ltd.
Page 6 of 6