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 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

BIT 4206 Network Programming - Course Outline

Embed Size (px)

Citation preview

Page 1: BIT 4206 Network Programming - Course Outline

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

Page 2: BIT 4206 Network Programming - Course Outline

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