Operating Systems and Shell Programming

Paper Code: 
25CDBA416
Credits: 
03
Periods/week: 
03
Max. Marks: 
100.00
Objective: 

The course will enable the students to

1    Understand basic  concepts of Operating systems. followed  by study  of Linux.

2    Work with basic  commands of Linux

 

Course Outcomes: 

Course

Learning outcome

(at course level)

Learning and teaching strategies

Assessment

Strategies

Course

Code

Course

Title

 

 

 

 

 

 

 

 

 

 

 

 

25CDBA

16

 

 

 

 

 

 

 

 

 

Operating Systems and Shell Programming (Practical)

CO229. Analyse  the concepts and working  of Operating System.

CO230.     Examine      the architecture       of       Linux operating system and   the reason for open source. CO231. Execute the  basic commands   of    Linux    to manage    files     and      file system.

CO232.    Formulate     the problem  to  implement  the concepts   of    redirection, pipes  and  filters  in Linux. CO233.   Design,     debug and   execute  simple   shell scripts.

CO234.Contribute effectively      in      course- specific  interaction.

Approach in teaching: Interactive

Lectures, Discussion,

Reading assignments

,Demonstration. Learning activities for the students:    Self learning

assignments

, Effective questions,

Simulation,

Seminar presentation.

Class test, Semester end examinations, Quiz, Assignments, Presentation.

 

Contents:

  1. Introduction to Operating Systems, history, functions and  types of operating system.
  2. Process Management: Basic Concepts of process and  Process Scheduling, Operation on Processes.
  3. Memory Management: Basic Concepts of Logical versus Physical  Address space, Swapping, Contiguous allocation (fragmentation), Paging, Segmentation.
  4. Linux: GUI, Logging  in, Desktop Customization.
  5.    General Purpose Utilities in Linux (date, cal,  who,   tty,   uname, passwd, bc,script, echo, logging  out).
  6. Linux File System: file types, file inode, Home  directory and  Current directory
  1. Navigating file system- pwd,  cd, mkdir,  rmdir,ls.
  2. Handling  ordinary files-cat, cp, mv, wc, rm,  cmp.
  3. Basic file attributes- file permissions, changing permissions.
  4. Redirection & Pipes
  5. Simple filters- head, tail, cut,  paste, sort, uniq,  tr.
  6.  Regular expression-Grep   utility,   Shell  command  line,   redirection,   pipeline, split output, tee.
  7. Working with  Linux Process:  Process, Shell  process,  Process  spawning - parent  and   child  process,  Process  attributes  -  pid,   ppid,   Init   Process,  User process & System process,  ps with options.
  8. The Linux  Environment:  Environment  variable  vs  Local  variables,  set   command, env  command,     SHELL, HOME, PATH, LOGNAME, PS1, PS2, history, ! and  ~
  9. Types  of Text  editors, using  vi editor, prompt character, correcting typing  errors.
  •    Basics of System Administration :grep & sed  command
  •    Basic shell programming Interactive  scripts, shell  variables,  assigning       values to variables, Positional parameters, command line arguments,         Arithmetic  in shell script,  Decision  taking-if  else,  nested if, file tests,         string tests, case control  structure. Loop control  structure-while and  for.

 

 

 

ESSENTIAL READINGS: 

1.   Silbersachatz and  P.Galvin,  “Operating System Concepts 9th  Edition-  New Delhi: Wiley India-  2011.

2.   Sumitabha Das,  “UNIX Concepts and  Applications”, Tata  McGraw Hill.

REFERENCES: 

SUGGESTED READINGS:

1.   Mark G. Sobell,  “A Practical  Guide To Linux Commands, Editors  and  ShellProgramming” Pearson Education.

2.   Madnick E., Donovan J., “Operating Systems”, Tata  McGraw Hill, 2001

3.   B. W. Kernighan & R. Pike, “The UNIX Programming Environment”, PHI.

e RESOURCES

1.    Linux Spoken Tutorial: https://spoken-tutorial.org/tutorial- search/?search_foss=Linux&search_language=English

2.    Java  point: https://www.javatpoint.com/linux-tutorial

3.    Tutorial, Ubantu: https://ubuntu.com/tutorials/command-line-for-beginners

JOURNALS

1.   Journal of Operating Systems Development & Trends, ISSN: 2454-9355

2.   International Journal of Reconfigurable Computing, hindawi  Journals. ISSN: 1687-7195 (Print)

 

Academic Year: