Upload
suada-bow-weezy
View
14
Download
3
Embed Size (px)
Citation preview
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
Primary Objectives of OS
What is Unix ?
Unix Architecture
The Kernel
The Shell
2. Unix System calls
System Call Interface
Library calls and system calls
Categories of System Calls in Unix
3. Process and Inter-process Communication
What is process?
The Process Model
Process operations (System Calls)
Inter-Process Communication
o Shared Memory
o Message Passing IPC .
Process Synchronization
o Race Conditions
o Critical section problem
o Mutual Exclusion Conditions
o Semaphores
o Monitors
4. Posix Threads Programming
Pthreads Overview
Pthreads
Designing Threaded
The Pthreads API
Thread Management
o Creating and Terminating
o Thread Routines
Passing Arguments to Threads
Joining and Detaching Threads
Example: Pthread program
Thread Synchronization
o Semaphore
o Mutex variables,
o Condition variable
o Locking
Thread Models: Thread Pool
o Boss/worker
o Pipeline
o 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. W. Richard Stevens , 2004, UNIX Network Programming
2. Douglas Comer, 1999, Internetworking with TCP/IP: Design, implementation, and internals
3. Stevens , 2011, Advanced Programming in the UNIX Environment
Lecturer : Mr Paul Kathale,
Email: [email protected]
Telephone : 0733-378670