Unit 1
Unit 1
• Need of OS
• Evolution of OS
• Types of OS: Batch Processing,Multiprogramming,Time Sharing,Real
Time, Multitasking,Distributed,Network Operating System
• OS Services
• Concept of GUI
What do you mean by Operating system?
• An Operating System provides an interaction between the users and
computer hardware.
• A user is a person sitting at the computer terminal concerned about
the application rather than the architecture of the computer.
• The user never interacts with the hardware directly.
• To get the services of the hardware, he has to request through the
operating system.
What do you mean by Operating system?
• The operating system is a primary resource manager.
• It manages the hardware, including processors, memory, Input-
Output devices, and communication devices.
Need for Operating System
• OS as a platform for Application programs: The operating system provides a platform, on top of which, other programs, called application
programs can run. These application programs help users to perform a specific task easily. It acts as an interface between the computer and
the user. It is designed in such a manner that it operates, controls, and executes various applications on the computer.
• Managing Input-Output unit: The operating system also allows the computer to manage its own resources such as memory, monitor,
keyboard, printer, etc. Management of these resources is required for effective utilization. The operating system controls the various system
input-output resources and allocates them to the users or programs as per their requirements.
• Multitasking: The operating system manages memory and allows multiple programs to run in their own space and even communicate with
each other through shared memory. Multitasking gives users a good experience as they can perform several tasks on a computer at a time.
• A platform for other software applications: Different application programs are needed by users to carry out particular system tasks. These
applications are managed and controlled by the OS to ensure their effectiveness. It serves as an interface between the user and the
applications, in other words.
• Controls memory: It helps in controlling the computer’s main memory. Additionally, it allows and deallocates memory to all tasks and
applications.
• Looks after system files: It helps with system file management. As far as we are aware, all of the data on the system exists as files. It
facilitates simple file interaction.
• Provides Security: It helps to maintain the system and applications safe through the authorization process. Thus, the OS provides security to
the system.
Evolution of Operating System
• Operating systems (OS) are the backbone of every digital device,
bridging hardware and software. These operating systems are evolved
over the years and cater to the best user experience.
• It lacks real-time user interaction, i.e., users have to wait for the entire batch to
be processed.
• If the batches contain multiple tasks, giving output takes a longer time.
• Once the batch is processed, corrections can’t be done.
Evolution of Operating System
• Third Generation (Multi-Programmed Batch System)
• In the previous two generations, the systems ran jobs one at a time in sequence, which was efficient because the CPU
had to wait for I/O operations to complete. To overcome this, multiprogramming was introduced in the next
generations of operating systems.
• Multiprogramming allows multiple jobs to reside in the main memory at once, i.e., the CPU could switch to another
job if one job needs to wait for I/O operation. Due to multi-programming CPU could process more jobs in a given
amount of time.
• Since multiple jobs are done at once, there was a need for more advanced memory management. These memory
needs led to the development of concepts such as memory partitioning, paging, and segmentation.
• Since multiple jobs are done at a time, it is important to decide which job to execute first, second, or last. Algorithms
like First-Come-First-Serve, Shortest Job Next (SJN), and Round Robin are developed.
• The complexity of the OS was increased, and system utilities were developed to help manage files, devices, and other
system resources.
• Operating systems were accompanied by hardware like Integrated Circuit, which allowed for smaller, faster, and more
reliable computers.
Evolution of Operating System
• Fourth Generation (Time-Sharing Operating System)
• The fourth-generation operating system was more commonly associated with programming
languages that were close to human language and often used for database-related tasks.
• Graphical User Interface that allows users to interact with the system using windows, icons, and
menus.
• Ability to run multiple applications simultaneously.
• Built-in capabilities to connect to and function on networks, including the Internet.
• Automatically recognize and configure hardware devices.
• Advanced security mechanism to protect against malware, unauthorized access.
• Compatibility with a wide range of hardware devices and architecture.
• The OS allocates a small time slice or quantum to each task.
Types of Operating Systems
• Operating System is a type of software that works as an interface between the system program and the hardware.
There are several types of Operating Systems many of which are mentioned below.
• Types of Operating Systems
1. Batch Operating System
2. Multi-Programming System
3. Multi-Processing System
4. Multi-Tasking Operating System
5. Time-Sharing Operating System
6. Distributed Operating System
7. Network Operating System
8. Real-Time Operating System
Types of Operating Systems
• 1. Batch Operating System
• This type of operating system does not interact with the computer directly. There is an operator which takes similar jobs having
the same requirements and groups them into batches. It is the responsibility of the operator to sort jobs with similar needs.
Batch Operating System is designed to manage and execute a large number of jobs efficiently by processing them in groups.
• Advantages of Batch Operating System
• Multiple users can share the batch systems.
• The idle time for the batch system is very less.
• It is easy to manage large work repeatedly in batch systems.
• Disadvantages of Batch Operating System
• Batch systems are hard to debug.
• It is sometimes costly.
• The other jobs will have to wait for an unknown time if any job fails.
• In batch operating system the processing time for jobs is commonly difficult to accurately predict while they are in the queue.
• It is difficult to accurately predict the exact time required for a job to complete while it is in the queue.
• Examples of Batch Operating Systems: Payroll Systems, Bank Statements, etc.
Types of Operating Systems
• 2. Multi-Programming Operating System
• Multiprogramming Operating Systems can be simply
illustrated as more than one program is present in the
main memory and any one of them can be kept in
execution.
• This is basically used for better utilization of resources.
• Advantages of Multi-Programming Operating System
• Multi Programming increases the Throughput of the
System.
• It helps in reducing the response time.
• Disadvantages of Multi-Programming Operating System
• There is not any facility for user interaction of system
resources with the system.
Types of Operating Systems
• 3. Multi-Processing Operating System
• Multi-Processing Operating System is a type of
Operating System in which more than one CPU is
used for the execution of resources.
• It betters the throughput of the System.
• Advantages of Multi-Processing Operating
System
• It increases the throughput of the system.
• As it has several processors, so, if one processor
fails, we can proceed with another processor.
• Disadvantages of Multi-Processing Operating
System
• Due to the multiple CPU, it can be more complex
and somehow difficult to understand.
Types of Operating Systems
• 4. Multi-Tasking Operating System
• Multitasking Operating System is simply a multiprogramming
Operating System with having facility of a Round-Robin
Scheduling Algorithm.
• It can run multiple programs simultaneously.
• There are two types of Multi-Tasking Systems which are listed
below.
• Preemptive Multi-Tasking
• Cooperative Multi-Tasking
• Advantages of Multi-Tasking Operating System
• Multiple Programs can be executed simultaneously in Multi-
Tasking Operating System.
• It comes with proper memory management.
• Disadvantages of Multi-Tasking Operating System
• The system gets heated in case of heavy programs multiple times.
Types of Operating Systems
• 5. Time-Sharing Operating Systems
• Each task is given some time to execute so that all the tasks work smoothly. Each user gets the time of the CPU
as they use a single system. These systems are also known as Multitasking Systems.
• The task can be from a single user or different users also.
• The time that each task gets to execute is called quantum.
• After this time interval is over OS switches over to the next task.
Advantages of Time-Sharing OS
• Each task gets an equal opportunity.
• Fewer chances of duplication of software.
• CPU idle time can be reduced.
• Resource Sharing: Time-sharing systems allow multiple users to share hardware resources such as the CPU, memory, and
peripherals, reducing the cost of hardware and increasing efficiency.
• Improved Productivity: Time-sharing allows users to work concurrently, thereby reducing the waiting time for their turn to
use the computer. This increased productivity translates to more work getting done in less time.
• Improved User Experience: Time-sharing provides an interactive environment that allows users to communicate with the
computer in real time, providing a better user experience than batch processing.
Types of Operating Systems
• Disadvantages of Time-Sharing OS
• Reliability problem.
• One must have to take care of the security and integrity of user programs and data.
• Data communication problem.
• High Overhead: Time-sharing systems have a higher overhead than other operating systems due to the need for scheduling, context
switching, and other overheads that come with supporting multiple users.
• Complexity: Time-sharing systems are complex and require advanced software to manage multiple users simultaneously. This complexity
increases the chance of bugs and errors.
• Security Risks: With multiple users sharing resources, the risk of security breaches increases. Time-sharing systems require careful
management of user access, authentication, and authorization to ensure the security of data and software.
• Examples of Time-Sharing OS with explanation
• IBM VM/CMS : IBM VM/CMS is a time-sharing operating system that was first introduced in 1972. It is still in use today, providing a virtual
machine environment that allows multiple users to run their own instances of operating systems and applications.
• TSO (Time Sharing Option) : TSO is a time-sharing operating system that was first introduced in the 1960s by IBM for the IBM System/360
mainframe computer. It allowed multiple users to access the same computer simultaneously, running their own applications.
• Windows Terminal Services : Windows Terminal Services is a time-sharing operating system that allows multiple users to access a
Windows server remotely. Users can run their own applications and access shared resources, such as printers and network storage, in
real-time.
Types of Operating Systems
• 6. Distributed Operating System
• These types of operating system is a recent advancement in the world of computer technology and are being widely accepted all over the
world and, that too, at a great pace.
• Various autonomous interconnected computers communicate with each other using a shared communication network.
• Independent systems possess their own memory unit and CPU.
• These are referred to as loosely coupled systems or distributed systems .
• These systems’ processors differ in size and function.
• The major benefit of working with these types of the operating system is that it is always possible that one user can access the files or
software which are not actually present on his system but some other system connected within this network i.e., remote access is
enabled within the devices connected in that network.
• Advantages of Distributed Operating System
• Failure of one will not affect the other network communication, as all systems are independent of each other.
• Electronic mail increases the data exchange speed.
• Since resources are being shared, computation is highly fast and durable.
• Load on host computer reduces.
• These systems are easily scalable as many systems can be easily added to the network.
• Delay in data processing reduces.
Types of Operating Systems
• Disadvantages of Distributed Operating System
• Failure of the main network will stop the entire communication.
• To establish distributed systems the language is used not well-defined yet.
• These types of systems are not readily available as they are very expensive. Not only that the underlying software is highly complex and
not understood well yet.
• Examples of Distributed Operating Systems are LOCUS, etc.
• Issues With Distributed Operating Systems
• Networking causes delays in the transfer of data between nodes of a distributed system. Such delays may lead to an inconsistent view of
data located in different nodes, and make it difficult to know the chronological order in which events occurred in the system.
• Control functions like scheduling, resource allocation, and deadlock detection have to be performed in several nodes to achieve
computation speedup and provide reliable operation when computers or networking components fail.
• Messages exchanged by processes present in different nodes may travel over public networks and pass through computer systems that
are not controlled by the distributed operating system. An intruder may exploit this feature to tamper with messages, or create fake
messages to fool the authentication procedure and masquerade as a user of the system.
Types of Operating Systems
• 7. Network Operating System
• These systems run on a server and provide the capability to manage data, users, groups, security, applications, and other networking
functions.
• These types of operating systems allow shared access to files, printers, security, applications, and other networking functions over a small
private network.
• One more important aspect of Network Operating Systems is that all the users are well aware of the underlying configuration, of all other
users within the network, their individual connections, etc. and that’s why these computers are popularly known as tightly coupled
systems .
Types of Operating Systems
• Advantages of Network Operating System
• Highly stable centralized servers.
• Security concerns are handled through servers.
• New technologies and hardware up-gradation are easily integrated into the system.
• Server access is possible remotely from different locations and types of systems.
• Examples of Network Operating Systems are Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX,
Linux, Mac OS X, Novell NetWare, BSD, etc.
Types of Operating Systems
• 8. Real-Time Operating System
• These types of OSs serve real-time systems. The time interval required to process and
respond to inputs is very small.
• This time interval is called response time. Real-time systems are used when there are
time requirements that are very strict like missile systems, air traffic control systems,
robots, etc.
• Program Creation
• The Operating system offers the structures and tools, including editors and debuggers, to help the
programmer create, modify, and debugging programs.
Operating system services
• Error Detection and Response
• An Error in a device may also cause malfunctioning of the entire device. These include hardware
and software errors such as device failure, memory error, division by zero, attempts to access
forbidden memory locations, etc. To avoid error, the operating system monitors the system for
detecting errors and takes suitable action with at least impact on running applications.
• While working with computers, errors may occur quite often. Errors may occur in the:
• Input/ Output devices: For example, connection failure in the network, lack of paper in the
printer, etc.
• User program: For example: attempt to access illegal memory locations, divide by zero, use
too much CPU time, etc.
• Memory hardware: For example, Memory error, the memory becomes full, etc.
• To handle these errors and other types of possible errors, the operating system takes appropriate
action and generates messages to ensure correct and consistent computing.
Operating system services
• Accounting
• An Operating device collects utilization records for numerous assets and tracks
the overall performance parameters and responsive time to enhance overall
performance. These personal records are beneficial for additional upgrades and
tuning the device to enhance overall performance.
• Communication
• The operating system manages the exchange of data and programs among
different computers connected over a network.
• This communication is accomplished using message passing and shared memory.
Concept of GUI
• A graphical user interface (GUI) is a digital interface in which a user interacts with
graphical components such as icons, buttons, and menus.
• In a GUI, the visuals displayed in the user interface convey information relevant to
the user, as well as actions that they can take
History of GUI
• In the year of 1981, Alan Kay, Douglas Engelbart, and other researchers at Xerox
PARC (Palo Alto Research Centre) developed the GUI technology.
• A GUI-equipped Lisa computer was later released by Apple as per requirement on
January 19, 1983.
• Before there was a graphical user interface, communication was done via the
command-line interface, or CLI to manage the overall system.
• The end users did not find the CLI particularly enjoyable to use and modify, so
they were unfamiliar with all of the user-beneficial commands.
• Thus, the interface was put into place to fill this required gap.
• One of the most important techniques or features, as the GUI highlights, is “ease
of use.”
• The individual system of Xerox 8010 Information System served as the first GUI-
centric machine operating model in the technology.
Components of GUI
• Pointers: The pointer appears on the user’s screen as a marking symbol. The
pointer moves on to choose instructions and objects as per requirement.
• Icons: Icons allude to tiny visual representations of windows, documents, actions,
and other things on the display screen to simplify. A pointer and pointing device
can be used by the user to carry out the initial tasks for the overall processes.
• Pointing tool: At the initial stages, the pointing tool enables the user to select
and move the required pointer items on the screen, including a trackball or
mouse. It is the most beneficial tool in GUI.
• Desktop: The desktop is the screen that is contained within the icons and user
beneficial.
Features of GUI
• The graphical user interface (GUI) is very easy to use and the user can modify and
simplify the requirements.
• The required software, documents, or a few relevant programs are reflected in
the icons on the user interface to control the overall processes properly.
• A graphical user interface (GUI) has several features as per requirement, such as
tabs, a menu, pointers, and various other types of things to simplify and process
smoothly.
Pros and Cons of Graphical User Interface
Advantages and Disadvantages of GUI
• Advantages of GUI
• A graphical user interface (GUI) is basically seen as more intuitive for users than a text-based
command-line interface as per requirement, such MS-DOS or the Unix-like operating system shell
process.
• It is incredibly user-friendly and readily available to all and for novices, the user interface is rather
easy to understand and uncomplicated as per requirement.
• GUI represents the now-hidden lines of command with the required graphic elements.
• The end users must commit required instructions to memory for the software to function properly.
• Disadvantages of GUI
• An interface which is very much difficult to use will make the required tasks more difficult for the
user to complete and less effective overall processes.
• Gamers are still much affected negatively by a poor interface or surface system, therefore it
remains a problem for them to control the overall system.
Graphical User Interface vs. Character User
Interface
Graphical User Interface vs. Character User
Interface
FAQ
• What is an example of a GUI?
• An example of a GUI is the Windows desktop on your PC, where you click on icons to
open programs or files.
• Why is the GUI important?
• The GUI is important because it lets you use pictures and buttons to control a computer,
making it easier to understand and use.
• What is the difference between a UI and a GUI?
• A user interface (UI) is how you talk to your computer or phone. A GUI is a kind of UI that
uses pictures and symbols instead of words to make it easier to use your computer or
phone.
• What are GUI tools?
• GUI tools are programs that use pictures and buttons to help you use your computer
easily.