Thursday, 6 October 2016

A8-R4 : BASICS OF OS, UNIX AND SHELL PROGRAMMING Syllabus

Objective of the Course


The objective of the course is to make students aware of the functioning of a multi-user operating
system. This course will serve as a foundation course for the higher level course in Unix. The
students are expected to learn the commands while doing practical and emphasis should be
given to those switches/options and flags, which are most frequently used in real life.

After completion of the course students will be able to:

   • Understand Operating System concepts.
   • Use System calls and memory management.
   • Use Unix commands and editors.
   • Carry out Unix File management and shell programming in Unix.
   • Do Network configuration and security management in Unix.




Outline of Course
Sr No.Topic Minimum number ofhours
1.Operating System Concepts04
2.Linux Ideas and History01
3.Linux Usage Basics02
4.Running Commands and Getting help02
5.Browsing the File System04
6.The X-Window System04
7.Users, Groups and Permissions03
8.Advanced Topics in Users, Groups and Permissions03
9.The Linux file system in-depth06
10.vim: An advanced text editor03
11.Standard I/O and Pipes02
12.Using the bash shell03
13.Configuring the Bash Shell04
14.Text Processing Tools03
15.Shell Programming06
16.Investigating and Managing Process04
17.Finding and Processing Files02
18.Basic System Configuration Tools04
Lectures = 60
Practical/tutorials = 60
Total = 12

Detailed Syllabus

1. Operating System Concepts 04 Hrs.

Overview of OS. System Calls, Process Management, Memory Management, Disk and filesystems, Networking, Security, Graphical User Interface, Device Drivers.

2. Linux Ideas and History 01 Hrs.

What is Open Source? , Linux Origins, Red Hat Distributions, Linux Principles 

3. Linux Usage and Basics 02 Hrs.

Logging in to a Linux System, Switching between virtual consoles and the graphical
environment, Elements of the X Window System, Starting the X server, Changing your
password, The root user, Changing identities, Editing text files.

4. Running Commands and Getting Help 02 Hrs.

Running Commands, Some Simple commands, Getting Help, The whatis command, The –
help Option, Reading Usage Summaries, The man command, Navigating man pages, The
info command, Navigating info pages, Extended Documentation, Red Hat Documentation.

5. Browsing the File System 04 Hrs.

Linux File Hierarchy Concepts, Some Important Directories, Current Working Directory, File
and Directory Names, Absolute and Relative Pathnames, Changing Directories, Listing
Directory Contents, Copying Files and Directories, Copying Files and Directories: The
Destination, Moving and Renaming Files and Directories, Creating and Removing Files,
Creating and Removing Directories, Using Nautilus, Determining File Content.

6. The X-Window System 04 Hrs.

XOrg: The X11 Server, XOrg Server Design, XOrg Server Configuration, XOrg Modularity,
Server and Client Relationship, XOrg in runlevel 3, XOrg in runlevel 5, Configuration
Utilities, Remote X Sessions.

7. Users, Groups and Permissions 03 Hrs.

Users, Groups, Linux File Security, Permission Precedence, Permission Types, Examining
Permissions, Interpreting Permissions, Changing File Ownership, Changing Permissions –
Symbolic Method, Changing Permissions – Numeric Method, Changing Permissions –
Nautilus

8. Advanced Topics in Users, Groups and Permissions 03 Hrs.

User and Group ID Numbers, /etc/passwd, /etc/shadow and /etc/group files, User
Management tools, System Users and and Groups, Monitoring Logins, Default
Permissions, Special Permissions for Executables, Special Permissions for Directories.

9. The Linux File System In-depth 06 Hrs.

Partitions and Filesystems, Inodes, Directories, Inodes and Directories, cp and inodes, mv
and inodes, rm and inodes, Hard Links, Symbolic ( or soft) Links, The Seven Fundamental
Filetypes, Checking Free Space, Removable Media, Mounting CDs and DVDs, Mounting
USB Media, Mounting Floppy Disks, Archiving Files and Compressing Archives, Creating,
Listing and Extracting File Archives, Creating File Archives: Other Tools.

10. vim: An Advanced Text Editor 03 Hrs.

Introducing vim, vim: A Modal Editor, vim basics, Opening a file in vim, Modifying a file,
Saving a file and exiting vim, Using Command Mode, Moving around, Search and Replace,

Manipulating Text, Undoing changes, Visual Mode, Using multiple “windows”, Configuring vi
and vim, Learning more.

11. Standard I/O and Pipes 02 Hrs.

Standard Input and Output, Redirecting Output to a File, Redirecting STDOUT to a
Program(Piping), Combining Output and Errors, Redirecting to Multiple Targets (tee),
Redirecting STDIN from a file, Sending Multiple Lines to STDIN.

12. Using the Bash Shell 03 Hrs.

Bash Introduction, Bash Heritage and Features, Command Line Shortcuts, History Tricks,
Command Line Expansion, Command Editing Tricks, gnome-terminal

13. Configuring the Bash Shell 04 Hrs.

Bash Variables, Environment variables, The TERM Environment variable, The PATH
Environment variable, Some common variables, Aliases, How bash expands a Command
Line, Preventing Expansion, Login vs non-login shells, Bash startup tasks: profile, Bash
startup tasks: bashrc, Bash exit tasks

14. Text Processing Tools 03 Hrs.

Tools for Extracting Text, Viewing File Contents, Viewing File Excerpts, Extracting Text by
Keyword, Extracting Text by column, Tools for analyzing text, Gathering text statistics,
Sorting Text, Eliminating Duplicate Lines, Comparing Files, Duplicating File Changes, Spell
Checking with aspell, Tools for manipulating Text, sed, Special Characters for Complex
Searches.

15. Shell Programming 06 Hrs.

Scripting Basics, Creating Shell Scripts, Generating Output, Handling Input, Exit Status,
Control Structures, Conditional Execution, File Tests, String Tests, for and sequences,
continue and break, Using positional parameters, handling parameters with Spaces,
Scripting at the command line, Shell Script debugging.

16. Investigating and Managing Process 04 Hrs.

What is a Process? Listing Processes, Finding Processes, Signals, Sending Signals to
Processes, Scheduling Priority, Altering Scheduling Priority, Interactive Process
management tools, Job Control, Scheduling a Process to execute later, Crontab File format.

17. Finding and Processing Files 02 Hrs.

Locate, Locate Examples, find, Basic find Examples, find and Logical Operators, find and
Permissions, find and Numeric Criteria, find and Access Times, Executing commands with
find, find Execution Examples, The GNOME Search Tool.

18. Basic System Configuration Tools 04 Hrs.

TCP/IP Network Configuration, Managing Ethernet Connections, Graphical Network
Configuration, Network Configuration Files, Printing in Linux, Setting the System's Date and
Time, Managing Services.

RECOMMENDED BOOKS

MAIN READING

1. Maurice J. Bach, “Design of the Unix Operating System”, Pearson Education,2008.
2. Sumitabha Das, “Unix : Concepts and Applications”, Tata McGraw-Hill , 2008.
3. ISRD Group, “Basics of OS, UNIX and SHELL Programming” , Tata McGraw-Hill,2006.
4. Sarwar, Koretsky, and Sarwar, “Unix , The Text Book”, Pearson Education, 2007.

SUPPLEMENTARY READING

1. Stephen Prata “Advanced Unix -A programmer’s Guide”., BPB Publication, 2008.
2. Kochan S & Wood P, “Unix Shell Programming”, Pearson Education, 2008.
3. Stevens W R, Rago S.A, “Advanced Programming in Unix Environment”, Pearson
Education, 2008.