Sunteți pe pagina 1din 7

School of Engineering & Technology

Course outline

1. Nomenclature

Subject Name Code Type of course T-P-P Prerequisite


Programming for
Operating System Problem solving
Programming Theory & Practice 1-2-0 – Java/C++
Data Structures
and Algorithms

2. Objective
 To understand the various process communication, synchronization and scheduling
techniques
 To understand the various memory management and virtual memory management
techniques
 To have shell script coding practice

3. Learning outcome
 Customize Linux Kernel
 Implement modified scheduling algorithms

4. Evaluation Systems
Internal Component % of Marks Method of Assessment
Examination Midterm Test 20 Written examination
Assignment - Report and Presentation
Experiments 30 Lab work, report
Project - Report and presentation
Quiz - Surprise/preannounced ones

External
50 Written examination
Examination
Total 100

5. Course outline

 Student will implement different classical techniques used for Message passing,
synchronization problem, Scheduling algorithms using java/C++ and also can
develop and implement a hybrid model using the existing models depending on
nature of the task, its environment.

Centurion University of Technology & Management Page | 1


School of Engineering & Technology

Module I (5 Hrs)

Features and Functions of Operating System: Types of Operating System, OS Services,


System Calls and Virtual Machine.

Module II (10 Hrs)

Process Management: Process vs. Program, Process States, Process State Transitions,
Process Control Block, Context Switching, Threads, Concept of Multithreading, Benefits Of
Thread, And Types Of Threads, Thread Applications.

Module III (10 Hrs)

Process Scheduling: Scheduling Objectives, Types of Schedulers, Scheduling Criteria.


Scheduling Algorithm and Implementation: FCFS, JF, RR; IPC.
Process Synchronization: Classical IPC Problem, Reader and Writer Problem, Dinning
Philosopher Problems.

Module IV (15 Hrs)

A. Complete understanding of VI editor, Text file editing and formatting.


B. The Linux command line: Starting with Linux Shells, Getting to the Shell, Basic
bash Shell Commands, More bash Shell Commands, Using Linux Environment
Variables and Advance Linux commands.
C. File System: Directory structure, File Management.
Module V (10 Hrs)
D. Bash Shell Scripting-Basics: Using Structured Commands, More Structured
Commands, Handling User Input, Presenting Data, Script Control.
E. Advance shell scripting: Creating Functions, Adding Color to Scripts Introducing
sed and gawk, Regular Expressions Process of developing C/C++ programs in Linux
Entering C/C++ programs, Finding syntax errors, Preprocessing, Compiling, Linking,
Source files, Object files.
Module VI (10 Hrs)
 Student will implement different page replacement algorithms for optimal
utilization of memory (primary and secondary)

Centurion University of Technology & Management Page | 2


School of Engineering & Technology

Resource Management: Deadlock Characteristics, Deadlock Prevention and Deadlock


Avoidance: Bankers Algorithm, Deadlock Detection and Recovery.

Module VII (15 Hrs)

Memory Management: Logical And Physical Address Map, Memory Allocation:


Contiguous Memory Allocation, Fixed and Variable Partition, Internal and External
Fragmentation, Paging: Principle of Operation, Page Allocation Hardware Support,
Protection and Sharing, Disadvantages of Paging.

Basics of Virtual Memory: Locality of Reference, Page Fault, Working Set, TLB, Dirty
Page/Dirty Bit, Demand Paging (Concepts only) and Page Replacement policies.

Disk Structure: Secondary-Storage Structure, Disk Scheduling Algorithms.

Text Book:
1. Avi Silbersschatz and Peter Galvin, Operating System Concept, Jhon Wiley & Sons,
9th Edition.
2. Richard Petersen, Linux: The Complete Reference, McGraw Hill Ed, 6 th Edition, 2017.
Reference Book:
1. Mark G. Sobell, A Practical Guide to Linux Commands, Editors, and Shell
Programming, Prentice Hall, 2nd Edition, 2010.
2. Robert Love, Linux Kernel Development, Pearson Education, Inc.,3 rd Edition 2010.
Online Source:
1. Peter Jay Salzman, Michael Burian and OriPomerantz , The Linux Kernel Module
Programming Guide (https://www.iitg.ac.in/asahu/cs421/books/LKM2.6.pdf).
2. https://linuxhint.com/linux-kernel-tutorial-beginners/

Centurion University of Technology & Management Page | 3


School of Engineering & Technology

6. Session Plan

Activity (,
tutorial, lab Assignment
No. of practice, Suggested
(Project,
Session field Reading
Topic coverage assignment,
s (in studies/field (Book, Video,
and Internal Test field study,
hrs.) -trip, Online
seminar,
Workshop source, etc.)
etc.)
etc.)

Module I (5 Hrs)

Features of
Operating System, Tutorial TB1
2
Types of Operating
System

OS Services 1 Tutorial TB1

System Calls and Lab


2 Experiment TB1,TB2
Virtual Machine practice

Module II (10 Hrs)

Process Vs.
Tutorial,
Program, Process Experiment
2 Lab TB1
States, Process
practice
State Transitions
Process Control Tutorial,
Block, Context 4 Lab Experiment TB1
Switching practice

Threads, Concept
Of Multithreading,
Benefits Of Tutorial,
Thread, And 4 Lab Experiment TB1,TB2
Types Of Threads, practice
Thread
Applications

Module III (10 Hrs)

Centurion University of Technology & Management Page | 4


School of Engineering & Technology

Scheduling
Objectives, Types Tutorial TB1
2
Of Schedulers,
Scheduling Criteria
Scheduling Criteria
Scheduling Tutorial,
Algorithm And 4 Lab Experiment TB1,TB2
Implementation: practice
FCFS, JF, RR; IPC
Classical IPC
Problem, Reader
and Writer Tutorial,
4 Lab Assignment TB1
Problem, Dinning
Philosopher practice
Problems

Module – IV (15 Hrs)

Complete
Lab Experiment TB2, RB1
understanding of 4
practice
VI editor

Text file editing Lab Experiment TB2, RB1


3
and formatting practice
Starting with Linux
Shells, Getting to
Lab
the Shell, Basic 3 Experiment TB2, RB1
practice
bash Shell
Commands

More bash Shell


Commands, Using Lab Experiment
3 TB2, RB1
Linux Environment practice
Variables

Directory structure, Lab


2 practice Experiment TB2, RB1
File Management.

Module V (10 Hrs)


Using Structured
Commands, More Lab Experiment
2 TB2, RB1
Structured practice
Commands

Centurion University of Technology & Management Page | 5


School of Engineering & Technology

Handling User
Input, Presenting Lab Experiment
2 TB2, RB1
Data, Script practice
Control.
Creating Functions,
Adding Color to Lab Experiment
3 TB2, RB1
Scripts Introducing practice
sed and gawk

Regular
Expressions
Process of
developing C/C++
programs, Finding Lab Experiment
3 TB2, RB1
syntax errors, practice
Preprocessing,
Compiling,
Linking, Source
files, Object files.

Module VI (10 Hrs)

Deadlock TB1
2 Tutorial
Characteristics
Deadlock TB1
4 Tutorial
Prevention
Deadlock
Avoidance:
Bankers Tutorial,
Algorithm, 4 Lab Assignment TB1
Deadlock practice
Detection and
Recovery

Module VII (15 Hrs)

Logical And 3 Tutorial, Experiment TB1,TB2


Physical Address Lab
Map, Memory practice
Allocation:
Contiguous
Memory

Centurion University of Technology & Management Page | 6


School of Engineering & Technology

Allocation, Fixed
and Variable
Partition, Internal
and External
Fragmentation
Paging: Principle
of Operation, Page
Allocation
Hardware Support, Tutorial
3 TB1,TB2
Protection and
Sharing,
Disadvantages of
Paging
Locality of
Reference, Page Tutorial,
Fault, Working Set, 2 Lab TB1,TB2
TLB, Dirty practice
Page/Dirty Bit
Demand Paging
(Concepts only) Tutorial,
and Page 2 Lab Experiment TB1
Replacement practice
policies
Secondary-Storage
1 Tutorial TB1
Structure
Tutorial,
Disk Scheduling Experiment
4 Lab TB1
Algorithms
practice

Total Hrs 75

Developed by: (Faculty name): Debasish Das, Manoj Kumar Behera


Email: debasish.das@cutm.ac.in, manojbehera@cutm.ac.in
Mobile: 845501380, 8093788089
Developed on (Month and Year): 30th July 2018

Centurion University of Technology & Management Page | 7

S-ar putea să vă placă și