PPT-Unit-1-Overview of Operating System
PPT-Unit-1-Overview of Operating System
Course Outcomes
1. Install Operating System and Configure it.
2. Use Operating System tools to perform various functions.
3. Execute Process Commands for performing process management operations.
4. Apply Scheduling algorithms to calculate turnaround time and average waiting time.
5. Calculate efficiency of different memory management techniques.
6. Apply file management techniques.
Unit-1 Overview of Operating
Chapter Outcomes
• Explain the functioning of given component of OS.
• Explain characteristics of the given type of operating system.
• Identify type of operating system suitable for the given type of application.
• Execute command on command line for the given task.
Learning Objectives
• To understand Basic Concepts of Operating System
• To learn various Operations of Operating System
• To study different Types of Operating Systems
• To learn Command Line and GUI Based Interfaces in Operating Systems
• To understand various Mobile Operating Systems
Objectives of Operating System
An operating system is defined as, "the system software that helps in managing the resources
of a computer as well as provides a platform for the application programs running the
computer".
OR
Operating system is a, "set of programs which control all the computer's resources and provide
an environment in which users can develop application programs".
OR
An operating system is defined as, “a program that acts as an interface between the user and
the computer hardware and controls the execution of all kinds of programs”.
Components of Operating Systems
• the bottom most layer forming the hardware part of the
computer and the outer most (top most) layer forming
the User Interface (UI). In between these two layers are
kernel layer and shell layer.
• A typical kernel contains programs that are used for the
basic functions of an operating system like process
management, input/output devices management.
• A shell is a software that provides an interface for users
of an operating system access the services of a kernel.
The shell is the layer of programming that understands
and executes the commands a user enters. In some
systems, the shell is called a command interpreter.
• A user interacts with programs in the User Interface (UI)
typically with the command interpreter to request use of
resources and services provided by the system.
Components of Computer Systems
• Hardware
• Operating Systems
• Application Programs
• Users
Programmers
Operational Users
End Users
Functions of Operating System
• Memory Management: An operating system deals with the allocation of main memory and
other storage areas to the system programs as well as user programs and data.
• Processor Management: An operating system deals with the assignment of processor to
different tasks being performed by the computer system.
• Device Management: An operating system deals with the co-ordination and assignment of
the different output and input device while one or more programs are being executed.
Operating System manages device communication via their respective drivers.
• File Management: An operating system deals with the storage of file of various storage
devices to another. It also allows all files to be easily changed and modified through the use
of text editors or some other files manipulation routines.
• Error Detecting Aids: Production of dumps, traces, error messages and other debugging
and error detecting aids.
• Security: By means of password and similar other techniques, preventing unauthorized
access to programs and data.
Functions of Operating System
• Control over System Performance: An OS performs recording delays between request for a
service and response from the system.
• Coordination between other Software's and Users: Coordination and assignment of
compilers, interpreters, assemblers and other software to the various users of the
computer systems.
• Job Accounting: An OS keeping the track of time and resources used by various jobs and
users.
Examples of Popular Operating System
Name Description
MS-DOS MS-DOS stands for Microsoft Disk Operating System. MS-DOS OS does
not take much space for installation (about 8 MB). MS-DOS OS gives
more control of the processes as it has a Command Line user Interface
(CLI). MSDOS OS is a single-user, single-tasking operating system and not
support graphics. It is not compatible with current browsers and the
internet.
UNIX Unix is a multi-tasking, multi-processing, multi-user, and protected with
built-in support for networking but not support graphics. The Unix
operating system was developed in 1969 by Ken Thompson, Dennis
Ritchie and others at the AT&T Bell Laboratories. Unix is very flexible and
can be installed on micro, mini, mainframe and supercomputers. It is a
very reliable, secured and robust operating system
Examples of Popular Operating System
Name Description
Windows The first version of Windows was developed by Microsoft Corporation in
1985. Windows OS has a Graphical User Interface (GUI) and is thus user
friendly. Windows OS is a multi-tasking operating system with a large
market share (approx. 93%). Some of the popular Windows OS are
Windows 3.1, Windows 95, Windows 98, Windows 2000, Windows NT,
Windows ME, Windows XP, Windows Vista and Windows 7, Windows 8.
Windows 10 is the latest Windows operating systems from Microsoft.
LINUX Linux is one of popular version of UNIX operating System. It is open
source, portable, multi-user, multiprogramming operating system. Linux
was developed by Linus Torvalds in 1992. Like DOS, Linux is a command
line user interface. It also has GUI interfaces called desktop environments
like GNOME and K Desktop Environment (KDE). Linux is a reliable and
secure operating system.
Examples of Popular Operating System
Name Description
MAC The Macintosh Operating System (Mac OS) is an operating system
designed by Apple Inc. to be installed and operated on the Apple
Macintosh series of computers. It is a multi-user, multi-tasking operating
system. Mac OS X was originally presented as the 10th major version of
Apple's operating system for Macintosh computers and it is extremely
secure, compatible, and easy to use.
Operations of Operating System
• The operating system controls and co-ordinates the use of the hardware among the various application
programs for the various users.
• Maintain a list of all resources with system.
• Maintain current status of all programs being executed by active users and ensure that they receive
adequate attention of CPU.
• Maintain a list of authorized users.
• Maintain current status of all resources in the system and allocates resources to programs as and when
needed.
• Handle the requests made by users and their programs.
• Maintain a current status of all users currently using the system.
Program Management
• Operating systems handle many kinds of activities from user programs to system programs like printer
spooler, name servers, file server, etc. Each of these activities is encapsulated as a process.
• Handles program's execution.
• Loads a program into memory.
• Provides a mechanism for deadlock handling.
• Executes the program.
• Provides a mechanism for process communication.
• Provides a mechanism for process synchronization.
Resource Management
When there are multiple users or multiple jobs running at the same time, resources must be allocated to
each of them. Many different types of resources (files storages, CPU cycles, etc.) are managed by the
operating system.
In resource management, OS allocates computer resources such as CPU time, main memory, secondary
storage, and input and output devices for use.
Following are the major activities of an operating system with respect to resource management:
• The OS manages all kinds of resources using schedulers.
• CPU scheduling algorithms are used for better utilization of CPU.
Security and Protection
• These measures ensure that data and programs are used by only authorized users and only in a desired
manner, and that they are neither modified nor denied to authorized users.
• Security measures deal with threats to resources that come from outside a computer system, while
protection measures strictly restricted to manage the internal resources of the system.
• Following are the major activities of an operating system with respect to protection:
1. The OS ensures that external I/O devices are protected from invalid access attempts.
2. The OS ensures that all access to system resources is controlled.
3. The OS provides authentication features for each user by means of passwords.
Views of Operating Systems
Users View
• Most computer users sit in front of a PC, consisting of a monitor, keyboard, mouse and system unit. Such
a system is designed for one user to monopolize its resources, to maximize the work that the user is
performing. In this case, the operating system is designed mostly for ease of use, with some attention
paid to performance, and none paid to resource utilization.
• Some users sit at a terminal connected to a mainframe or minicomputer. Other users are accessing the
same computer through other terminals. These users share resources and may exchange information.
The operating system is designed to maximize resource utilization.
• Other users sit at workstations, connected to networks of other workstations and servers. These users
have dedicated resources at their disposal, but they also share resources such as networking and servers
Views of Operating Systems
Users View
• Recently, many varieties of handheld computers have come into fashion. These devices are mostly
standalone, used singly by individual users. Some are connected to networks, either directly by wire or
through wireless modems.
• Due to power and interface limitations they perform relatively few remote operations. These operating
systems are designed mostly for individual usability, but performance per amount of battery life is
important as well.
• Some computers have little or no user view. For example, embedded computers in home devices and
automobiles may have numeric keypad, and may turn indicator lights on or off to show status, but
mostly they and their operating systems are designed to run without user intervention.
Views of Operating Systems
System View
• We can view an operating system as a resource allocator. A computer system has many resources -
hardware and software - that may be required to solve a problem. The operating system acts as the
manager of these resources.
• An operating system can also be viewed as a control program that manages the execution of user
programs to prevent errors and improper use of the computer. It is especially concerned with the
operation and control of I/O devices.
• We have no universally accepted definition of what is part of the operating system. A simple viewpoint is
that it includes everything a vendor ships when you order “the operating system”.
• A more common definition is that the operating system is the one program running at all times on the
computer (usually called the kernel), with all else being application programs. This is the one that we
generally follow.
Types of OS (Serial Processing)
• With the earliest computers 1940-1950, the programmer interacted directly with the computer
hardware. There was no operating system. These machines were run from console, consisting of display
lights, toggle switches and input/output devices and printer.
• Programs in machine code were loaded via input devices (i.e. Card Reader) if an error halted the
program. Error condition was indicated by the lights. If program proceeded to a normal completion, the
output appeared on the printer.
• A serial processing operating system, allowed only a single user to run a single program at one time.
• The serial processing operating systems are those which performs all the instructions into a sequence
manner or the instructions those are given by the user will be executed by using the FIFO manner means
first in first out.
• All the instructions those are entered first in the system will be executed first and the instructions those
are entered later will be executed later. For running the instructions the program counter is used which is
used for executing all the instructions.
Types of OS (Serial Processing)
• In this the program counter will determines which instruction is going to execute and the which
instruction will be execute after this. Mainly the punch cards are used for this.
• In this all the jobs are firstly prepared and stored on the card and after that card will be entered in the
system and after that all the instructions will be executed one by one.
• But the main problem is that a user does not interact with the system while he is working on the system,
means the user can’t be able to enter the data for execution.
• Once, a job has been read in, the processor will encounter a branch instruction in the monitor that
instructs the processor to continue execution at the start of the user program.
• The processor will then execute the instructions in user programs until end of program or error
condition. “control is passed to a job” simply means that the processor is now fetching and executing
instructions in a user program and “control is returned to the monitor” means that the processor is now
fetching and executing instructions form the monitor program.
Batch Operating System
Advantages of Batch Operating System:
• Increased performance since it was possible for job to start as soon as the previous job finished.
• In batch OS huge amount of a data can be processed efficiently.
• It reduces idle time of a computer because operator intervention is not required in automatic job-to-job
transition.
Disadvantages of Spooling:
• There is an extra overhead of maintaining table of card images.
• An extreme of spooling is called as staging of tapes. To avoid the wear of the magnetic tape, it is copied
onto the disk and CPU will access the disk and not the tape.
Multiprogramming Systems
• Multiprogramming is a technique to execute number of programs simultaneously by a single processor.
• Multiprogramming increases CPU utilization by organizing jobs such that the CPU always has one to
execute. In multi-programmed systems the operation system keeps several jobs in memory at a time.
• This set of jobs is a subset of the jobs kept in the job pool, (Since, the number of jobs that can be kept
simultaneously in memory is usually much smaller than the number of jobs that can be in the job pool.)
• The operating system picks and begins to execute one of the jobs in the memory. Eventually the job may
have to wait for some task, such as a tape is mounted, or an input/output operation to complete.
• In a non-multiprogramming system, the CPU would sit idle. In a multiprogramming system, the operating
system simply switches to and executes another job.
• When that job needs to wait, the CPU is switched to another job and so on. Eventually the first job
finishes waiting and gets the CPU back. As long as there is always some job to execute, the CPU will
never be idle.
Multiprogramming Systems
Multiprogramming Systems
Advantages of Multiprogramming Systems:
• Multiprogramming executes number of programs simultaneously by a single processor.
• The concurrent execution of programs improves the utilization of system resources (CPU and memory)
and enhances the system throughput as compared to batch and serial processing.
• Response time is good that is each user feels that he/she is been attended immediately.
• Preemptive Multitasking: Preemptive multitasking moves the control of the CPU to the OS, letting each
process run for a given amount of time (a time slice) and then switching to another task. This method
prevents one process from taking complete control of the system and thereby making it seem as if it is
crashed. This method is most common today, implemented by among others OS/2, Win95/98, WinNT,
Unix, Linux, BeOS, QNX, OS9 and most mainframe OS. The assignment of CPU time is taken care of by the
scheduler.
Multitasking Operating Systems
Advantages Disadvantage
Time-sharing is the main concept and benefit of When a computer user opens many programs at a
MOS. time, the computer becomes slow. Increase your
RAM capacity.
Multiple programs like MS Word, MS Excel, If the processor is slow in the computer then it can
Photoshop, browser, games, and calculator can run process programs slow and manage multiple
at the same time. This is a big advantage to MOS. programs takes longer time. Some heavy programs
cannot run smoothly on the slow processor
Increases the overall performance of the computer
because they need more processing powers.
system.
The process of virtual memory management is By doing multitasking, the processor becomes busy
nicely handled in MOS. all the time and CPU heats up. Solution is attach
the cooling system to your CPU
Computer resources like RAM, Processor, I/O
devices, hard drive, and Gaming consoles are
better managed in MOS.
Differentiate between Multiprogramming and Multitasking
Multitasking Multiprogramming
It utilizes multiple CPU for task allocation. It utilizes single CPU for execution of processes.
Multitasking is the ability of a computer to handle a Multiprogramming is the capacity to run or handle
number of tasks or jobs simultaneously several programs at the same time.
It is based on the concept of time sharing. It is based on the concept of context switching
Its take less time It takes more time for execution of processes.
Each task is given equal importance The time-shared systems are more complex than
the multi-programming systems.
Efficient CPU utilization. Problem of reliability.
Disadvantages:
• They are very complex and expensive, there by difficult to maintain.
• It is more difficult to backup these systems when they are in use.
• Not easy to program
Differentiate between Real Time Systems and Time Sharing Systems
In real time system, a job has to be completed In time sharing system, fixed time is given to each
within fixed deadline (time allowed). process and all the processes are arranged in a
queue.
A realtime system has well-defined, fixed time It requires more complicated CPU scheduling
constraints. algorithms.
If job is not completed within the given time then If job is not completed within the given time then it
system may extend time for doing the operations. jumps to the next job leaving the previous job
unfinished. After processing to each job, it again
give the same time for unfinished job.
Response time is important Response time is not important.
Process deals with single application at a time. Process deals with more than one application
simultaneously.
Mobile Operating System
• A mobile operating system is one that controls smartphones, Personal Digital Assistants (PDAs), tablet
PCs, and information appliances.
• A mobile operating system, also known as a mobile OS, a mobile platform, or a handheld operating
system, is the operating system that controls a mobile device.
• Compared to the standard general-purpose operating systems, mobile operating systems are currently
somewhat simpler, and focus on wireless versions of broadband and local connectivity, mobile
multimedia formats, and different input methods.
• Modern mobile operating systems mix the features of PC operating systems with many other features,
such as touch screen, video camera, voice recorder, Bluetooth, Infrared, Wi-Fi, GPS mobile navigation,
speech recognition, etc.
• Like a PC operating system controls the desktop or laptop computer, a mobile operating system also
provides an environment for other programs to run on mobile devices.
• With the continual growth in the use of mobile devices, most companies have launched their own
mobile operating system in the market.
Android
• Android is a mobile operating system developed by Google, based on a modified version of the Linux
kernel and other open source software and designed primarily for touchscreen.
• Android is an operating system for mobile devices such as smartphones and tablet PCs based on the
Linux kernel.
• Android applications are usually developed in the Java language using the Android Software
Development Kit. Once developed, Android applications can be packaged easily and sold out either
through a store such as Google Play, SlideME, Opera Mobile Store, Mobango, F-droid and the Amazon
Appstore.
• Android's default user interface is mainly based on direct manipulation, using touch inputs that loosely
correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate
on-screen objects, along with a virtual keyboard
Android
Advantages of Android:
• Android OS is open source and it is cost effective. Android is based on Linux.
• It provides rich browser facilities as well.
• It is a multi-tasking OS and can be virtualized.
• It is flexible OS. Widgets, or self-contained programs, add functionality and flexibility to Android
devices. The development tools are easy to use.
• Stability and security is better than other mobiles OS as it is based on Linux Kernel.
• Android is highly customizable. User can change almost everything in the UI.
• Sharing of internet among devices
• Expandable memory
• Third party app supported
• Support large screen and affordable.
• Multiple widget on screen
• Large community support
Android
Disadvantages of Android:
• Application quality of Android is not so good. There is no standard for these applications.
• Complex layouts and animations are harder to code in Android.
• Low security to steal your info from unknown resources. Android is not good at virus protection.
• Android OS can also slow down if installing more apps.
• The complexity involved in Android app development makes the process more time-consuming than
that of an iOS app.
• Most apps always run in the background and come to foreground as they wish.
• Android phones uses a lots of data because all the apps are processing in the background all the time.
• Android uses lot of data at background and it decreases battery performance.
Windows Mobile
• It is a mobile operating system developed by Microsoft, used in
smartphones. Internet Explorer Mobile is the default browser that comes
with Windows mobile. It contains Office Mobile - a suite of mobile versions
of Microsoft Office.
• Current version: Windows 10 Mobile
• It is integrated with Microsoft services such as One Drive and Office, Xbox
Music, Xbox Video, Xbox Live games and Bing, but also integrates with
many other non Microsoft services such as Facebook and Google accounts.
• Windows Phone devices are made primarily by Microsoft Mobile/Nokia,
and also by HTC and Samsung.
iPhone OS (iOS)
• iOS (formerly iPhone OS) is a mobile operating system created and
developed by Apple Inc. exclusively for its hardware.
• It is the operating system that presently powers many of the company's
mobile devices, including the iPhone, iPad, and iPod Touch.
• It is the second most popular mobile operating system globally after
Android.
• The iOS user interface is based upon direct manipulation, using multi-touch
gestures. Interface control elements consist of sliders, switches, and
buttons.
• Interaction with the OS includes gestures such as swipe, tap, pinch, and
reverse pinch, all of which have specific definitions within the context of the
iOS operating system and its multi-touch interface.
Apple iOS (iPhone OS)
Advantages of iOS:
• iOS provides high customer service.
• iOS has more security which offers its users stay safe from external threats.
• Performance is awesome and supports Multitasking.
• iOS support a vast number of applications.
• Performance is awesome
• Looks rich stylish and it became a style quotient.
Disadvantages of iOS:
• Not flexible only supports iOS devices.
• The iOS is not Open Source.
• The main disadvantages of using iOS is costly Apps development.
• Not customizable.
• Supports only single SIM.
• Repair costs are very pricey.
• No NFC (Near Field Communication) or Radio support.
Symbian
• Symbian is an operating system for mobile devices such as smartphones.
• Symbian operating system was originally developed by Symbian Ltd., but is currently maintained by
Nokia (today by Microsoft). I
• t has a graphics toolkit known as AVKON.
• Symbian was the first mobile platform to make use of WebKit browser.
• Some older Symbian models have Opera mobile as the default browser.
• Most applications are written in C++, though Symbian devices can be programmed using Python, Java
ME, Flash Lite, .NET etc.
• Version: Symbian 9.2
• The Mobile Oriented Applications Platform (MOAP) developed on top of the Symbian OS was used
mainly in Asia for Sony Ericson, Fujitsu, Mitsubishi, and Sharp.
Differentiate between Android and iOS
Parameters Android iOS
Widgets Yes No
Available On Many phones and tablets. Major iPod Touch, iPhone, iPad, Apple TV
manufacturers are Samsung, Motorola,
LG, HTC and Sony and so on.
Internet Browsing Google Chrome (or Android Browser on Mobile Safari
older versions; other browsers are
available).
App Store Google Play, Amazon etc., distribute Apple app store distribute iOS apps
Android apps.
IDE Android Studio. XCode.
Disadvantages GUI:
• It uses more computer memory as the aim is to make it for user friendly.
• GUI becomes more complex if user needs to communicate with the computer directly.
• Difficulty of displaying all necessary controls because of limited Window space.
• GUIs has ambiguity of pictorial/graphical symbols.
• Slow speed because of long pointer operations.
Windows
• Windows is a series of operating systems developed by Microsoft. Each version of Windows includes a
graphical user interface, with a desktop that allows users to view files and folders in windows.
• Microsoft Windows is designed for both home computing and professional purposes.
• Past versions of Windows home editions include
• Windows 3.0 (1990)
• Windows 3.1 (1992)
• Windows 95 (1995)
• Windows 98 (1998)
• Windows Me (2000)
• Windows XP (2001)
• Windows Vista (2006)
• Windows 7 (2009)
• Windows 8 (2012)
• Windows 10(2015)…..
Linux
• Linux is a UNIX like operating system created by Linus Torvalds.
• Linux is freely distributed the OS, there are no licensing fees.
• Today, Linux is used by millions of people around the world. Programmers can even modify the source
code and create their own unique version of the Linux operating system.
• Linux is available in several distributions.
• Some of the most popular distributions include Red Hat Enterprise, CentOS, Debian, openSUSE, and
Ubuntu. Linux also supports several hardware platforms, including Intel, PowerPC, DEC Alpha, Sun
Sparc, and Motorola.
• Most Linux system provide either the K-Desktop Environment (KDE) or the GNOME interface, both of
which are built on top of X-Windows and resemble the Windows interface.
• GNOME stands for GNU Network Object Model Environment, is one of the oldest and most widely used
Linux desktop environments. Its design goals include simplicity, accessibility, and ease of
internationalization and localization.
• The KDE is a graphical desktop environment for Linux providing the Linux user with various X-Window
utilities.
• The KDE desktop contains three main tools to access the applications on the Linux system namely,
panel icons, desktop icons, and menus.
Linux
Linux
Differentiate between CLI and GUI
Command Line Interface (CLI) Graphical User Interface (GUI)
It is a text-based interface used to interact with It is a visual-based interface which features the
software and operating system by typing use of graphic images, including Windows, Icons,
commands into the interface and receive a and Menus
response in the same way.
A computer that is only using the command line A GUI requires more system resources because of
takes a lot less of the computer's system the elements that require loading, such as icons.
resources than a GUI
CLI is faster and difficult to use than GUI GUI is slower and easier to use than CLI.
In CLI commands have to be typed in the In GUI one can point and click on icons to execute
command line to execute them commands. A mouse is the most common way to
navigate through a GUI, although the keyboard is
used sometimes.
Differentiate between CLI and GUI
Command Line Interface (CLI) Graphical User Interface (GUI)
Commands need to be remembered to be able to Commands need not be remembered as they can
type and execute them. be executed by simply clicking on icons.
Drag and drop features are usually absent. This Drag and drop features make certain command
makes the execution of certain commands execution easier (like dragging a file from one
lengthy or difficult. folder to another to copy it).
CLI is less user friendly GUI is more user friendly.
Vijay Patil
Department of Computer Engineering (NBA Accredited)
Vidyalankar Polytechnic
Vidyalankar College Marg, Wadala(E), Mumbai 400 037
E-mail: [email protected] 76
Copy protected with Online-PDF-No-Copy.com 77