Lovely Professional University, Punjab
Course Code
Course Title
Course Planner
CSE325
OPERATING SYSTEMS LABORATORY
15359::Baljit Singh Saini
Course Weightage
ATT: 5
Exam Category: X6: Mid Term Exam: Not Applicable End Term Exam:
Practical
Course Orientation
SOFTWARE SKILL
CAP: 40
ETP: 55
Lectures Tutorials Practicals Credits
0
TextBooks ( T )
Sr No
Title
Author
Publisher Name
T-1
BEGINING LINUX
PROGRAMMING
NEIL MATHEW &
RICHARD STONES
WILEY
Author
Publisher Name
Reference Books ( R )
Sr No
Title
R-1
OPERATING SYSTEM CONCEPTS ABRAHAM
SILBERSCHATZ,
GALVIN
R-2
ADVANCED PROGRAMMING IN
THE UNIX ENVIRONMENT
WILEY
W.RICHARD STEVENS PEARSON
AND STEPHEN A. RAGO
Other Reading ( OR )
Sr No
Journals articles as Compulsary reading (specific articles, complete reference)
OR-1
http://static.usenix.org/events/hotos11/tech/final_files/Kuz.pdf ,
Relevant Websites ( RW )
Sr No
(Web address) (only if relevant to the course)
Salient Features
RW-1
http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html
Thread Creation
RW-2
http://www.yolinux.com/TUTORIALS/LinuxTutorialRedHatInstallation.html
Linux installation
*Each experiment of the lab will be evaluated using following relative scheme:
Component
Performance/Job
evaluation/conduct/executi
on/demonstration
% of Marks
50
An instruction plan is a tentative plan only and a teacher may make some changes in his/her teaching plan. The students are advised to use syllabus for preparation of all examinations. The students are expected to keep themselves
updated on the contemporary issues related to the course. Upto 20% of the questions in any examination/Academic tasks can be asked from such issues even if not explicitly mentioned in the instruction plan.
Viva
50
Detailed Plan For Practicals
Practical No
Broad topic (Subtopic)
Practical Description
Learning Outcomes
Equipment Used
Practical 1
Introduction to Linux(Basic Linux
Practical to introduce basic linux commands Student will be able to use command line PC/Linux Environment
Commands: ls, cat, man, cd, touch, cp,
interface of Linux
mv, rmdir, mkdir, rm, chmod, pwd)
Practical 2
Introduction to Linux(System Calls:
Read, Write, Open)
Practical to implement system calls
Student will be able to write code that
works at kernel level
PC/Linux Environment
Introduction to Linux(Lseek)
Practical to implement system calls
Student will be able to write code that
works at kernel level
PC/Linux Environment
Practical 3
Process creation and threading(Creating Practical 3: Evaluation 1
Threads)
Practiclal 4: Programs to create threads
Student learns to program in a multithreading environment in order to utilize
system resources optimally
PC/Linux Environment
Practical 4
Process creation and threading(Creating Practical 3: Evaluation 1
Threads)
Practiclal 4: Programs to create threads
Student learns to program in a multithreading environment in order to utilize
system resources optimally
PC/Linux Environment
Practical 5
Process creation and threading(Process Programs to create duplicate processes
duplication using fork)
Student will be able to write programs that PC/Linux Environment
make use of multi processing environment
Process creation and threading
Programs to create duplicate processes
(Replacing process image using execlp)
Student will be able to write programs that PC/Linux Environment
make use of multi processing environment
Synchronization(Synchronization with Practical 6: Evaluation 2
Mutexes)
Practical 7: Programs to implement mutex
locks
Student will be able solve synchronization PC/Linux Environment
problems
Synchronization(Race Condition)
Programs to implement mutex locks
Student will be able solve synchronization PC/Linux Environment
problems
Synchronization(Race Condition)
Programs to implement mutex locks
Student will be able solve synchronization PC/Linux Environment
problems
Practical 6
Practical 7
Synchronization(Synchronization with Practical 6: Evaluation 2
Mutexes)
Practical 7: Programs to implement mutex
locks
Student will be able solve synchronization PC/Linux Environment
problems
Practical 8
Synchronization(Synchronization with Programs to implement synchronization
Student learns to implement solutions to
semaphores)
problems like Dining Philosopher's problem synchronization problems
PC/Linux Environment
Practical 9
Simulation of deadlock related
algorithms(Creating deadlock using
mutex locks)
Practical 9: Evaluation 3
Practical 10: Program to implement and
avoid deadlock using mutex locks
Student gains insight on how deadlock can PC/Linux Environment
occur if resource allocation is not done
correctly
Practical 10
Simulation of deadlock related
algorithms(Creating deadlock using
mutex locks)
Practical 9: Evaluation 3
Practical 10: Program to implement and
avoid deadlock using mutex locks
Student gains insight on how deadlock can PC/Linux Environment
occur if resource allocation is not done
correctly
Practical 11
Simulation of deadlock related
algorithms(Simulation dead lock
avoidance using banker's algorithm)
Program to implement Banker's algorithm
Student learns about deadlock avoidance
using Banker's algorithm
PC/Linux Environment
Practical 12
Inter-process communication(Pipes,
popen and pclose functions)
Practical 12: Evaluation 4
Practical 13: Programs to implement pipes
Student learns to create process that can
share data with each other
PC/Linux Environment
An instruction plan is a tentative plan only and a teacher may make some changes in his/her teaching plan. The students are advised to use syllabus for preparation of all examinations. The students are expected to keep themselves
updated on the contemporary issues related to the course. Upto 20% of the questions in any examination/Academic tasks can be asked from such issues even if not explicitly mentioned in the instruction plan.
Practical 12
Inter-process communication(Stream
pipes, passing file descriptors)
Practical 12: Evaluation 4
Practical 13: Programs to implement pipes
Student learns to create process that can
share data with each other
PC/Linux Environment
Practical 13
Inter-process communication(Stream
pipes, passing file descriptors)
Practical 12: Evaluation 4
Practical 13: Programs to implement pipes
Student learns to create process that can
share data with each other
PC/Linux Environment
Inter-process communication(Pipes,
popen and pclose functions)
Practical 12: Evaluation 4
Practical 13: Programs to implement pipes
Student learns to create process that can
share data with each other
PC/Linux Environment
Inter-process communication(Shared
memory)
Programs to implement the concept of
shared memory and message passing
between processes
Student learns to create process that can
share data with each other
PC/Linux Environment
Inter-process communication(Message Programs to implement the concept of
passing)
shared memory and message passing
between processes
Student learns to create process that can
share data with each other
PC/Linux Environment
Practical 14
SPILL OVER
Practical 15
Spill Over
An instruction plan is a tentative plan only and a teacher may make some changes in his/her teaching plan. The students are advised to use syllabus for preparation of all examinations. The students are expected to keep themselves
updated on the contemporary issues related to the course. Upto 20% of the questions in any examination/Academic tasks can be asked from such issues even if not explicitly mentioned in the instruction plan.