You are on page 1of 16

Introduction to LINUX

Unit I (Part-I)
Introduction to Operating Systems
● Acts as an interface between user & hardware
● Provides an environment in which user can execute programs
● Software that makes the hardware usable
● Resource Manager
● Performs all the basic tasks like file management, memory
management, process management, handling input and output,
and controlling peripheral devices such as disk drives and printers.
● Ex. Linux Operating System, Windows Operating System
Computer system structure
Introduction to UNIX

● UNIX is an Operating System (OS)


● A popular multi-user, multi-tasking OS
○ Several people can use a Unix computer at the same time; hence Unix is called a multiuser
system.
○ A user can also run multiple programs at the same time; hence Unix is a multitasking
environment.
● Created at Bell Labs by Dennis Ritchie and Ken Thompson
● There are various Unix variants available in the market.
○ Solaris Unix, AIX, HP Unix and BSD are a few examples.
○ Linux is also a flavor of Unix which is freely available.
Flavors of UNIX

These can be grouped into two categories:

Proprietary: (redistribution and modification prohibited or restricted; not
free)
● Solaris
● IRIX
● Mac OS X
● and many others...

Open Source: (source code is readily available and free to modify)
● FreeBSD - no access currently available at UMBC.
● Linux Distributions
● RedHat and the Fedora Project (maintained by RedHat)
● Mandrake
● Debian
● SuSE
● Slackware
● openSUSE
● Ubuntu
LINUX System Organization…
Source: Tutorialspoint
Components
● The Linux operating system is made up of three parts;
○ The kernel, the shell and the programs.
● Kernel
○ Monitors and controls the resources of a computer and allocates them among its users in an optimal manner.
○ The heart of the operating system.
○ It interacts with the hardware and most of the tasks like memory management, task scheduling and file
management.
● Shell
○ Acts as an interface between the user and the kernel.
○ It translates commands entered by the user and converts them into a language that is understood by the
kernel.

● Application Programs
○ This is the software that users commonly interact with
○ Utilities: Programs which are used for development purposes
Shell

● The shell is a command line interpreter;


● Acts as an interface between the user and the kernel.
○ It translates commands entered by the user and converts them into a
language that is understood by the kernel.
● Used for command line input/output to and from users
● Provides a processing environment for the user programs and acts like a
command translator
● Different shells available - C Shell, Bourne Shell and Korn Shell 
Programming Tools and Utilities

● Text Editors ● Debuggers


○ Xemacs ○ C / C++ debugger - gdb
○ Emacs
● Interpreters
○ Pico
○ Perl - perl
○ vi
○ Tcl/Tk - tcl & wish
● Compilers
○ C compiler - gcc
● Miscellaneous
○ C++ compiler - g++ ○ Web Browsers - Mozilla,
○ Java compiler & Java Virtual Netscape, Firefox, and
Machine - javac & java Lynx (lynx is text based)
Features
● Portability : Written in C, hence can run on microcomputers to mainframe computers
● Security: Without proper username and password, it is not possible to work on Linux
● Pipes: work with multiple commands at the same time
● Redirection Tools: Allow data to be redirected between files as per the requirements of the
user
● Software Development Tools: Linux supports any language that has interpreter or compiler
● Stable & Reliable: Less prone to crashes
● Communication: Linux has commands which allow communication between users
connected to the system
● Hierarchical File System: Easy to implement and maintain data
● Shells: Linux has different types of shells, viz. C, Bourne, Korn, etc.
● Machine Independent – the system hides the machine architecture from the user, making it
easier to write the applications that can run or micros, minis and mainframes.
● Modularity: Unix consists of multiple number of independent modules which perofrm
different elementary task
● Help facility: man command to provide help
Interfaces
● GUI
○ When you logon locally, you are presented with graphical environment.
● Command Line Interface
○ Terminal
File system
● Each physical drive can be divided into several partitions
● Each partition can contain one file system
● Each file system contains:
○ boot block(s)
■  A boot block may contain the bootstrap code that is read into the machine upon booting.
○ Superblock
■ A superblock describes the state of the file system.
■ contains information about the geometry of the physical disk, the layout of the partition, number of
inodes and data blocks, and much more.
○ inode list
■ Stores the list of inodes for all the files in the file system
■ Disk space allocation is managed by the inodes
○ data blocks
■ contain file data and directory blocks
Installation of Fedora
● Visit fedora website
● Getting help
○ Fedora website, mailing lists, forums
● Download files as per your system configuration to make media or another
bootable.
● Prepare system for installation.
● Boot the computer and run the installation process.
● Reboot and perform post-installation configuration.
Disk Partitioning
● The process of dividing a disk into one or more logical areas on which the
user can work separately
● The disk will store the information about the location and size of partitions in
the partition table.
● Each partition can appear to the operating system as a logical disk, and users
can read and write data on those disks.
● Each partition can be managed separately
Create Partitions in the Disk
● log in as root
● To view the available Hard Disks in your system, use the command lsblk

Why we need it?

● To upgrade Hard Disk


● Dual Booting
● Efficient disk management
● Ensure backup and security
● Work with different File Systems using the same system

You might also like