You are on page 1of 22

Linux

Programming
COURSE CODE
: 13-OE-421
YEAR OF OFFERING THE COURSE
: III/IV B.TECH
SEMESTER OF OFFERING THE COURSE : I-SEMESTER
ACADEMIC YEAR
: 2015-16

Instructor name: Mr. N. Rajesh

Course objective
To provide the knowledge and skills to
make effective use of a wide range of
standard Linux programming and
development tools.

Course Rationale
The purpose of learning this course is Sustainable
for most programming languages and appropriate
for large range coding applications and consistent
workhorse for embedded Systems.
Linux programming is applicable to absorb as
system and application programmers, testers,
configuration managers, and future system
administrators in the industry

COURSE OUTCOMES (COs)

Upon a successful completion of the course Linux


Programming, the students will be able to
CO-1: Describe and understand the fundamental LINUX operating
system and
utilities.
CO-2: Apply shell scripts in order to perform basic shell
Programming and analyze
the Linux file system
CO-3:Analyze the process concepts and create applications using
various IPC
mechanisms

COURSE OUTCOME INDICATORS (COIs):


Course
Outcom
e
Number
CO-1

CO-2

CO-3

COI-1
Understand
various
utilities in the
Linux
environment
Apply shell scripts in
order to perform basic
shell Programming

COI-2

Understand by practicing
the concepts like Sed and
Awk .
Analyze File system,
file
and record locking File and
Directory file APIS, Symbolic
links and hard links
Understand and Analyze Analyze the signals and
the Process concept
Create an application using
IPC mechanisms

MAPPING OF COURSE OUTCOMES TO PROGRAM OUTCOMES AND COIs


TO TEACHING-LEARNING-EVALUATION PLAN
S.
No

Course
Outcome

CO -1

CO-2

CO-3

Progra
m
Outcom
e

A,E

Blooms
Taxono
my
level of
mappin
g*
Level-1

Level-1

Course
Outcom
e
Indicato
rs

Teaching-Learning Evaluation
Methods
Patterns

COI-1

COI-2

Level-2

COI-1

COI-2

Lecture,
PPT
Quiz
Practicing
commands
Lecture,
PPT
Quiz
Practicing shell
scripts
Lecture,
PPT
Quiz
Develop
applications

E,K

Level-2

Level-3

COI-1

COI-2

Test-1

Test-2

Test-3

Course Delivery plan


SESSION Number

Topic 1/COI-1

Session 1

Introduction to the course


Course Outcomes
Introduction to Linux OS

Session 2

File handling utilities- Ls,cp,mv


File handling utilities- mkdir,rmdir,rm
File handling utilities-examples
Security by file permissions chmodabsolute
Security by file permissions chmodrelative
Umask-command
Text processing utilities-cat,head,tail
Text processing utilities -sort,uniq,nl
Text processing utilities-wc,tee
Text processing utilities-cmp,comm.,diff
Text processing utilities-cut ,paste,join
Text processing utilities-tr,grep,egrep
Process utilities-Ps,who commands
Process utilities-w,finger commands
Disk utilities-df,du commands
Disk utilities-mount,umount commands
Backup utilities-tar
Backup utilities-cpio

Session 3

Session 4

Session 5

Session 6

Session 7

Topic 2/COI-2

Course Delivery plan


SESSION Number

Topic 1/COI-1

Topic 2/COI-2

Session 8

Sed scripts
Sed operations
Sed addresses

Session 9

Sed-commands
lineno,modify,substitute
transform,branch,files and hold
space commands of sed
Deletion of lines & text using sed
awk scripts,
Awk operations
awk patterns

Session 10

Session 11

AWK built in variables


AWK arrays,
Associative arrays
Built in functions performing both
arithmetic & String operations

Course Delivery plan


SESSION Number

Topic 1/COI-1

Session 12

Introduction to BASH
Echo ,read,expr,eval, export commands
Operators used in shell scripts
File substitution, process execution meta
characters
I/O redirection, quoting meta characters
Positional and special meta characters

Session 13

Session 14
Control structures
Session 15
Control structures

Session 16

Functions
Interrupt processing
debugging shell scripts, Here documents

Topic 2/COI-2

Course Delivery plan


SESSION Number

Session 17

Session 18

Session 19

Topic 1/COI-1

Topic 2/COI-2

Files : file Concept , File System


Structure
I nodes, File Attributes
File types
Library functions ,standard and
formatted I/O
low level file access File structure
related system calls

Session 20
file and record locking File
Session 21

directory management-Directory
file
Symbolic links and hard links

Course Delivery plan


SESSION Number

Topic 1/COI-1

Session 22

Process concept, Kernel support for


process,Creation of new process

Session 23

waiting for a process, Process


termination,Zombie process,orphan
process

Session 24
Session 25

Topic 2/COI-2

Introduction to signals, signal


generation and handling,signal
function & examples
Kill ,raise functions
abort Alarm functions
Sleep ,pause function

Session 26

Introduction to IPC,pipes

Session 27

Fifos
Message queues
Semaphores
Shared memory

Session 28

Linux history
Linux is a modern, Open Source operating
system based on UNIX standards
First developed as a small but self-contained
kernel in 1991 by Linus Torvalds, with the
major design goal of UNIX compatibility
Its history has been one of collaboration by
many users from all around the world,
corresponding almost exclusively over the
Internet. (University of Helsinki)
Now it is overseen by Open Source
Development Labs(OSDL).

Linux kernel

Version 0.01 (May 1991) had no networking, ran only on


80386-compatible Intel processors and on PC hardware,
had extremely limited device-drive support, and supported
only the Minix file system

Linux 1.0 (March 1994) included these new features:


Support for UNIXs standard TCP/IP networking protocols
BSD-compatible socket interface for network
programming (Berkeley Software Distribution)
Device-driver support for running IP over an Ethernet
Enhanced file system
Support for a range of SCSI controllers for highperformance disk access
Extra hardware support

Version 1.2 (March 1995) was the final PC-only Linux kernel

Linux kernel

Released in June 1996, 2.0 added two major new


capabilities:
Support for multiple architectures, including a fully 64bit native Alpha port
Support for multiprocessor architectures
2.4 and 2.6 increased SMP support, added journaling file
system, preemptive kernel, 64-bit memory support

Linux OS structure

Linux OS structure
Hardware layer - Hardware consists of all peripheral
devices (RAM/ HDD/ CPU etc).

Kernel - Core component of Operating System, interacts


directly with hardware, provides low level services to upper
layer components.

Shell - An interface to kernel, hiding complexity of kernel's


functions from users. Takes commands from user and
executes kernel's functions.

Utilities Utility programs giving user most of the


functionalities of an operating systems.

What is Linux?
Why do we go for it?

What is Linux?
It is an open source Operating System
which is inherited from UNIX.
What do you mean by OPEN SOURCE ?

Why do we go for it?


With the following features:
Portable
Multiuser
Multitasking
Networking
Organized file system
Device independency
Utilities
Security

Linux
Distributions

Red hat
Fedora
Centos
SUSE
Debian
Ubuntu
Turbo Linux
Mandriva
Mandrock

Features of Linux os
Portable - Portability means software's can works on different types of hardware in same way. Linux
kernel and application programs supports their installation on any kind of hardware platform.

Open Source - Linux source code is freely available and it is community based development project.
Multiple teams works in collaboration to enhance the capability of Linux operating system and it is
continuously evolving.

Multi-User - Linux is a multiuser system means multiple users can access system resources like
memory/ ram/ application programs at same time.

Multiprogramming - Linux is a multiprogramming system means multiple applications can run at the
same time.

Hierarchical File System - Linux provides a standard file structure in which system files/ user files are
arranged.

Shell - Linux provides a special interpreter program which can be used to execute commands of the
operating system. It can be used to do various types of operations, call application programs etc.

Security - Linux provides user security using authentication features like password protection/
controlled access to specific files/ encryption of data.

Thank
you

You might also like