0% found this document useful (0 votes)
24 views

PPT-Unit-1-Overview of Operating System

osy ppts

Uploaded by

catstudysss
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

PPT-Unit-1-Overview of Operating System

osy ppts

Uploaded by

catstudysss
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 77

Operating System (22516)

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

• Convenience: An operating system makes a


computer more convenient to use.
• Efficiency: An operating system allows the
computer system resources to be used in an
efficient manner.
• Ability to Evolve: An operating system should
be constructed in such a way as to permit the
effective development, testing, Executing and
introduction of new system functions without
interfacing with service
Definition 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.

Steps in Serial Processing:


Step 1: Type the program on punched card.
Step 2: Convert the punched card to card reader.
Step 3: Submit to the computing machine, are there any errors, the error condition was indicated by light.
Step 4: The programmer examines the registers and main memory to identify the cause of the error.
Step 5: If program is ok, take the output on the printers.
Step 6: Then the programmer ready for next program.
Types of OS (Serial Processing)
Advantages of Serial Processing:
• Very simple in operation.
• Although, machine dependent, but still gave rise to development of new interfacing software so as to
make the programmer’s task easier.

Disadvantages of Serial Processing:


• The process of development and preparation of a program in such an environment is slow and
cumbersome due to serial processing and numerous manual processing.
• At a time, only a small subject of resources could be used. So, there was poor utilization of system
resources
Batch Operating System
• Batch operating system is one where programs and data are collected together in a batch before
processing starts.
• In batch operating system, jobs with similar need batched together by operator and run as a group on a
computer system.
• Memory management in batch system is very simple. Memory is usually divided into two areas namely:
Operating system and user program area.
• The central idea behind the simple batch-processing scheme was the use of a piece of software known
as the Monitor.
• With the use of this type of operating system, the user no longer has direct access to the machine, rather
the user submits the job on cards or tape to a computer operator, who batches the jobs together
sequentially and places the entire batch on an input device for use by the monitor.
• Each program is constructed to branch back to the monitor when it completes processing, at which point
the monitor would automatically begin loading the next program.
Batch Operating System
Monitor Point of View
• It is the monitor that controls the sequence of Events,
much of the monitor must always be in Main memory and
available for execution.
• That portion is referred to as the Resident Monitor. The
rest of the monitor consists of Utilities and common
functions that are loaded as subroutines to the user
program at the beginning of any job that requires them.
• The boundary monitor reads in jobs one at a time from
the Input device (card reader or magnetic tape drive). As
it is read in the current job is placed in the User program
area, and control is passed to this Job.
• When the job is completed, it returns control to the
monitor, which immediately reads in the next job. The
results of each job are sent to output devices, such as a
printer for delivery to the user.
Batch Operating System
Processor Point of View:
• At a certain point the processor is executing instructions from the portion of main memory containing
the monitor. This instructions cause the next job to be read into another portion of main memory.

• 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 Batch Operating System:


• As monitor needs to be in main memory, it results in certain wastage of memory.
• Programs having large I/O operation wasted huge amount of CPU time as the CPU executed idle cycles.
• Difficult to debug program.
• Due to lack of protection scheme, one batch job can affect pending jobs.
• No interaction is possible with the user while the program is being executed
Spooling
• SPOOLing stands for Simultaneous Peripheral
Operation On Line. Programs and data are
punched on cards and cards being read from the
card reader directly into memory. The location of
card images is recorded in a table kept by
operating system.
• When job is executed, the operating system
satisfies its requests for card reader input by
reading from the disk.
• Similarly when job requests the printer to output a
line that line is copied into a system buffer and is
written to the disk. When the job is completed, the
output is actually printed. This form of processing
is called as Spooling.
Spooling
• Spooling uses a disk as a huge buffer, for reading as far ahead as possible on input devices and for storing
output files until the output devices are able to accept them.
• The most common spooling application is print spooling. In print spooling, documents are loaded into a
buffer and then the printer pulls them off the buffer at its own rate.
• Because the documents are in a buffer where they can be accessed by the printer, we can perform other
operations on the computer while the printing takes place in the background.
• Spooling also lets we place a number of print jobs on a queue instead of waiting for each one to finish
before specifying the next one.
• Spooling is also used for processing data at remote sites. The CPU sends the data via Communication
paths to remote printer. The remote processing is done at its own speed, with no CPU intervention. The
CPU just needs to be notified when the processing is completed, so that it can spool the next batch of
data.
• Spooling overlaps the I/O of one job with the computation of other jobs. Spooling has a direct beneficial
effect on the performance of the system. Spooling can keep both the CPU and the I/O devices working at
much higher rates
Spooling
Advantage of Spooling:
• The spooling operation uses a disk as a very large buffer.
• Spooling is however capable of overlapping I/O operation for one job with processor operations for
another job.

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.

Disadvantages of Multiprogramming Systems:


• As several job ready to run must be kept in main memory, some powerful form of memory management
policy is required.
• Multiprogramming systems requires CPU scheduling.
• Maintenance is expensive in multiprogramming.
• In multiprogramming user/programmer cannot modify a program to study its behaviour while the
program being executed.
Multitasking Operating Systems
• Task means a process. A process means a program in execution.
• A CPU handling multiple tasks at a time is known as Multitasking.
• A multitasking operating system can handle multiple tasks together by applying multiprogramming
technique.
• An instance of a program in execution is called a process or a task. Multitasking operating system
supports two or more active processes simultaneously.
• A multi-process operating system is also called multitasking operating system. Multitasking is the ability
to support two or more active processes simultaneously.
• In multitasking, only one CPU is involved, but it switches from one program to another so quickly that it
gives the appearance of executing all of the programs at the same time.
• Multitasking is, on single-processor machines, implemented by letting the running process own the CPU
for a while (a time slice) and when required gets replaced with another process, which then owns the
CPU.
Multitasking Operating Systems
Methods for sharing CPU time
• Cooperative Multitasking: The simplest form of multitasking is cooperative multitasking. It lets the
programs decide when they wish to let other tasks run. This method is not good since it lets one process
monopolise the CPU and never let other processes run. This way a program may be reluctant to give
away processing power in the fear of another process hogging all CPU time. Early versions of the MacOS
(uptil MacOS 8) and versions of Windows earlier than Win95/WinNT used cooperative multitasking
(Win95 when running old apps).

• 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.

Multitasking is the logical extension of Multiprogramming is the technique of running


multiprogramming. several programs at a time using timesharing.
Time Sharing Systems
• The main idea of time sharing systems is to allow a large number of users to interact with a single
computer (system) concurrently.
• A time sharing system is one that allows a number of different users to share the single computer system
for a variety of applications at the time.
• Time sharing is a logical extension of multiprogramming.
• In time sharing a small time slots (CPU Time) are available for each user known as a time slice or a
quantum.
• Those time slots may be only a few microseconds.
• One of the first time-sharing operating systems to be developed was the Compatible Time Sharing
System (CTSS) developed at the Massachusetts Institute of Technology (MIT). This system was first
developed for the IBM 709 in 1961.
• Example: UNIX
• CPU Scheduling algorithm is used.
Time Sharing Systems
Time Sharing Systems
Advantages Disadvantages

Each task is given equal importance The time-shared systems are more complex than
the multi-programming systems.
Efficient CPU utilization. Problem of reliability.

Quick response Question of security and integrity of users data and


programs
Avoid duplication of software Problem of data communication.

Reduce CPU idle time


Multiprocessor Systems
• Multiprocessing is the use of two or more Central Processing Units (CPUs) within a single computer
system.
• Multiprocessing sometimes refers to the execution of multiple concurrent software processes in a
system as opposed to a single process at any one instant.
• Multicomputer system includes number of computers connected together by means of communication
lines.
Multiprocessor Systems (Parallel Systems)
• Most systems to date are single processor i.e. they
have only one main CPU. Some systems have more
than one processor in close communication, sharing
the computer bus, the clock and sometimes
memory and peripheral devices. These systems are
referred to as Tightly Coupled Systems.

• These types of systems are used when very high


speed is required to process a large volume of data.
These systems are generally used in environment
like satellite control, weather forecasting etc.
Types of Multiprocessor Systems
• Asymmetric Multiprocessing: In this system, a specific task is assigned to each processor. The system has
one master processor and others are slave processors. A master processor controls the system and slave
processors follow the instructions of master or perform their predefined task.
• Symmetric Multiprocessing: In symmetric multiprocessing, there is no master-slave concept used. All
the processors are peer processors. They perform all tasks within the operating system
• The difference between symmetric and asymmetric multiprocessing may result from either hardware or
software. Special hardware can differentiate the multiple processors, or the software can be written to
allow only one master and multiple slaves.
Multiprocessor Systems
Advantages of Multiprocessor Systems:
• It increased throughput by increasing the number of processors, more work done in a shorter period of
time.
• Multiprocessors can also save money (cost) compared to multiple single systems. Because the processors
can share peripherals cabinets and power supplies.
• It increases reliability, if functions can be distributed properly among several processors, then the failure
of one processor will not halt the system, but rather will only slow it down.
• These systems provides higher performance due to parallel processing.

Disadvantages of Multiprocessor Systems:


• If one processor fails then it will affect in the speed.
• Multiprocessor systems are expensive.
• Complex OS is required.
• Large main memory required.
Distributed Systems
• A distributed system consists of a collection of
autonomous computers, connected through a
network and distribution middleware, which enables
computers to coordinate their activities and to share
the resources of the system, so that users perceive the
system as a single, integrated computing facility.
• In multiprocessor system the processors do not share
memory or a clock; instead each processor has its own
local memory. In such systems, if one machine or site
fails the remaining sites can continue operation. So
these types of systems are the reliable systems.
• The processors communicate with one another
through various communications lines, such as a high
speed buses or telephone lines.
• Distributed systems are usually referred to as Loosely
Coupled Systems or Distributed Systems.
Distributed Systems
Advantages of Distributed Systems:
• Reliability: It is more reliable than a single system. If one machine from system crashes, the rest of the
computers remain unaffected and the system can survive as a whole.
• Incremental Growth: In distributed computing the computer power can be added in small increments
i.e. new machines can be added incrementally as per requirements on processing power grow.
• Sharing of Resources: Shared data is required to many applications such as banking, reservation system
and computer-supported cooperative work. As data or resources are shared in distributed system, it is
essential for various applications.
• Flexibility: As the system is very flexible, it is very easy to install, implement and debug new services.
Each service is equally accessible to every client remote or local.
• Speed: A distributed computing system can have more computing power than a mainframe. Its speed
makes it different than other systems.
• Open system: As it is open system, it can communicate with other systems at any time. Because of an
open system it has an advantage over self-contained system as well as closed system.
• Performance: It is yet another advantage of distributed computing system. The collection of processors
in the system can provide higher performance than a centralized computer.
Distributed Systems
Disadvantages of Distributed Systems:
• Troubleshooting: Troubleshooting and diagnosing problems are the most important disadvantages of
distributed computing system.
• Software: Less software support is the main disadvantage of distributed computing system. Because of
more software components that comprise a system there is a chance of error occurring.
• Networking: The underlying network in distributed computing system can cause several problems such
as transmission problem, overloading, loss of messages. Hence, the problems created by network
infrastructure are the disadvantages of distributed computing.
• Security: The easy distributed access in distributed computing system which increases the risk of
security. The sharing of data creates the problem of data security. More susceptible to external attack.
• Complexity: Typically, distributed systems are more complex than centralized systems.
• Manageability: More effort required for system management.
• Unpredictability: Unpredictable responses depending on the system organization and network load.
Real Time Systems
• Real time operating system is used in an environment where a large number of events, mostly external
to the computer system, must be accepted and processed in a short time or within stipulated deadline.
• A real time computer system may be defined as, "one which controls an environment by receiving data,
processing them and taking action or returning results very quickly to affect the functioning of the
environment at that time".
• A real time system is defined as, “a system in which the correctness of computations depends not only
on the logical correctness of the computation but also on the time at which the result is produced. So
we can say that it has strict time constraints.”
• The key is the execution sufficiently quickly. This is what is called a Response Time. A Real Time system
usually has a response time measured in seconds or even milliseconds.
• The real time system finds many applications such as military, industry and medicine. A real time
system has well defined fixed time constraints.
• Processing should be done within the defined constraints namely, Hard and Soft Real Time System.
Real Time Systems
Real Time Systems
Characteristics of the Real Time Systems:
• To provide quick event response time.
• User convenience and resource utilization are of secondary concern to Real Time system designers.
• The processor is normally allocated to the highest priority processors.
• Memory management in Real Time systems is comparatively less demanding than in other types of
multiprogramming systems.
• File management is usually found only in larger installations of real time systems.
• The primary objective of the file management in Real Time system is usually the speed of access, rather
than efficient utilization of secondary storage.
Real Time Systems-Types
Hard Real Time Systems:
• Hard real-time systems guarantee that critical tasks complete on time.
• In hard real-time systems, secondary storage is limited or missing and the data is stored in ROM.
• In these systems, virtual memory is almost never found.

Soft Real Time Systems:


• Soft real-time systems are less restrictive.
• A critical real-time task gets priority over other tasks and retains the priority until it completes.
• Soft real-time systems have limited utility than hard real-time systems. For example, multimedia,
industrial control of robotics, virtual reality, Advanced Scientific Projects like undersea exploration and
planetary rovers, etc.
• Examples of real time system includes Nuclear Power Plant Control, Medical Imaging Systems, Industrial
Control Systems, Weapon Systems, Robots, Air Traffic Control Systems, Space Navigation, and Flight
Control System etc.
Real Time Systems
Advantages:
• Useful for real time practical industrial applications.
• Priority based scheduling
• Fast response, the system is immediately updated.
• Improved Efficiency
• Due to small size of programs RTOS can also be used in embedded systems like in transport and others.
• RTOS is error free that mean it has no chances of error in performing tasks.
• RTOS can be best used for any applications which run 24 hours and 7 days because it do less task
shifting and give maximum output.

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

Real Time System Time Sharing System

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

Source Model Open source. Closed, with open source components.

OS Family Linux. OS X, Unix

Language Used C, C++, Java Objective-C, C++

Customizability A lot, can change almost anything Limited

Developer Google, Open Handset Alliance (OHA). Apple Inc

Widgets Yes No

Available 100+ Languages 34 Languages


Language(s)
File Transfer Easier than iOS. More difficult.
Differentiate between Android and iOS
Parameters Android iOS

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.

Security Low High

Speed of More time consuming and slow Fast


Development
Command Line Interface (CLI) based OS
• In CLI the user interacts with the operating system by typing commands/instructions on a command
line.
• Various commands needs to be typed for carrying out various jobs like creating, deleting, editing,
renaming or printing a file.
• Usually in CLI each command represents an executable program, which is run when the command is
typed with the proper parameters.
Command Line Interface (CLI) based OS
Advantages Command Line Interface (CLI):
• If the user knows the correct commands then this type of interface can be much faster than any other
type of interface.
• This type of interface needs much less memory (Random Access Memory (RAM)) in order to use
compared to other types of user interfaces.
• CLI does not use as much CPU processing time as other UIs.

Disadvantages Command Line Interface (CLI):


• CLI are not user-friendly because they require the user to remember a lot of commands.
• Commands have to be typed precisely/correctly. If there is a spelling mistake then the command will
not respond or fail or causes error.
MS-DOS
• MS-DOS (Microsoft Disk Operating System) is a non-graphical command line operating system created
for IBM compatible computers.
• MS-DOS uses CUI (Character User Interface) or Command Line User Interface (CLI) in which the user
interacts with the computer with the help of some predefined commands through a command-line
interface.
• In DOS the commands are executed by a command-line interpreter by translating them into system
calls. Generally, this interpreter resides outside the kernel so that the kernel is not affected by the user.
• Some common MS-DOS commands include CD, DIR, COPY, DEL, EDIT, MOVE, REN, CLS etc.
UNIX
• Unix was originally developed in 1969 by a group of AT&T employees Ken Thompson, Dennis Ritchie,
Douglas Mcllroy, and Joe Ossanna at Bell Labs.
• It is a CLI based OS. The UNIX shell is a command-line interface, similar in some ways to the old DOS
prompt on the PC platform.
• A shell is a program that provides the command line interface. It inputs commands from the user,
interprets them, and executes them. Using a shell, user type a command, press enter, and the
command is immediately executed.
Graphical User Interface (GUI) based OS
• GUI is an alternative and more user friendly method to interface with the operating system. GUI
provides a rectangular area of screen called Window in which files, programs, directories and system
functions are represented as small images or symbols called as icons.
• In addition, various menus are provided by GUI, which list actions or commands to be performed by the
user. Such interface enables users to interact with operating system by moving mouse to position the
mouse cursor and clicking on some icon or menu option.
• A GUI provides a window and menu based graphical interface that can, be operated by using a pointing
device like a mouse.
• The mouse can be used to point and click on command button pictures or icons to execute commands,
open folders, or run programs. Thus users no longer have to remember commands to type and execute
them.
• Moreover, as similar type of icons or pictures are used to represent the same type of command, the
user does not have to remember various command names for doing the same job in different
programming environments.
• Thus, to delete the file salary.txt, the user simply may have to click the right mouse button over the file
icon and select the Delete option from the drop-down menu displayed. By clicking on that Delete
option, the file will get deleted.
Graphical User Interface (GUI) based OS
Advantages GUI:
• GUIs are ease of use, operate and provides better accessibility.
• User can switch quickly between tasks on the GUI interface.
• GUI allows multiple programs and/or instances to be displayed simultaneously.
• GUI is convenient and user friendly. It also improved efficiency due to getting faster results.

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.

CLI consumes low memory. It consumes high memory

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)

Not much flexible GUI is more flexible

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.

Examples: DOS, Unix etc. Example: Windows, Linux etc


Thank You

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

You might also like