Department: Information Science and Engineering Course Type: Core Elective
Course Title: Unix System Programming Course Code: 18ISE556
L-T-P: 3-0-0 Credits: 03
Total Contact Hours: 39 hrs Duration of SEE: 3 hrs
SEE Marks: 50 CIE Marks: 50
Prerequisite:
UNIX AND Shell Programming.
Fundamentals of operating systems.
Course Outcome:
At the end of the course students will be able to:
Cos Course Outcome Description Blooms
Level
1 Describe need for Standardizing the UNIX Environment. L2
2 Apply appropriate UNIX File APIs to solve the given problem. L3
3 Apply the appropriate Unix APIs for process and job control. L3
4 Apply signal related APIs to solve the given problem. L3
5 Demonstrate inter-process communication using different IPC structures. L3
Teaching Methodology:
Black board teaching/Power point presentation.
Programming assignments
Case studies.
Assessment methods:
Three internals, 30 Marks each will be conducted and the Average of best of two will be taken.
Rubrics for evaluation of case studies.
Rubrics for evaluation of Programming Assignments.
Final examination, of 100 Marks will be conducted and will be evaluated for 50 Marks.
Course Outcome to Programme Outcome Mapping:
Po’s Po1 Po2 Po3 Po4 Po5 Po6 Po7 Po8 Po9 Po10 Po11 Po12 Pso1 Pso2
CO1 3
CO2 3 2 3 1 1 1 3
CO3 3 2 3 1 1 1 3
CO4 3 2 3 1 1 1 3
CO5 3 2 3 1 1 1
18ISE556 3 2 3 1 1 1 3
Course Content
UNIT I 8Hours
INTRODUCTION: UNIX and ANSI Standards: The ANSI C Standard, Difference between ANSI C and C++,
The POSIX Standards, UNIX and POSIX APIs: The POSIX APIs, The UNIX and POSIX Development
Environment, API Common [Link] FILES: File Types, The UNIX and POSIX File System, The
UNIX and POSIX File Attributes, Inodes in UNIX System V, Application Program Interface to Files, UNIX
Kernel Support for Files, Relationship of C Stream Pointers and File Descriptors, Directory Files, Hard and
Symbolic Links.
UNIT II 8Hours
UNIX File APIs: General File APIs, File and Record Locking UNIX PROCESSES: The Environment of a UNIX
Process: Introduction, main function, Process Termination, Command Line Arguments, Environment List,
Memory Layout of a C Program, Memory Allocation, Environment Variables.
UNIT III 8Hours
PROCESS CONTROL: Introduction, Process Identifiers, fork, vfork, exit, wait, waitpid, waited, Race
Conditions, exec Functions, Changing User IDs and Group IDs, Interpreter Files, system Function, Process
Accounting, User [Link] RELATIONSHIPS: Introduction, Terminal Logins, Network
Logins, Process Groups, Sessions, Controlling Terminal, tcgetpgrp, tcsetpgrp, and tcgetsid Functions, Job
Control.
UNIT IV 8Hours
SIGNALS: Signals: The UNIX Kernel Support for Signals, signal, Signal Mask, sigaction, The SIGCHLD Signal
and the waitpid Function, Kill, [Link] COMMUNICATION: Introduction; Pipes, popen,
pclose Functions; Coprocesses, FIFOs;
UNIT V 7Hours
DAEMON PROCESSES: Introduction, Daemon Characteristics, Coding [Link] IPC: SOCKETS:
Introduction, Socket Descriptors, Addressing, Connection establishment, Data transfer.
Text Books:
1. Terrence Chan UNIX System Programming Using C++, Prentice Hall India, 1999.
2. [Link] Stevens Advanced Programming in the UNIX Environment, 2nd Edition, Addison-Wesley /
PHI, 1992.
Reference Books:
1. Marc J. Rochkind Advanced Unix Programming, 2nd Edition, Pearson Education, 2005.
2. [Link] Design of the UNIX Operating System, Pearson Education / PHI, 1987.
3. UreshVahalia UNIX Internals, Pearson Education, 2001.