0% found this document useful (0 votes)
49 views16 pages

FocusTaskReading 1

Uploaded by

anniebabbie77
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)
49 views16 pages

FocusTaskReading 1

Uploaded by

anniebabbie77
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/ 16

TAITA TAVETA UNIVERSITY

SIC 2141 – Operating System


Session 1: Introduction of Operating System

Session Topics
Topics to be covered in this sessions:
 Evolution of Operating System
 Types of Operating Systems
 Desirable characteristics of modern operating systems

Learning Objectives
The purpose of this session is to help you understand what an operating system is and the role operating
system plays. You’ll also understand different types and examples of operating systems used in older and
modern devices and their characteristics. You’ll also acquire some knowledge of the services provided by
operating system. This session will also expose some details of major operating system concepts.

Session 1: Evolution to Operating System

Focus Task 1.1


Firstly, open an MSWord document to type a brief description of the answers from your web searches.
Remember to continually save your document. Second, using Chapter 1 of your textbook (Andrew
Tanenbaum, Herbert Bos, 2014, Modern Operating Systems, Pearson; 4th Edition. ISBN-
10: 013359162X), the links below and any of your favorite search engines and sites as a guide:

 https://www.tutorialspoint.com/operating_system/os_overview.htm
 https://ecomputernotes.com/fundamental/disk-operating-system/characteristics-of-an-
operating-system
 https://www.studytonight.com/operating-system/evolution-of-os
To support your investigation of the following;

 Give a definition of an operating system


 How did operating system evolve?

1
 Describe the types of operating systems. What are some of the advantages and disadvantages of
each type of operating system? What are some of the examples of each operating system
described?
 Describe desirable characteristics of operating systems. Give reasons why operating system is
important in any electronic device.
 As an IT specialist what do you need to know about operating systems. How is operating system
important when purchasing devices – especially handheld devices?
 As an IT/computer science specialist how do you distinguish between operating systems?

Underlying theories of Operating Systems


Operating System: a program that acts as an interface between a user of a computer and the computer
hardware

 Make the computer system convenient to use


 Use the computer hardware in an efficient manner

Program: - a set of instructions to control the computer hardware; most modern operating systems are
written in C, C++ or assembly language

Interface: - a boundary between two layers – typically, how a "lower" layer appears to a "higher" layer.
Interfaces exist all throughout computers. A "higher" layer means a higher level of abstraction –a "lower"
layer often represents "nuts & bolts".

Examples: -

- RS-232 interface (serial port)


- USB interface Application Programmer Interface (API)

An interface exists so that a computer user does not need to know the underlying details – how the
hardware "really" works.

(Interestingly enough, the field of computer engineering is all about understanding both the higher and
lower layers...)

operating systems, have the same two goals

- Make the computer system convenient to use


- Use the computer hardware in an efficient manner

Task: an independently-scheduled thread of execution. a.k.a. process, thread (a running program)

Kernel: - the code that is directly responsible for the tasking model – i.e., how the CPU'stime is allocated.

Preemptive Multitasking: - The capability of an operating system to equitably share CPU time between
several well-defined tasks currently scheduled to run on the system

Essential Reading

 Andrew Tanenbaum, Herbert Bos, 2014, Modern Operating Systems, Pearson; 4th Edition. ISBN-
10: 013359162X, ISBN-13: 978-0133591620

2
What is an Operating System?

An operating system, or "OS," is software that communicates with the hardware and allows
other programs to run. It is comprised of system software, or the fundamental files your
computer needs to boot up and function. Every desktop computer, tablet, and smartphone
includes an operating system that provides basic functionality for the device.

Common desktop operating systems include Windows, OS X, and Linux. While each OS is
different, most provide a graphical user interface, or GUI, that includes a desktop and the ability
to manage files and folders. They also allow you to install and run programs written for the
operating system. Windows and Linux can be installed on standard PC hardware, while OS X is
designed to run on Apple systems. Therefore, the hardware you choose affects what operating
system(s) you can run.

Mobile devices, such as tablets and smartphones also include operating systems that provide
a GUI and can run applications. Common mobile OSes include Android, iOS, and Windows
Phone. These OSes are developed specifically for portable devices and therefore are designed
around touchscreen input. While early mobile operating systems lacked many features found in
desktop OSes, they now include advanced capabilities, such as the ability to run third-party
apps and run multiple apps at once.

Since the operating system serves as a computer's fundamental user interface, it significantly
affects how you interact with the device. Therefore, many users prefer to use a specific
operating system. For example, one user may prefer to use a computer with OS X instead of a
Windows-based PC. Another user may prefer an Android-based smartphone instead of an
iPhone, which runs the iOS.

When software developers create applications, they must write and compile them for a specific
operating system. This is because each OS communicates with the hardware differently and
has a specific application program interface, or API, that the programmer must use. While many
popular programs are crossplatform, meaning they have been developed for multiple OSes,
some are only available for a single operating system. Therefore, when choosing a computer,
make sure the operating system supports the programs you want to run.

Evolution of Operating Systems

3
The evolution of operating systems is directly dependent on the development of computer
systems and how users use them. Here is a quick tour of computing systems through the past
fifty years in the timeline.

Operating Systems - Late 1950s

By the late 1950s Operating systems were well improved and started supporting following
usages:

 It was able to perform Single stream batch processing.


 It could use Common, standardized, input/output routines for device access.
 Program transition capabilities to reduce the overhead of starting a new job was added.
 Error recovery to clean up after a job terminated abnormally was added.
 Job control languages that allowed users to specify the job definition and resource
requirements were made possible.

Operating Systems - In 1960s

 1961: The dawn of minicomputers


 1962: Compatible Time-Sharing System (CTSS) from MIT
 1963: Burroughs Master Control Program (MCP) for the B5000 system
 1964: IBM System/360
 1960s: Disks became mainstream
 1966: Minicomputers got cheaper, more powerful, and really useful.
 1967-1968: Mouse was invented.
 1964 and onward: Multics
 1969: The UNIX Time-Sharing System from Bell Telephone Laboratories.

Supported OS Features by 1970s

 Multi User and Multi-tasking was introduced.


 Dynamic address translation hardware and Virtual machines came into picture.
 Modular architectures came into existence.
 Personal, interactive systems came into existence.

4
Accomplishments after 1970

 1971: Intel announces the microprocessor


 1972: IBM comes out with VM: The Virtual Machine Operating System
 1973: UNIX 4th Edition is published
 1973: Ethernet
 1974 The Personal Computer Age begins
 1974: Gates and Allen wrote BASIC for the Altair
 1976: Apple II
 August 12, 1981: IBM introduces the IBM PC
 1983 Microsoft begins work on MS-Windows
 1984 Apple Macintosh comes out
 1990 Microsoft Windows 3.0 comes out
 1991 GNU/Linux
 1992 The first Windows virus comes out
 1993 Windows NT
 2007: iOS
 2008: Android OS

And as the research and development work continues, we are seeing new operating systems
being developed and existing ones getting improved and modified to enhance the overall user
experience, making operating systems fast and efficient like never before.

Also, with the onset of new devices like wearables, which includes, Smart Watches, Smart
Glasses, VR gears e.t.c, the demand for unconventional operating systems is also rising.

Types of Operating Systems

Following are some of the most widely used types of Operating system.

1. Simple Batch System


2. Multiprogramming Batch System
3. Multiprocessor System
4. Desktop System
5. Distributed Operating System
6. Clustered System

5
7. Realtime Operating System
8. Handheld System

1. Simple Batch Systems

 In this type of system, there is no direct interaction between user and the computer.
 The user has to submit a job (written on cards or tape) to a computer operator.
 Then computer operator places a batch of several jobs on an input device.
 Jobs are batched together by type of languages and requirement.
 Then a special program, the monitor, manages the execution of each program in the
batch.
 The monitor is always in the main memory and available for execution.

Advantages of Simple Batch Systems

1. No interaction between user and computer.


2. No mechanism to priorities the processes.

2. Multiprogramming Batch Systems

 In this the operating system picks up and begins to execute one of the jobs from
memory.
 Once this job needs an I/O operation operating system switches to another job (CPU
and OS always busy).
 Jobs in the memory are always less than the number of jobs on disk (Job Pool).
 If several jobs are ready to run at the same time, then the system chooses which one to
run through the process of CPU Scheduling.

6
 In Non-multi-programmed system, there are moments when CPU sits idle and does not
do any work.
 In Multiprogramming system, CPU will never be idle and keeps on processing.

Time Sharing Systems are very similar to Multiprogramming batch systems. In fact, time
sharing systems are an extension of multiprogramming systems.

In Time sharing systems the prime focus is on minimizing the response time, while in
multiprogramming the prime focus is to maximize the CPU usage.

3. Multiprocessor Systems

A Multiprocessor system consists of several processors that share a common physical memory.
Multiprocessor system provides higher computing power and speed. In multiprocessor system
all processors operate under single operating system. Multiplicity of the processors and how
they do act together are transparent to the others.

Advantages of Multiprocessor Systems

1. Enhanced performance
2. Execution of several tasks by different processors concurrently, increases the system's
throughput without speeding up the execution of a single task.
3. If possible, system divides task into many subtasks and then these subtasks can be
executed in parallel in different processors. Thereby speeding up the execution of single
tasks.

7
4. Desktop Systems

Earlier, CPUs and PCs lacked the features needed to protect an operating system from user
programs. PC operating systems therefore were neither multiuser nor multitasking. However,
the goals of these operating systems have changed with time; instead of maximizing CPU and
peripheral utilization, the systems opt for maximizing user convenience and responsiveness.
These systems are called Desktop Systems and include PCs running Microsoft Windows and
the Apple Macintosh. Operating systems for these computers have benefited in several ways
from the development of operating systems for mainframes.

Microcomputers were immediately able to adopt some of the technology developed for larger
operating systems. On the other hand, the hardware costs for microcomputers are sufficiently
low that individuals have sole use of the computer, and CPU utilization is no longer a prime
concern. Thus, some of the design decisions made in operating systems for mainframes may
not be appropriate for smaller systems.

5. Distributed Operating System

The motivation behind developing distributed operating systems is the availability of powerful
and inexpensive microprocessors and advances in communication technology.

These advancements in technology have made it possible to design and develop distributed
systems comprising of many computers that are inter connected by communication networks.
The main benefit of distributed systems is its low price/performance ratio.

Advantages Distributed Operating System

1. As there are multiple systems involved, user at one site can utilize the resources of
systems at other sites for resource-intensive tasks.
2. Fast processing.
3. Less load on the Host Machine.

Types of Distributed Operating Systems

Following are the two types of distributed operating systems used:

1. Client-Server Systems
2. Peer-to-Peer Systems

8
Client-Server Systems

Centralized systems today act as server systems to satisfy requests generated by client
systems. The general structure of a client-server system is depicted in the figure below:

Server Systems can be broadly categorized as: Compute Servers and File Servers.

 Compute Server systems, provide an interface to which clients can send requests to
perform an action, in response to which they execute the action and send back results to
the client.
 File Server systems, provide a file-system interface where clients can create, update,
read, and delete files.

6. Peer-to-Peer Systems

The growth of computer networks - especially the Internet and World Wide Web (WWW) – has
had a profound influence on the recent development of operating systems. When PCs were
introduced in the 1970s, they were designed for personal use and were generally considered
standalone computers. With the beginning of widespread public use of the Internet in the 1990s
for electronic mail and FTP, many PCs became connected to computer networks.

In contrast to the Tightly Coupled systems, the computer networks used in these applications
consist of a collection of processors that do not share memory or a clock. Instead, each
processor has its own local memory. The processors communicate with one another through
various communication lines, such as high-speed buses or telephone lines. These systems are
usually referred to as loosely coupled systems (or distributed systems). The general structure of
a client-server system is depicted in the figure below:

9
Clustered Systems

 Like parallel systems, clustered systems gather together multiple CPUs to accomplish
computational work.
 Clustered systems differ from parallel systems, however, in that they are composed of
two or more individual systems coupled together.
 The definition of the term clustered is not concrete; the general accepted definition is
that clustered computers share storage and are closely linked via LAN networking.
 Clustering is usually performed to provide high availability.
 A layer of cluster software runs on the cluster nodes. Each node can monitor one or
more of the others. If the monitored machine fails, the monitoring machine can take
ownership of its storage, and restart the application(s) that were running on the failed
machine. The failed machine can remain down, but the users and clients of the
application would only see a brief interruption of service.
 Asymmetric Clustering - In this, one machine is in hot standby mode while the other is
running the applications. The hot standby host (machine) does nothing but monitor the
active server. If that server fails, the hot standby host becomes the active server.
 Symmetric Clustering - In this, two or more hosts are running applications, and they
are monitoring each other. This mode is obviously more efficient, as it uses all of the
available hardware.
 Parallel Clustering - Parallel clusters allow multiple hosts to access the same data on
the shared storage. Because most operating systems lack support for this simultaneous
data access by multiple hosts, parallel clusters are usually accomplished by special
versions of software and special releases of applications.

Clustered technology is rapidly changing. Clustered system's usage and it's features should
expand greatly as Storage Area Networks(SANs). SANs allow easy attachment of multiple

10
hosts to multiple storage units. Current clusters are usually limited to two or four hosts due to
the complexity of connecting the hosts to shared storage.

7. Real Time Operating System

It is defined as an operating system known to give maximum time for each of the critical operations that it
performs, like OS calls and interrupt handling.

The Real-Time Operating system which guarantees the maximum time for critical operations and
complete them on time are referred to as Hard Real-Time Operating Systems.

While the real-time operating systems that can only guarantee a maximum of the time, i.e. the critical task
will get priority over other tasks, but no assurerity of completing it in a defined time. These systems are
referred to as Soft Real-Time Operating Systems.

8. Handheld Systems

Handheld systems include Personal Digital Assistants(PDAs), such as Palm-Pilots or Cellular


Telephones with connectivity to a network such as the Internet. They are usually of limited size due to
which most handheld devices have a small amount of memory, include slow processors, and feature
small display screens.

 Many handheld devices have between 512 KB and 8 MB of memory. As a result, the
operating system and applications must manage memory efficiently. This includes
returning all allocated memory back to the memory manager once the memory is no
longer being used.
 Currently, many handheld devices do not use virtual memory techniques, thus forcing
program developers to work within the confines of limited physical memory.
 Processors for most handheld devices often run at a fraction of the speed of a processor
in a PC. Faster processors require more power. To include a faster processor in a
handheld device would require a larger battery that would have to be replaced more
frequently.
 The last issue confronting program designers for handheld devices is the small display
screens typically available. One approach for displaying the content in web pages is web
clipping, where only a small subset of a web page is delivered and displayed on the
handheld device.

11
Some handheld devices may use wireless technology such as BlueTooth, allowing remote
access to e-mail and web browsing. Cellular telephones with connectivity to the Internet fall
into this category. Their use continues to expand as network connections become more
available and other options such as cameras and MP3 players, expand their utility.

The Characteristics of Modern OS include:

 Object-Oriented Design.
 Multi-threading.
 Systematic Multi-Processing.
 Distributed Operating System.
 Micro-Kernel Architecture.

1. Object-Oriented Design:

Object-Oriented Design is the largest trend in designing of the operating system. In which the
OS creates the objects for each facility, each object has a set of operations.

2. Multi-threading:

An application or program divided into several smaller tasks, these tasks are executed by the
processor concurrently. These smaller tasks are called threads. A thread is a light-weight
process or a dispatchable unit of work. A thread has some of the characteristics of a process.

12
The number of independent threads in an application executed by the processor at
the time is called Multi-threading.

3. Systematic Multi-Processing:

If a computer has more than one processor, these processors can share the memory and
Input/output facilities and these processors share the same job for execution then the system is
called Systematic Multi-Processor System. The operating system designed for Systematic
processing is called ‘ Systematic Multi-Processing Operating System’.
The advantage of using Systematic Multi-Processing over uni-architecture. There are:

i. Throughput: It simply means that the number of jobs executed by the processor in a time
slot.
ii. Reliability: it means that if one processor failed due to hardware problems even can execute
the jobs with other processors.
iii. In the user point of view, jobs are executed very fast.

4. Distributed Operating System:

A Distributed Operating System is an operating system that runs on a network of computers.


The operating system, memory files shared by the number of users in the network from the
server. In a Distributed Operating System, each user thinks that running on a single large
system with one operating system. The users don’t need to know where the files in the network.

5. Micro-Kernel Architecture:

A Micro-Kernel Architecture is a minimal operating system that performs only the essential
functions of an operating system. System processes perform all other operating system
functions. Here the system processes mean Servers. A system that contains the server is called
the Client-Server Model.

Operating System - Services


An Operating System provides services to both the users and to the programs.

 It provides programs an environment to execute.


 It provides users the services to execute the programs in a convenient manner.
Following are a few common services provided by an operating system −

13
 Program execution
 I/O operations
 File System manipulation
 Communication
 Error Detection
 Resource Allocation
 Protection

1. Program execution
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.

A process includes the complete execution context (code to execute, data to manipulate,
registers, OS resources in use). Following are the major activities of an operating system with
respect to program management −

 Loads a program into memory.

 Executes the program.

 Handles program's execution.

 Provides a mechanism for process synchronization.

 Provides a mechanism for process communication.

 Provides a mechanism for deadlock handling.

2. I/O Operation
An I/O subsystem comprises of I/O devices and their corresponding driver software. Drivers
hide the peculiarities of specific hardware devices from the users.

An Operating System manages the communication between user and device drivers.

 I/O operation means read or write operation with any file or any specific I/O device.
 Operating system provides the access to the required I/O device when required.

3. File system manipulation


A file represents a collection of related information. Computers can store files on the disk
(secondary storage), for long-term storage purpose. Examples of storage media include

14
magnetic tape, magnetic disk and optical disk drives like CD, DVD. Each of these media has its
own properties like speed, capacity, data transfer rate and data access methods.

A file system is normally organized into directories for easy navigation and usage. These
directories may contain files and other directions. Following are the major activities of an
operating system with respect to file management −

 Program needs to read a file or write a file.


 The operating system gives the permission to the program for operation on file.
 Permission varies from read-only, read-write, denied and so on.
 Operating System provides an interface to the user to create/delete files.
 Operating System provides an interface to the user to create/delete directories.
 Operating System provides an interface to create the backup of file system.

4. Communication
In case of distributed systems which are a collection of processors that do not share memory,
peripheral devices, or a clock, the operating system manages communications between all the
processes. Multiple processes communicate with one another through communication lines in
the network.

The OS handles routing and connection strategies, and the problems of contention and
security. Following are the major activities of an operating system with respect to
communication −

 Two processes often require data to be transferred between them


 Both the processes can be on one computer or on different computers, but are
connected through a computer network.
 Communication may be implemented by two methods, either by Shared Memory or by
Message Passing.
5. Error handling
Errors can occur anytime and anywhere. An error may occur in CPU, in I/O devices or in the
memory hardware. Following are the major activities of an operating system with respect to
error handling −

 The OS constantly checks for possible errors.

 The OS takes an appropriate action to ensure correct and consistent computing.

15
6. Resource Management
In case of multi-user or multi-tasking environment, resources such as main memory, CPU
cycles and files storage are to be allocated to each user or job. 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.

7. Protection
Considering a computer system having multiple users and concurrent execution of multiple
processes, the various processes must be protected from each other's activities.
Protection refers to a mechanism or a way to control the access of programs, processes, or
users to the resources defined by a computer system. Following are the major activities of an
operating system with respect to protection −

 The OS ensures that all access to system resources is controlled.


 The OS ensures that external I/O devices are protected from invalid access attempts.
 The OS provides authentication features for each user by means of passwords.

16

You might also like