Sunday, 5 April 2020

Operating System - Linux

Operating System - Linux

Operating System - Linux

 
Linux is one of popular version of UNIX operating System. It is open source as its source code is freely available. It is free to use. Linux was designed considering UNIX compatibility. Its functionality list is quite similar to that of UNIX.

Components of Linux System

Linux Operating System has primarily three components
·        Kernel − Kernel is the core part of Linux. It is responsible for all major activities of this operating system. It consists of various modules and it interacts directly with the underlying hardware. Kernel provides the required abstraction to hide low level hardware details to system or application programs.
·        System Library − System libraries are special functions or programs using which application programs or system utilities accesses Kernel's features. These libraries implement most of the functionalities of the operating system and do not requires kernel module's code access rights.
·        System Utility − System Utility programs are responsible to do specialized, individual level tasks.
Kernel Mode vs User Mode
Kernel component code executes in a special privileged mode called kernel mode with full access to all resources of the computer. This code represents a single process, executes in single address space and do not require any context switch and hence is very efficient and fast. Kernel runs each processes and provides system services to processes, provides protected access to hardware to processes.
Support code which is not required to run in kernel mode is in System Library. User programs and other system programs works in User Mode which has no access to system hardware and kernel code. User programs/ utilities use System libraries to access Kernel functions to get system's low level tasks.

Basic Features

Following are some of the important features of Linux Operating System.
·        Portable − Portability means software 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 work 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 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.

Architecture

The following illustration shows the architecture of a Linux system −

The architecture of a Linux System consists of the following layers −
·        Hardware layer − Hardware consists of all peripheral devices (RAM/ HDD/ CPU etc).
·        Kernel − It is the 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. The shell takes commands from the user and executes kernel's functions.
·        Utilities − Utility programs that provide the user most of the functionalities of an operating systems.

Microprocessor Concepts

Microprocessor Concepts
Microprocessor is the brain of computer, which does all the work. It is a computer processor that incorporates all the functions of CPU (Central Processing Unit) on a single IC (Integrated Circuit) or at the most a few ICs. Microprocessors were first introduced in early 1970s. 4004 was the first general purpose microprocessor used by Intel in building personal computers. Arrival of low cost general purpose microprocessors has been instrumental in development of modern society the way it has.

We will study the characteristics and components of a microprocessor in detail.

Microprocessors Characteristics

Microprocessors are multipurpose devices that can be designed for generic or specialized functions. The microprocessors of laptops and smartphones are general purpose whereas ones designed for graphical processing or machine vision are specialized ones. There are some characteristics that are common to all microprocessors.
These are the most important defining characteristics of a microprocessor −
  • Clock speed
  • Instruction set
  • Word size

Clock Speed

Every microprocessor has an internal clock that regulates the speed at which it executes instructions and also synchronizes it with other components. The speed at which the microprocessor executes instructions is called clock speed. Clock speeds are measured in MHz or GHz where 1 MHz means 1 million cycles per second whereas 1 GHz equals to 1 billion cycles per second. Here cycle refers to single electric signal cycle.
Currently microprocessors have clock speed in the range of 3 GHz, which is maximum that current technology can attain. Speeds more than this generate enough heat to damage the chip itself. To overcome this, manufacturers are using multiple processors working in parallel on a chip.

Word Size

Number of bits that can be processed by a processor in a single instruction is called its word size. Word size determines the amount of RAM that can be accessed at one go and total number of pins on the microprocessor. Total number of input and output pins in turn determines the architecture of the microprocessor.
First commercial microprocessor Intel 4004 was a 4-bit processor. It had 4 input pins and 4 output pins. Number of output pins is always equal to the number of input pins. Currently most microprocessors use 32-bit or 64-bit architecture.

Instruction Set

A command given to a digital machine to perform an operation on a piece of data is called an instruction. Basic set of machine level instructions that a microprocessor is designed to execute is called its instruction set. These instructions do carry out these types of operations −
  • Data transfer
  • Arithmetic operations
  • Logical operations
  • Control flow
  • Input/output and machine control

Microprocessor Components

Compared to the first microprocessors, today’s processors are very small but still they have these basic parts right from the first model −
  • CPU
  • Bus
  • Memory

CPU

CPU is fabricated as a very large scale integrated circuit (VLSI) and has these parts −
·        Instruction register − It holds the instruction to be executed.
·        Decoder − It decodes (converts to machine level language) the instruction and sends to the ALU (Arithmetic Logic Unit).
·        ALU − It has necessary circuits to perform arithmetic, logical, memory, register and program sequencing operations.
·        Register − It holds intermediate results obtained during program processing. Registers are used for holding such results rather than RAM because accessing registers is almost 10 times faster than accessing RAM.

Bus

Connection lines used to connect the internal parts of the microprocessor chip is called bus. There are three types of buses in a microprocessor −
·        Data Bus − Lines that carry data to and from memory are called data bus. It is a bidirectional bus with width equal to word length of the microprocessor.
·        Address Bus − It is a unidirectional responsible for carrying address of a memory location or I/O port from CPU to memory or I/O port.
·        Control Bus − Lines that carry control signals like clock signals, interrupt signal or ready signal are called control bus. They are bidirectional. Signal that denotes that a device is ready for processing is called ready signal. Signal that indicates to a device to interrupt its process is called an interrupt signal.

Memory

Microprocessor has two types of memory
·        RAM − Random Access Memory is volatile memory that gets erased when power is switched off. All data and instructions are stored in RAM.

·        ROM − Read Only Memory is non-volatile memory whose data remains intact even after power is switched off. Microprocessor can read from it any time it wants but cannot write to it. It is preprogrammed with most essential data like booting sequence by the manufacturer.

Office Tools

Office Tools
Office Tools
Application software that assist users in regular office jobs like creating, updating and maintaining documents, handling large amounts of data, creating presentations, scheduling, etc. are called office tools. Using office tools saves time and effort and lots of repetitive tasks can be done easily. Some of the software that do this are −
  • Word processors
  • Spreadsheets
  • Database systems
  • Presentation software
  • E-mail tools
Let us look at some of these in detail.
Word Processor
A software for creating, storing and manipulating text documents is called word processor. Some common word processors are MS-Word, WordPad, WordPerfect, Google docs, etc.

A word processor allows you to −
  • Create, save and edit documents
  • Format text properties like font, alignment, font color, background color, etc.
  • Check spelling and grammar
  • Add images
  • Add header and footer, set page margins and insert watermarks
Spreadsheet
Spreadsheet is a software that assists users in processing and analyzing tabular data. It is a computerized accounting tool. Data is always entered in a cell (intersection of a row and a column) and formulas and functions to process a group of cells is easily available. Some of the popular spreadsheet software include MS-Excel, Gnumeric, Google Sheets, etc. Here is a list of activities that can be done within a spreadsheet software −
  • Simple calculations like addition, average, counting, etc.
  • Preparing charts and graphs on a group of related data
  • Data entry
  • Data formatting
  • Cell formatting
  • Calculations based on logical comparisons

Presentation Tool
Presentation tool enables user to demonstrate information broken down into small chunks and arranged on pages called slides. A series of slides that present a coherent idea to an audience is called a presentation. The slides can have text, images, tables, audio, video or other multimedia information arranged on them. MS-PowerPoint, OpenOffice Impress, Lotus Freelance, etc. are some popular presentation tools.

Database Management System
Software that manages storage, updating and retrieval of data by creating databases is called database management system. Some popular database management tools are MS-Access, MySQL, Oracle, FoxPro, etc.

Open Source Software

Open Source Software
            Open Source Software

A software whose source code is freely distributed with a license to study, change and further distributed to anyone for any purpose is called open source software. Open source software is generally a team effort where dedicated programmers improve upon the source code and share the changes within the community. Open source software provides these advantages to the users due to its thriving communities −
  • Security
  • Affordability
  • Transparent
  • Interoperable on multiple platforms
  • Flexible due to customizations
  • Localization is possible
Freeware
A software that is available free of cost for use and distribution but cannot be modified as its source code is not available is called freeware. Examples of freeware are Google Chrome, Adobe Acrobat PDF Reader, Skype, etc.
Shareware
A software that is initially free and can be distributed to others as well, but needs to be paid for after a stipulated period of time is called shareware. Its source code is also not available and hence cannot be modified.
Proprietary Software
Software that can be used only by obtaining license from its developer after paying for it is called proprietary software. An individual or a company can own such proprietary software. Its source code is often closely guarded secret and it can have major restrictions like −
  • No further distribution
  • Number of users that can use it
  • Type of computer it can be installed on, example multitasking or single user, etc.
For example, Microsoft Windows is a proprietary operating software that comes in many editions for different types of clients like single-user, multi-user, professional, etc

Utility Software

Utility Software

Utility Software
Application software that assist OS in carrying out certain specialized tasks are called utility software. Let us look some of the most popular utility software.

Antivirus

A virus can be defined as a malicious program that attaches itself to a host program and makes multiple copies of itself, slowing down, corrupting or destroying the system. A software that assists the OS in providing virus free environment to the users is called antivirus. An anti-virus scans the system for any virus and if detected, gets rid of it by deleting or isolating it. It can detect many types of virus like boot virus, Trojan, worm, spyware, etc.
When any external storage device like USB drive is attached to the system, anti-virus software scans it and gives an alert if a virus is detected. You can set up your system for periodic scans or scan whenever you feel the need. A combination of both the techniques is advisable to keep your system virus free.

File management tools

As you know, file management is an important function of operating systems as all data and instructions are stored in the computer in form of files. Utility software providing regular file management tasks like browse, search, update, preview, etc. are called file management tools. Windows Explorer in Windows OS, Google desktop, Directory Opus, Double Commander, etc. are examples of such tools.

Compression tools

Storage space is always at a premium in computer systems. So operating systems are always looking at ways to minimize amount of storage space taken by files. Compression tools are utilities that assist operating systems in shortening files so that they take less space. After compression files are stored in a different format and cannot be read or edited directly. It needs to be uncompressed before it can be accessed for further use. Some of the popular compression tools are WinRAR, PeaZip, The Unarchiver, etc.

Disk Cleanup

Disk cleanup tools assist users in freeing up disk space. The software scans hard disks to find files that are no longer used and frees up space by deleting them.

Disk Defragmenter

Disk defragmenter is a disk management utility that increases file access speeds by rearranging fragmented files on contiguous locations. Large files are broken down into fragments and may be stores in non-contiguous locations if contiguous ones are not available. When such files are accessed by the user, access speed is slow due to fragmentation. Disk defragmenter utility scans the hard disk and tries to assemble file fragments so that they may be stored in contiguous locations.

Backup

Backup utility enables backing up of files, folders, databases or complete disks. Backups are taken so that data may be restored in case of data loss. Backup is a service provided by all operating systems. In stand-alone systems backup may be taken in the same or different drive. In case of networked systems backup may be done on backup servers.

Types of OS

Types of OS

Types of OS
As computers and computing technologies have evolved over the years, so have their usage across many fields. To meet growing requirements more and more customized software have flooded the market. As every software needs operating system to function, operating systems have also evolved over the years to meet growing demand on their techniques and capabilities. Here we discuss some common types of OS based on their working techniques and some popularly used OS as well.
GUI OS
GUI is the acronym for Graphical User Interface. An operating system that presents an interface comprising graphics and icons is called a GUI OS. GUI OS is very easy to navigate and use as users need not remember commands to be given to accomplish each task. Examples of GUI OS includes Windows, macOS, Ubuntu, etc.
Time Sharing OS
Operating systems that schedule tasks for efficient processor use are called time sharing OS. Time sharing, or multitasking, is used by operating systems when multiple users located at different terminals need processor time to complete their tasks. Many scheduling techniques like round robin scheduling and shortest job next scheduling are used by time sharing OS.
Real Time OS
An operating system that guarantees to process live events or data and deliver the results within a stipulated span of time is called a real time OS. It may be single tasking or multitasking.
Distributed OS
An operating system that manages many computers but presents an interface of single computer to the user is called distributed OS. Such type of OS is required when computational requirements cannot be met by a single computer and more systems have to be used. User interaction is restricted to a single system; it’s the OS that distributed work to multiple systems and then presents the consolidated output as if one computer has worked on the problem at hand.
Popular Operating Systems
Initially computers had no operating systems. Every program needed full hardware specifications to run correctly as processor, memory and device management had to be done by the programs themselves. However, as sophisticated hardware and more complex application programs developed, operating systems became essential. As personal computers became popular among individuals and small businesses, demand for standard operating system grew. Let us look at some of the currently popular operating systems −
·        Windows − Windows is a GUI operating system first developed by Microsoft in 1985. The latest version of Windows is Windows 10. Windows is used by almost 88% of PCs and laptops globally.
·        Linux − Linux is an open source operating system mostly used by mainframes an supercomputers. Being open source means that its code is available for free and anyone can develop a new OS based on it.
·        BOSS − Bharat Operating System Solutions is an Indian distribution of Linux based on Debian, an OS. It is localized to enable use of local Indian languages. BOSS consists of −
·          
o Linux kernel
o Office application suite BharteeyaOO
o Web browser
o Email service Thunderbird
o Chat application Pidgim
o File sharing applications
o Multimedia applications
Mobile OS
An operating system for smartphones, tablets and other mobile devices is called mobile OS. Some of the most popular OS for mobile devices includes−
·        Android − This Linux-based OS by Google is the most popular mobile OS currently. Almost 85% of mobile devices use it.
·        Windows Phone 7 ,8,10 It is the latest mobile OS developed by Microsoft.
·        Apple iOS − This mobile OS is an OS developed by Apple exclusively for its own mobile devices like iPhone, iPad, etc.
·        Blackberry OS − This is the OS used by all blackberry mobile devices like smartphones and playbooks.