You are on page 1of 5

Lovely Professional University,Punjab

Format For Instruction Plan [for Courses with Labs

Course No

Cours Title

Course Planner

CSE340

LABORATORY IN OPERATING SYSTEMS AND SYSTEM


SOFTWARE

14623 :: Pushpendra Kumar


Petriya

Text Book:

Other Specific Book:

Lectures Tutorial Practical Credits


0

1 Neil Matthew, Richard Stones, "Beginning Linux Programming", 4th Edition, Wrox press

2 A.S. Tanenbaum , "Operating Systems: Design and Implementation", 3rd Edition, Prentice Hall of India
3 D. M. Dhamdhere, "Systems Programming and Operating Systems", Second Revised Edition, Tata McGraw Hill
4 Charles Patrick Crowley, "Operating Systems: A Design Oriented Approach", Tata McGraw Hill
5 Achyut S. Godbole, "Operating Systems", Second Edition, Tata McGraw Hill

Other Reading
Sr No

Jouranls atricles as compulsary readings (specific articles, Complete reference)


6 http://www.linuxjournal.com/article/3326
7 http://anale-informatica.tibiscus.ro/download/lucrari/8-2-02-Opeyemi.pdf
8 http://www.doaj.org/doaj?func=searchArticles&uiLanguage=en&q1=system+call&f1=all&b1=and&q2=&f2=all
9 http://www.doaj.org/doaj?func=abstract&id=695328&q1=system%20call&f1=all&b1=and&q2=&f2=all&recNo=2&uiLanguage=en

Relevant Websites
Sr. No. (Web adress) (only if relevant to the courses)

Salient Features

10 http://en.wikipedia.org/wiki/List_of_operating_systems

List of Operating Systems

11 http://www.catch22.net/tuts/neatpad

Design and Implementation of a Win32 Text Editor

Approved for Autumn Session 2011-12

12 http://embedded.centurysoftware.com/docs/nx/fltk-editor.html

Designing a Simple Text Editor

13 http://freevideolectures.com/Course/2479/Operating-Systems- Operating Systems and System Programming Course at Berkeley


and-System-Programming-Spring-2010
14 linuxreviews.org/beginner/

Basic Information on LINUX and Shell

15 http://en.wikipedia.org/wiki/System_call

Basic Understanding of System Calls

*Each experiment of the lab will be evaluated using following relative scheme:
Component

% of Marks

J/E

50

WR

20

VIVA

30

List of experiments :Lecture


Number

Lecture Topic

Pedagogical Tools Or Equipment Planned

lab Manual

Individual 1

Installation of different Linux flavors.

PC and Linux CD/DVD

Not Applicable

Individual 2

Demonstration of Moving around the desktop


Linux platform
KDE/GNOME Panel, Workspace, Main Menu, Running
Applications etc, Terminal emulator & running
programs(/Commands) from terminal emulator

Not Applicable

Individual 3

Using KDE/Gnome for copying, moving, creating


directories/files.

Linux platform

Not Applicable

Individual 4

Working with Command Line Interface in Linux: Using


Shell. Shell commands: ls, touch, rm, mv, cp, mkdir,
rmdir, pwd, touch, etc

Linux platform

Not Applicable

Individual 5

Shell commands:ps, cat, fg, bg, Piping & Redirection.


Using help man, info etc

Linux platform

Not Applicable

Individual 6

File types like directory files, block special files etc.,File Linux Platform
Permissions and ownership: Understanding and
changing the permissions and ownership

Not Applicable

Individual 7

File attributes,Mounting disks and creating links

Not Applicable

Linux Platform

Approved for Autumn Session 2011-12

Individual 8

Write Programs using System calls of Linux for the


following:
File Handling (open, read)

Linux Platform/GCC

Not Applicable

Individual 9

Write Programs using System calls of Linux for the


following:
(write, close, ioctl)

Linux Platform/GCC

Not Applicable

Individual 10

Write Programs using System calls of Linux for the


following:
Changing the modes and ownership of files using
chmod(),chown(),
Changing the attributes of files using chgrp(),touch()

Linux Platform/GCC

Not Applicable

Individual 11

Write Programs using System calls of Linux for the


following:
Creating links using ln command,
Directory maintenance using link(),symlink(),unlink
(),chdir()

Linux Platform/GCC

Not Applicable

Individual 12

Write a program using fork() to duplicate process

Linux Platform/GCC

Not Applicable

Individual 13

Write programs using exec() to invoke new processes. Linux Platform/GCC

Not Applicable

Individual 14

Write programs using kill(), wait() and exit() system


calls
of Linux

Linux Platform/GCC

Not Applicable

Individual 15

Write programs using getpid() and getppid() system


calls

Linux Platform/GCC

Not Applicable

Individual 16

Write programs using following system calls of Linux


OS:
stat, opendir(), readdir()

Linux Platform/GCC

Not Applicable

Individual 17

Write C programs to simulate Linux commands like ls,


touch,cat,mv

Linux Platform/GCC

Not Applicable

Individual 18

Write C programs to simulate Linux commands like rm, Linux Platform/GCC


cp,mkdir, rmdir

Not Applicable

Individual 19

Write C programs to simulate Linux commands like


pwd, chmod, chown, grep etc.

Linux Platform/GCC

Not Applicable

Individual 20

Simulate the following CPU scheduling algorithms:


FCFS
and by writing a
program and print the average waiting time and
average turnaround time

C/C++

Not Applicable

Individual 21

Simulate the following CPU scheduling algorithms:


Shortest Job First
and by writing a
program and print the average waiting time and
average turnaround time

C/C++

Not Applicable

Approved for Autumn Session 2011-12

Individual 22

Simulate the following CPU scheduling


algorithms:Priority
and print the average waiting time and average
turnaround time

C/C++

Not Applicable

Individual 23

Simulate the following CPU scheduling


algorithms:Round Robin and print the average waiting
time and average turnaround time

C/C++

Not Applicable

Individual 24

Write a program of creating threads.

C/C++

Not Applicable

Mid Term
Individual 25

Write a program of manage threads by using different


statements like yield(), sleep()

C/C++

Not Applicable

Individual 26

Write a program of cancelling a thread

C/C++

Not Applicable

Individual 27

Write a program to Implement the semaphores

C/C++

Not Applicable

Individual 28

Implement some memory management schemes (malloc,alloc,calloc,free)

C/C++

Not Applicable

Individual 29

Programs to simulate page replacement algorithms like C/C++


FIFO

Not Applicable

Individual 30

Programs to simulate page replacement algorithms like C/C++


Optimal .

Not Applicable

Individual 31

Programs to simulate page replacement algorithms like C/C++


LRU

Not Applicable

Individual 32

Programs to simulate deadlock detection

C/C++

Not Applicable

Individual 33

Low level programming in C.i.Pointers to functions and C/C++


their applications

Not Applicable

Individual 34

Low level programming in C:Self modifying code and


applications

Not Applicable

Individual 35

Binary files of various types: structure and processing: Linux Platform


Object
and executable files (demonstrated through ELF files).
ELF layout and tools

Not Applicable

Individual 36

Binary files of various types Maintaining data structures Linux Platform


in files (e.g. b-tree, Linux directories)

Not Applicable

Individual 37

Binary files of various types:structure and


processing:Linking and Loading, Dynamic Loading

Linux Platform

Not Applicable

Individual 38

Use C graphics to build a text editor:


File menu, edit menu

C/C++

Not Applicable

Individual 39

Use C graphics to build a text editor:


Format menu

C/C++

Not Applicable

C/C++

Approved for Autumn Session 2011-12

Individual 40

Use C graphics to build a text editor:


View and Help menu.

C/C++

Not Applicable

Spill Over
Individual 41

Issues in program development:Memory Leaks

C/C++

Not Applicable

Individual 42

Issues in program development:Compiler Bugs

C/C++

Not Applicable

Individual 43

Issues in program development:Debugging programs

C/C++

Not Applicable

Individual 44

Revision of Linux shell commands

Linux Platform

Not Applicable

Approved for Autumn Session 2011-12

You might also like