0% found this document useful (0 votes)
113 views11 pages

Chapter 1

This document provides an overview of operating systems with two main points: 1. It defines an operating system as a program that manages computer hardware resources and acts as an interface between users and applications. 2. It discusses the evolution of operating systems from the first generation in the 1940s-1950s using vacuum tubes to modern operating systems like Windows and Unix.

Uploaded by

John Lester Adan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
113 views11 pages

Chapter 1

This document provides an overview of operating systems with two main points: 1. It defines an operating system as a program that manages computer hardware resources and acts as an interface between users and applications. 2. It discusses the evolution of operating systems from the first generation in the 1940s-1950s using vacuum tubes to modern operating systems like Windows and Unix.

Uploaded by

John Lester Adan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

CHAPTER 1

Overview of Operating Systems

INTENDED LEARNING OUTCOMES:

At the end of the chapter, students are expected to:

1. Discuss the definition of Operating System


2. Recognize the evolution of Operating System

INTRODUCTION:

Operating Systems are an essential part of any computer system. Similarly, a course on operating
system is an essential part of any computer science education. This field is undergoing rapid change, as
computers are now prevalent in virtually every application, from games for children through the most
sophisticated planning tools for governments and multinational firms. This chapter will focus in the
introduction and the concepts that underlie in Operating System.

LESSON PROPER:

We often use computers for a variety of applications which require some logistical system support. A
few typical applications are listed below:
- Document design
- Accounting
- Email
- Image processing
- Games

With that, let’s get to know more about Operating System.

Topic 1: Definition of Operating System

An operating system is similar to a government. Like a government, it performs no useful function by itself. It
simply provides an environment within which other programs can do useful work.

To understand more fully the operating system’s role, we next explore operating systems from two viewpoints:
that of the user and that of the system.

a. User View - The user’s view of the computer varies according to the interface being used. The user
view depends on the system interface that is used by the users. The different types of user view
experiences can be explained as follows –

 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. The goal is to
maximize the work (or play) 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—how various hardware and software resources are shared. Performance
is, of course, important to the user; but such systems are optimized for the single-user
experience rather than the requirements of multiple users.

1|Page Operating Systems 1


 Recently, many varieties of mobile computers, such as smartphones and tablets, have come
into fashion. Most mobile computers are standalone units for individual users. Quite often,
they are connected to networks through cellular or other wireless technologies. Increasingly,
these mobile devices are replacing desktop and laptop computers for people who are
primarily interested in using computers for e-mail and web browsing. The user interface for
mobile computers generally features a touch screen, where the user interacts with the system
by pressing and swiping fingers across the screen rather than using a physical keyboard and
mouse.

 Some computers have little or no user view. For example, embedded computers in home
devices and automobiles may have numeric keypads and may turn indicator lights on or off to
show status, but they and their operating systems are designed primarily to run without user
intervention.

b. System View - From the computer’s point of view, the operating system is the program most intimately
involved with the hardware. According to the computer system, the operating system is the bridge
between applications and hardware. It is most intimate with the hardware and is used to control it as
required.

The different types of system view for operating system can be explained as follows:
 In this context, we can view an operating system as a resource allocator. A computer system
has many resources that may be required to solve a problem: CPU time, memory space, file-
storage space, I/O devices, and so on. The operating system acts as the manager of these
resources. Facing numerous and possibly conflicting requests for resources, the operating
system must decide how to allocate them to specific programs and users so that it can
operate the computer system efficiently and fairly. As we have seen, resource allocation is
especially important where many users access the same mainframe or minicomputer.

 A slightly different view of an operating system emphasizes the need to control the various
I/O devices and user programs. An operating system is a control program. A control program
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.

So what is Operating System?

 An operating system is a program that manages a computer’s hardware.


 It also provides a basis for application programs and acts as an intermediary/ interface between the
computer user and the computer hardware. Manages keyboard, display, processor, memory and other
devices
 An amazing aspect of operating systems is how they vary in accomplishing these tasks.
a. Mainframe operating systems are designed primarily to optimize utilization of hardware.
b. Personal computer (PC) operating systems support complex games, business applications, and
everything in between.
c. Operating systems for mobile computers provide an environment in which a user can easily interface
with the computer to execute programs.
Thus, some operating systems are designed to be convenient, others to be efficient, and others to be
some combination of the two
 A more common definition is that the operating system is a set of programs running at all times on the
computer (usually called the kernel), with all else being application programs.
 An operating system is concerned with the allocation of resources and services, such as memory,
processors, devices, and information. The operating system correspondingly includes programs to manage
these resources, such as a traffic controller, a scheduler, a memory management module, I/O programs,
and a file system.
 It is the software layer, nearest to hardware which facilitates launching of all the other software utilities and
applications.

2|Page Operating Systems 1


Topic 2: Brief History

The first computers did not have operating systems. Each program that was running on these first
computers had to include all the code needed to run on the computer, communicate with the connected
hardware and perform the calculation that the program was intended to perform. This situation made
even the simplest programs become very complex.

In response to this problem, the owners of the central computers began to develop system
software that facilitated the writing and execution of the programs included in the computer, and thus the
first operating systems were born.

Notable events in the history of Operating System:

- Operating systems were first developed in the late 1950s to manage tape storage
- The first operating system was created by General Motors in 1956 to run a single IBM central computer.
- In the 1960s, IBM was the first computer manufacturer to take on the task of developing operating
systems and began distributing operating systems included in its computers.
- In the late 1960s, the first version of the Unix OS was developed.
- Microsoft Windows was developed in response to an IBM request for an operating system to run its range
of personal computers or PCs.
- The first OS built by Microsoft was DOS. It was built in 1981 by purchasing the 86-DOS software from a
Seattle company
- The present-day popular OS Windows first came to existence in 1985 when a GUI was created and paired
with MS-DOS.

The operating system has been evolving through the years. The table shows the history of OS.

Generation Year Electronic device used Types of OS Device


First 1940-1950 Vacuum Tubes Plug Boards
Second 1955-1965 Transistors Batch Processing Systems
Third 1965-1980 Integrated Circuits(IC) Multiprogramming
Fourth Since 1980 Large Scale Integration PC

The First Generation (1940 to early 1950s)

When the first electronic computer was developed in 1940, it was created without any operating
system. In early times, users have full access to the computer machine and write a program for each task in
absolute machine language. Machines of the time were so primitive that programs were often entered one
bit at time on rows of mechanical switches (plug boards). Programming languages were unknown (not
even assembly languages).

The Second Generation (1955 - 1965)

The second-generation operating system was based on a single stream batch processing system
because it collects all similar jobs in groups or batches and then submits the jobs to the operating system
using a punch card to complete all jobs in a machine. At each completion of jobs (either normally or
abnormally), control transfer to the operating system that is cleaned after completing one job and then
continues to read and initiates the next job in a punch card. After that, new machines were called
mainframes, which were very big and used by professional operators.

The Third Generation (1965 - 1980)

During the late 1960s, operating system designers were very capable of developing a new
operating system that could simultaneously perform multiple tasks in a single computer program called

3|Page Operating Systems 1


Multiprogramming. The introduction of Multiprogramming plays a very important role in developing
operating systems that allow a CPU to be busy every time by performing different tasks on a computer at
the same time. During the third generation, there was a new development of minicomputer's phenomenal
growth starting in 1961 with the DEC PDP-1. These PDPs lead to the creation of personal computers in the
fourth generation.

The Fourth Generation (1980 - Present Day)

The fourth generation of operating systems is related to the development of the personal
computer. A major factor related to creating personal computers was the birth of Microsoft and the
Windows operating system. Microsoft created the first window operating system in 1975. After introducing
the Microsoft Windows OS, Bill Gates and Paul Allen had the vision to take personal computers to the next
level. Therefore, they introduced the MS-DOS in 1981; however, it was very difficult for the person to
understand its cryptic commands.

Today, Windows has become the most popular and most commonly used operating system
technology. And then, Windows released various operating systems such as Windows 95, Windows 98,
Windows XP and the latest operating system, Windows 7. Currently, most Windows users use the Windows
10 operating system. Besides the Windows operating system, Apple is another popular operating system
built in the 1980s, and this operating system was developed by Steve Jobs, a co-founder of Apple. They
named the operating system Macintosh OS or Mac OS.

Topic 3: Computer System Review

Figure 1: Computer System

A computer system can be divided roughly into four components:


a. Hardware - such as the processor, memory and I/O devices
b. Operating system - provides the means of proper use of the hardware in the operations of the
computer system
c. System and application programs - solve the computing problems of the user, such as: compilers,
database systems and web browsers
d. Users - people, machine, or other computer.

Computer System Operations


 A modern general-purpose computer system consists of one or more CPUs and a number of
device controllers connected through a common bus that provides access to shared memory
(Figure 2).
 Each device controller is in charge of a specific type of device (for example, disk drives, audio
devices, and video displays).
 The CPU and the device controllers can execute concurrently, competing for memory cycles.

4|Page Operating Systems 1


 To ensure orderly access to the shared memory, a memory controller is synchronizing access to the
memory.
 For a computer to start running-for instance, when it is powered up or rebootedit needs to have an
initial program to run.
 This initial program, or bootstrap program, tends to be simple.
 Typically, it is stored in read-only memory (ROM) or electrically erasable programmable read-only
memory (EEPROM), known by the general term firmware, within the computer hardware.
 It initializes all aspects of the system, from CPU registers to device controllers to memory contents.
The bootstrap program must know how to load the operating system and to start executing that
system.
 To accomplish this goal, the bootstrap program must locate and load into memory the operating
system kernel.
 The operating system then starts executing the first process, such as "init," and waits for some
event to occur.

Watch the video on how bootstrap works: https://www.youtube.com/watch?v=PSnGuvylWBI

Figure 2: Computer system and device controllers


connected through a common bus

Topic 4: Major Functionalities of Operating System

Functions of Operating system

1. Convenience: An OS makes a computer more convenient to use.


2. Efficiency: An OS allows the computer system resources to be used efficiently.
3. Ability to Evolve: An OS should be constructed in such a way as to permit the effective
development, testing, and introduction of new system functions at the same time without
interfering with service.
4. Throughput: An OS should be constructed so that it can give maximum throughput(Number of
tasks per unit time).

Major Functionalities of Operating System:

 Resource Management: When parallel accessing happens in the OS means when multiple users are
accessing the system the OS works as Resource Manager, Its responsibility is to provide hardware to
the user. It decreases the load in the system.

 Process Management: A program does nothing unless its instructions are executed by a CPU. A
program in execution, as mentioned, is a process. A time-shared user program such as a compiler is a
process. A word-processing program being run by an individual user on a PC is a process. A system
task, such as sending output to a printer, can also be a process (or at least part of one). A process
needs certain resources—including CPU time, memory, files, and I/O devices—to accomplish its task.

5|Page Operating Systems 1


The operating system is responsible for the following activities in connection with process
management:
o Scheduling processes and threads on the CPUs
o Creating and deleting both user and system processes
o Suspending and resuming processes
o Providing mechanisms for process synchronization
o Providing mechanisms for process communication

 Storage Management: The file system mechanism used for the management of the
storage. NIFS, CFS, CIFS, NFS, etc. are some file systems. All the data stores in various tracks of Hard
disks that all managed by the storage manager. It included Hard Disk.

The operating system is responsible for the following activities in connection with file management:
o Creating and deleting files
o Creating and deleting directories to organize files
o Supporting primitives for manipulating files and directories
o Mapping files onto secondary storage
o Backing up files on stable (nonvolatile) storage media

The operating system is responsible for the following activities in connection with disk management:
o Free-space management
o Storage allocation
o Disk scheduling

 Memory Management: Refers to the management of primary memory. The operating system has to
keep track, how much memory has been used and by whom. It has to decide which process needs
memory space and how much. OS also has to allocate and deallocate the memory space.

The operating system is responsible for the following activities in connection with memory
management:
o Keeping track of which parts of memory are currently being used and who is using them.
o Deciding which processes (or parts of processes) and data to move into and out of memory.
o Allocating and deallocating memory space as needed

 Security/Privacy Management: Privacy is also provided by the Operating system by means of


passwords so that unauthorized applications can’t access programs or data. For example, Windows
uses Kerberos authentication to prevent unauthorized access to data.

Topic 5: Types of Operating System

Types of Operating System

1. Batch Operating System


2. Time-Sharing Operating System
3. Embedded Operating System
4. Multiprogramming Operating System
5. Network Operating System
6. Distributed Operating System
7. Multiprocessing Operating System
8. Real-Time Operating System
9. Open Source Operating System

Batch Operating System

In Batch Operating System, there is no direct interaction between user and computer. Therefore,
the user needs to prepare jobs and save offline mode to punch card or paper tape or magnetic tape. After

6|Page Operating Systems 1


creating the jobs, hand it over to the computer operator; then the operator sort or creates the similar
types of batches like B2, B3, and B4. Now, the computer operator submits batches into the CPU to execute
the jobs one by one. After that, CPUs start executing jobs, and when all jobs are finished, the computer
operator provides the output to the user.

Examples of Batch based Operating System: Payroll System, Bank Statements, etc

Time-Sharing Operating System

It is the type of operating system that allows us to connect many people located at different
locations to share and use a specific system at a single time. The time-sharing operating system is the
logical extension of the multiprogramming through which users can run multiple tasks concurrently.
Furthermore, it provides each user his terminal for input or output that impacts the program or processor
currently running on the system. It represents the CPU's time is shared between many user processes. Or,
the processor's time that is shared between multiple users simultaneously termed as time-sharing.

Examples of Time-Sharing OSs are: Multics, Unix, etc.

Embedded Operating System

The Embedded operating system is the specific purpose operating system used in the computer
system's embedded hardware configuration. These operating systems are designed to work on dedicated
devices like automated teller machines (ATMs), airplane systems, digital home assistants, and the internet
of things (IoT) devices.

Multiprogramming Operating System

Due to the CPU's underutilization and the waiting for I/O resource till that CPU remains idle. It
shows the improper use of system resources. Hence, the operating system introduces a new concept that
is known as multiprogramming. A multiprogramming operating system refers to the concepts wherein two
7|Page Operating Systems 1
or more processes or programs activate simultaneously to execute the processes one after another by the
same computer system. When a program is in run mode and uses CPU, another program or file uses I/O
resources at the same time or waiting for another system resource to become available. It improves the
use of system resources, thereby increasing system throughput. Such a system is known as a
multiprogramming operating system.

Network Operating System

A network operating system is an important category of the operating system that operates on a
server using network devices like a switch, router, or firewall to handle data, applications and other
network resources. It provides connectivity among the autonomous operating system, called as a network
operating system. The network operating system is also useful to share data, files, hardware devices and
printer resources among multiple computers to communicate with each other.

Types of network operating system

o Peer-to-peer network operating system: The type of network operating system allows users to
share files, resources between two or more computer machines using a LAN.

o Client-Server network operating system: It is the type of network operating system that allows
the users to access resources, functions, and applications through a common server or center
hub of the resources. The client workstation can access all resources that exist in the central
hub of the network. Multiple clients can access and share different types of the resource over

8|Page Operating Systems 1


the network from different locations.

Examples of Network Operating System are: Microsoft Windows Server 2003, Microsoft Windows Server
2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD, etc.

Distributed Operating system

A distributed operating system provides an environment in which multiple independent CPU or


processor communicates with each other through physically separate computational nodes. Each node
contains specific software that communicates with the global aggregate operating system. With the ease
of a distributed system, the programmer or developer can easily access any operating system and resource
to execute the computational tasks and achieve a common goal. It is the extension of a network operating
system that facilitates a high degree of connectivity to communicate with other users over the network.

Examples of Distributed Operating System are- LOCUS, etc.

Multiprocessing Operating System

It is the type of operating system that refers to using two or more central processing units (CPU) in
a single computer system. However, these multiprocessor systems or parallel operating systems are used
to increase the computer system's efficiency. With the use of a multiprocessor system, they share
computer bus, clock, memory and input or output device for concurrent execution of process or program
and resource management in the CPU. A multiprocessing operating system is capable of running many
programs simultaneously, and most modern network operating systems (NOSs) support multiprocessing.

Examples of Multiprocessing Operating Systems include Windows NT, 2000, XP, and Unix.

Real-Time Operating System

A real-time operating system is an important type of operating system used to provide services
and data processing resources for applications in which the time interval required to process & respond to
input/output should be so small without any delay real-time system. For example, real-life situations
governing an automatic car, traffic signal, nuclear reactor or an aircraft require an immediate response to
complete tasks within a specified time delay. Hence, a real-time operating system must be fast and
9|Page Operating Systems 1
responsive for an embedded system, weapon system, robots, scientific research & experiments and various
real-time objects.

Types of the real-time operating system:

o Hard Real-Time Systems: These OSs are meant for applications where time constraints are very
strict and even the shortest possible delay is not acceptable. These systems are built for saving
life like automatic parachutes or airbags which are required to be readily available in case of
any accident. Virtual memory is rarely found in these systems.
o Soft Real-Time Systems: These OSs are for applications where for time-constraint is less strict.

Examples of Real-Time Operating Systems are: Scientific experiments, medical imaging systems,
industrial control systems, weapon systems, robots, air traffic control systems, etc.

Open Source Operating System

Open-source operating systems are those available in source-code format rather than as compiled
binary code. Linux is the most famous opensource operating system, while Microsoft Windows is a well-
known example of the opposite closed-source approach.

There are many benefits to open-source operating systems, including a community of interested
(and usually unpaid) programmers who contribute to the code by helping to debug it, analyze it, provide
support, and suggest changes. Arguably, open-source code is more secure than closed-source code
because many more eyes are viewing the code. Certainly, open-source code has bugs, but open-source
advocates argue that bugs tend to be found and fixed faster owing to the number of people using and
viewing the code.

Topic 6: Operating System Operations

 Modern operating systems are interrupt-driven. If there are no processes to execute, no I/O devices to
service, and no users to whom to respond, an operating system will sit quietly, waiting for something to
happen.
 Events are almost always signaled by the occurrence of an interrupt or a trap. A trap (or an exception) is a
software-generated interrupt caused either by an error (for example, division by zero or invalid memory
access) or by a specific request from a user program that an operating-system service be performed. The
interrupt-driven nature of an operating system defines that system’s general structure. For each type of
interrupt, separate segments of code in the operating system determine what action should be taken. An
interrupt service routine is provided to deal with the interrupt.

Topic 7: Booting of Operating System

An operating system is sometimes described as ―the first program,‖ one that allows you to run
other programs. However, it is usually stored as a file (or, more commonly, a collection of files) on a disk.
How does this ―first‖ program get to run?
 The operating system is loaded through a bootstrapping process, more succinctly known as booting.
A boot loader is a program whose task is to load a bigger program, such as the operating system.
 When you turn on a computer, its memory is usually uninitialized. Hence, there is nothing to run.
Early computers would have hardware that would enable the operator to press a button to load a
sequence of bytes from punched cards, punched paper tape, or a tape drive. Switches on the
computer’s front panel would define the source of the data and the target memory address. In some
cases, the boot loader software would be hard wired as non-volatile memory (in early computers,
this would be a grid of wires with cuts in the appropriate places where a 0-bit was needed).
 In later systems, read-only memory would contain a small boot loader that would have basic
intelligence to read, say, the first sector (512 bytes) of a disk.
 Since this initial program had to be as small as possible, it would have minimal capabilities. What
often happened is that the boot loader would load another boot loader, called a second stage
loader, which was more sophisticated.
10 | P a g e Operating Systems 1
 This second stage loader would have error checking, among possibly other features, such as giving
the user a choice of operating systems to boot, the ability to load diagnostic software, or enabling
diagnostic modes in the operating system.

 This multi-stage boot loader, having a boot loader load a bigger boot loader, is called chain loading.

 The boot loader will often perform some core initialization of the system hardware and will then load
the operating system.

 Once the operating system is loaded, the boot loader transfers control to it and is no longer needed.

 The operating system will initialize itself, configure the system hardware (e.g., set up memory
management, set timers, set interrupts), and load device drivers, if needed.

11 | P a g e Operating Systems 1

You might also like