Unity University
College of Engineering , Technology and
Computational Sciences
Department of Computer Science
Course Title: UNIX/Linux Operating System
Learning Objectives
After completing this topic, you will be able to:
• Describe the functions of computer operating system (OS),
• Explain evolution (history) of UNIX and Linux OS),
• Identify Parts of the UNIX/Linux OS
• Mention the benefits of Linux,
• Describe applications of Linux?
• List down different Linux distributions,
• Differentiate Linux vs. Windows OS,
• Programming Tools and Utilities available under Linux.
1. Introduction to UNIX/Linux operating system
What is an Operating System?
A program or a software that governs the functioning of other programs
Interface between User and the Hardware
Allocates resources on a computer from the CPU, to memory, to hard disk accesses.
Allocates tasks to programs
Tasks the operating system must perform:
• Control Hardware - The operating system controls all the parts of the computer
and attempts to get everything working together.
• Run Applications - Another job the OS does is run application software. This
would include word processors, web browsers, games, etc...
Source: Feleke M. HaileMariam (Dr. ̶ Eng.) Page 1
Unity University
• Manage Data and Files - The OS makes it easy for you to organize your computer.
Through the OS you are able to do a number of things to data, including copy,
move, delete, and rename it. This makes it much easier to find and organize what
you have.
Manages space and time
Types of Operating System
Users
– Single User
– Multi User
Processing
– Uni-processing
– Multi-processing
Timesharing
Unics (Historical background)
Uniplexed Information and Computing System
Later renamed as UNIX
Written in 1969
Ken Thompson, Dennis Ritchie were among the developers
Multi user, Multi tasking and timesharing
Monolithic kernel
Commercial products (SunOS, Solaris, HP-UX, AIX, SCO UNIX)
Source: Feleke M. HaileMariam (Dr. ̶ Eng.) Page 2
Unity University
Linux (a Short History of Linux )
Version (derivate ) of UNIX
Developed in 1991 by Linus Torvalds
Open Source Operating System (Free Software , Source Code Available)
Used in most of the computers, ranging from super computers to embedded system
Multi user, Multi tasking , Time sharing operating system
Monolithic kernel
Terminology
1) Free (Open Source) Software (can be defined by the “Four Freedoms”)
Freedom 0: Freedom to run the software anywhere( for any purpose)
Freedom 1: Freedom to study and change the program; access to underlying source
code
Freedom 2: Freedom to improve the software
Freedom 3: Freedom to redistribute copies of modified versions for others
Source: Feleke M. HaileMariam (Dr. ̶ Eng.) Page 3
Unity University
2) Kernel
Core or nucleus of an operating system
Interacts with the hardware
First program to get loaded when the system starts and runs till the session gets
terminated
Different from BIOS which is hardware dependent.
Kernel is software dependent
3) Kernel types
Monolithic Kernel
– All OS related code are stuffed in a single module
– Available as a single file
– Advantage : Faster functioning
Micro Kernel
– OS components are isolated and run in their own address space
– Device drivers, programs and system services run outside kernel memory space
– Supports modularity
– Lesser in size
4) Shell (also called command interpreter0
Program that interacts with kernel
Bridge between kernel and the user
User can type command and the command is conveyed to the kernel and it will be
executed
Types of Shell
Sh – simple shell
BASH – Bourne Again Shell
KSH – Korne Shell
CSH – C Shell
SSH – Secure Shell
To use a particular shell, type the shell name at the command prompt.
o Eg $csh – will switch the current shell to c shell
To view the available shells in the system, type cat /etc/shells at the command
prompt
To view the current shell that is being used, type echo $SHELL at the command
prompt
Source: Feleke M. HaileMariam (Dr. ̶ Eng.) Page 4
Unity University
Full UNIX/Linux System Diagram
Applications
Desktop Environment
X11 GUI
Shell/CLI
Kernel
Hardware
The Kernel - handles memory management, input and output requests, and program
scheduling. Technically speaking, the kernel is the OS. It provides the basic software
connection to the hardware. The kernel is very complex and deals with the inner
workings of these things, and is beyond the scope of this course.
The Shell and Graphical User Interfaces (GUIs) - basic UNIX shells provides a
“command line” interface which allows the user to type-in commands. These commands
are translated by the shell into something the kernel can comprehend, and then executed
by the kernel.
The Built-in System Utilities - are programs that allow a user to perform tasks which
involve complex actions. Utilities provide user interface functions that are basic to an
operating system, but which are too complex to be built into the shell. Examples of
utilities are programs that let us see the contents of a directory, move & copy files, remove
files, etc...
Application Software & Utilities – these are not part of the operating system. They are
additional programs that are bundled with the OS distribution, or available separately.
These can range from additional or different versions of basic utilities, to full scale
commercial applications.
Source: Feleke M. HaileMariam (Dr. ̶ Eng.) Page 5
Unity University
Why We Use Linux?(I. e. what are the benefits of Linux?)
Free for download; no licensing issues or costs
Freedom to share with your neighbor
A modern, very stable, multi-user, multitasking environment.
Impervious to viruses
Full suite of software applications
Supports general-interest desktop applications
These include a range of :
– web browsers,
– email programs,
– word processors,
– spreadsheets,
– bitmap and vector graphics editing programs,
– file managers,
– audio players, CD writers, some good games, typing tutor, etc.
Low resource use on hardware side
Ported to a large number of hardware platforms: x86, x64, ARM, PowerPC, MIPS, S/390,
Super H, AMD x86-64, VAX
Easy to use
Available in almost any language
Flexible: can be run on everything from watches to supercomputers
Where is Linux used?
Personal Workstation
File and Print Server
Internet Service Provider
Three-tier Client/Server
Turnkey System
Source: Feleke M. HaileMariam (Dr. ̶ Eng.) Page 6
Unity University
Where is Linux also used?
Embed
ded Raspb Tablet
Watch Device erry Pi
s s
es
Server Deskto Supercom
ps puter
s Clusters
Mainframes
Laptop Phone
s s
The Top 10 Supercomputers in the World Powered by Linux
Sequoia K Mira Juqueen Supermuc
Tianhe-1A Fermi Titan Power 775
Stampede
Source: Feleke M. HaileMariam (Dr. ̶ Eng.) Page 7
Geared for students Unity University
around the world
One Laptop Per Child Project (OLPC) A low-cost, low-power Linux laptop
CPU: AMD LX-Geode CPU
@ 700MHz
RAM: 256 MB
Hard drive: 1 GB flash
Screen: LCD
monochrome/color
Wireless: Built-in
ROM: 1 MB
LinuxBIOS/CoreBoot
Operating System: based
on
Fedora Core Linux
Linux Distributions (or Flavors of Linux)
Corel Linux
Debian GNU/Linux
OpenLinux (Caldera)
Red Hat
Novell’s SUSE Linux
TurboLinux
Fedora
Ubuntu
Mandrake
Slackware
Source: Feleke M. HaileMariam (Dr. ̶ Eng.) Page 8
Unity University
Is Linux profitable? Show me the money!
March,
2012
IBM and HP have Linux-based revenues in the billions
Multitudes of profitable Linux companies
Source: Feleke M. HaileMariam (Dr. ̶ Eng.) Page 9
Unity University
Differentiate Linux vs. Windows
a) Financial Differences
COST
LINUX WINDOWS
Online Downloads Free Not Available
Retail Price, CD $50 $300
Cost for Businesses
– Companies have to spend millions for licenses for ever individual windows
computer
– For Linux companies don’t have to spend anything
b) Technical Differences
Keeping up to date
– By Upgrading
– Linux upgrades faster than Windows
Compatibility
– Linux is Backward Compatible unlike Windows
c) End-User Differences
Proprietary vs. Open Source
– Windows is a Proprietary Technology(Applications will only work on
Windows)
– Linux – Open Source
– Complete information needed for download
– Technical help – Available on Internet (user must be comfortable with UNIX
system)
– Windows word processor is better than Linux
Source: Feleke M. HaileMariam (Dr. ̶ Eng.) Page 10
Unity University
d) File system differences.
Windows typically uses FAT32 or NTFS file systems.
Linux typically uses the ext2 or ext3 file systems
In much larger research and university environments, where file access is
necessary across the network, something like Network File System (NFS) or the
Andrew File System (AFS) is used. We use AFS here on GL at UMBC.
Windows uses letters of the alphabet to represent different devices and different
hard disk partitions. Under Windows, you need to know what volume (C:, D:,...) a
file resides on to select it, the file's physical location is part of it's name.
UNIX/Linux starts its highest level at “/” (also called root) and drives can be
mounted anywhere underneath it.
Programming Tools and Utilities available under Linux
Text Editors: Xemacs, Emacs , Pico , vi
Compilers
– C compiler - gcc
– C++ compiler - g++
– Java compiler & Java Virtual Machine - javac & java
Debuggers
– C / C++ debugger - gdb
Interpreters
– Perl - perl
– Tcl/Tk - tcl & wish
Source: Feleke M. HaileMariam (Dr. ̶ Eng.) Page 11
Unity University
Miscellaneous
– Web Browsers - Mozilla, Netscape, Firefox, and Lynx (lynx is text based)
– Instant Messengers - Gaim
– Email - Netscape is there, but we will learn Pine
What about certifications?
What are the implications of Free Software and Linux?
People in all fields are beginning to freely share their knowledge
New licenses/projects based on the GPL: Creative Commons & Open Hardware
Many industries that have a vested interest in controlling and profiting from the
restriction of knowledge are very afraid of the implications; i. e. : pharmeceutical
______________________ The End ! ________________________
Source: Feleke M. HaileMariam (Dr. ̶ Eng.) Page 12