You are on page 1of 2

BIT 4206 : Network Programming

Pre-requisite BIT 3102 Network Management BIT 3201 Object Oriented Programming

Objectives By the end of the course unit a learner shall be able to: Have knowledge about UNIX technologies (IPC, POSIX threads, Unix file system). Be able to develop client-server network applications on the Internet, based on UNIX/Linux

Course Content 1. Introduction Unix Technologies 2. 3. Primary Objectives of OS What is Unix ? Unix Architecture The Kernel The Shell

Unix System calls System Call Interface Library calls and system calls Categories of System Calls in Unix

Process and Inter-process Communication What is process? The Process Model Process operations (System Calls) Inter-Process Communication o o o o o o o Shared Memory Message Passing IPC .

Process Synchronization Race Conditions Critical section problem Mutual Exclusion Conditions Semaphores Monitors

4.

Posix Threads Programming Pthreads Overview Pthreads Designing Threaded The Pthreads API Thread Management o o Creating and Terminating Thread Routines

Passing Arguments to Threads Joining and Detaching Threads Example: Pthread program Thread Synchronization o o o o Semaphore Mutex variables, Condition variable Locking

Thread Models: Thread Pool o o o Boss/worker Pipeline Background task

5.

Unix file system Basic I/O General Unix File System Structure, Standard File system calls

6.

Socket programming Introduction to sockets Types of sockets Socket programming model Socket I/O: socket, bind, listen, accept, connect, send, recv, Socket Utilities: byte-ordering, network address, Issue: Blocking-Non blocking, Socket Client sample and Server sample programs.

. Assessments 1. Continuous Assessment Tests (CATs)- (30%) 2. End of semester examination - (70%) References: 1. 2. 3. W. Richard Stevens , 2004, UNIX Network Programming Douglas Comer, 1999, Internetworking with TCP/IP: Design, implementation, and internals Stevens , 2011, Advanced Programming in the UNIX Environment

Lecturer : Mr Paul Kathale, Email: paulkathale@gmail.com Telephone : 0733-378670

You might also like