CHAPTER 7: MANAGE OPERATING SYSTEM
Unit of learning code: ICT/CU/IT/CR/6/6
Related Unit of Competency in Occupational Standard: Manage Operating Systems
7.1 Introduction to the unit of learning
This unit covers competencies required to manage operating system. It involves Identifying
fundamentals of operating system, Identifying concepts of process management concepts,
Identifying concepts of Memory management, Identifying concepts of Input and Output devices,
Identifying concepts of file management, Identifying Emerging trends in Operating system.
7.2 Summary of Learning Outcomes
1. Identifying Fundamentals of operating system
2. Identifying concepts of Process management concepts
3. Identifying concepts of Memory management
4. Identifying concepts of Input and Output devices
5. Identifying concepts of file management
6. Identifying Emerging trends in Operating system
7.2.1 Learning Outcome 1: Identifying fundamentals of Operating System.
7.2.1.1 Introduction to the learning outcome
It is critical for an ICT technician to master the tenets of Operating system. Ideally a computer
system consists of programs and hardware components. Operating system is the main program
that manages all of the hardware components and all other applications installed in the computer.
Specifically, it controls every hardware device, main memory, every file, processing time, the
computer users among others. In other words, without operating system the hardware component
will not function. Understanding the fundamentals of Operating systems (Basic OS terms,
concepts of OS, Structures of OS, Types of OS and functions of OS) serves as a good foundation
for any ICT technician to be.
7.2.1.2 Performance Standard
7.2.1.1 Definition of Operating system is done
7.2.1.2 Concepts of operating system are identified.
7.2.1.3 Structures of operating system are described.
7.2.1.4 Types of operating system are identified.
7.2.1.5 Functions of operating system are identified.
7.2.1.3 Information Sheet
An Operating system is a set of instructions/program that manages a computer‟s hardware. It
acts as an intermediary between the computer hardware and the user by providing a user
interface through which one can interact with the hardware component. It also provides a basis
for application programs to run. Majorly Operating systems are designed to be convenient or to
be efficient or combination of the two (Abraham, 2013). OS is the centre through which the
system hardware, other software, users, components work together.
Figure 1: OS vs Components
Source (CompTIA, 2013)
Identify concepts of Operating System
Operating systems are normally unique to their manufacturers and the hardware in which they
are run. Modern sophisticated devices require that operating systems meet certain specific
standards, consequently OS must perform the following main functions: -
1. Control of I/O operations
2. Job management
3. Memory management
4. Resource management
5. Error recovery
Operating system is a large and complex set of instruction created piece by piece. One can view
it from several perspectives for example, one can focus on the services that the system provides
or on the interface available to the users or its components and their interconnections. Most of
the OS provides basic concepts and abstractions like processes, files and address spaces which
are key for an ICT Technician to understanding them.
Processes
A process refers to a program in execution. It can also be looked at as a container that holds all
the in information needed to run a program. All processes are associated with an address space
and a list addressable memory location from 0 to a maximum value which can be read and
written to by the process. The address space constitutes the program data, the executable
program and the program stack. Each process requires a set of resources such as registers, list of
open files, list of related processes and all other information needed to run a program
successfully. Ideally a process is more than a program code (a combination of Program Code,
Data and Execution status).
Files
All information stored in a computer must be in a file. There exists a number of file types such
as; data files, program files, directory files, text files etc. Each file type stores a different type of
information for example text files stores textual data while program files stores programs. thus, a
file is simply a collection of data or information that has a name/identity usually called filename
System call
System calls are used for hardware services, to create or execute a process and for
communicating with kernel services. It is a technique used by programs to interact with the
Operating system. Ideally, a computer program makes a system call whenever it makes a request
to the kernel.
Shell
A shell is a command line interface that enables the user to interact with the computer. Examples
of shells include MS-DOS (For Windows Operating Systems), Command.com, csh, ksh and sh
for (Unix operating Systems)
Kernel
Is the first portion of the operating system to load into a protected area in the memory so as not
to be overwritten. It is responsible for key functions of the Operating system such as process
management, memory management, file management, interrupt handling and disk drive
management to mention a few.
Virtual Machines
VM is a software program that enables a host machine to support different operating systems just
like a separate computer. It is created within another computing environment (host)
Evolution of operating systems
General Motors designed the first operating system in 1956 to operate a single IBM
(International Business Machine) mainframe computer. Other owners of IBM mainframes
followed suit and developed their own operating systems.
The earliest operating systems differed wildly from one computing device to the next and
although they made it simpler to write programs, they did not allow programs to be used without
a complete rewrite on more than one mainframe machine. IBM, the first computer manufacturer
to develop an operating system began distributing operating systems with their computers in the
early 1960s.
Other vendors such as GE, Digital Equipment Corporation, Xerox, Burroughs Corporation also
released mainframe operating systems in early 1960s too.
In the late 1960s, the first version of the Unix Operating system was developed using C
language. This version was freely available in the earliest stages and easily ported to new
systems. Unix was rapidly accepted in the market. In fact, many modern OS such as Apple OS X
and all Linux flavours trace their roots to Unix.
Microsoft Inc developed their version of operating system to run its range of personal computers
in response to IBM development of their Operating System. The first OS built by Microsoft in
1981 was called MS-DOS. The name Windows was coined in 1985 when a graphical user
interface (GUI) was created and paired with MS-DOS. Apple OS X, Microsoft Windows and the
various forms of Linux command the vast majority of the modern Operating system market.
First Generation (1940‟2 to early 1950‟s)
The first computers were manufactured without any operating systems. In fact, they were
manufactured to perform generally simple math calculations. All programming was done purely
in machine language by wiring of plugboards to control the machine‟s functions. Generally, the
computers in generation were for solving simple math calculations.
Second Generation (1955 – 1965)
In the early 1950s, an operating system was introduced, called GMOS by General Motors
produced for the 701 IBM computer. Since the data submitted was in batches, operating systems
in the 1950's were called single-stream batch processing systems. The machines in this
generation were referred to as mainframes and were used by professional operators in large
computer rooms such as government agencies. The machines were costly.
The Third Generation (1965- 1980)
The computers manufactured during this era supported multiprogramming i.e. multiple jobs were
executed simultaneously. These new developments allowed CPU to be busy nearly 100 percent
of the time it was in use.
Minicomputers were introduced during this era and they created a whole new industry and the
development of more portable computers.
The Fourth Generation (1980- Present day)
Manufacturing of personal computing device occurred during this time. These computers were
very similar to the minicomputers developed in the third generation. The personal computers
were affordable compared to the previous generations. Bill Gates and Paul Allen had a vision to
take personal computing to the next level. They introduced MS-DOS (Microsoft Disk Operating
System) in 1981 very effective but challenging to understand its cryptic commands to majority of
users. Microsoft released several versions of Windows operating system such as Windows 95,
Windows 98, Windows XP, Windows 7, Windows Vista, Windows 10 etc.
In 1980‟s, Steve jobs co-founder of Apple, created Apple Macintosh which was user friendly
compared to MS-DOS.
In later years, a strong rivalry between the two companies developed however windows OS was
rapidly developed and currently running in virtually all devices such as laptops, smartphones,
ATM machines, motor vehicles and all our electronic devices. As the technology progresses so is
the operating system.
Structures of Operating System
Earlier operating systems like UNIX and MS-DOS lacked a well-defined structure. For instance,
absence of CPU Execution Mode (for user and Kernel) lead to system crashes in the event of
errors. The OS structure can be described using the following six designs; monolithic systems,
layered systems, microkernels, virtual machines, exokernels and client-server systems.
1. Monolithic systems
It is the oldest and most common architecture where operating systems run as a single program
in kernel mode. The OS resides on kernel for anyone to execute. The functionality of the
Operating Systems is invoked with simple function calls (system calls) within the kernel as a
single large program.
Many CPU has two modes of operation; the kernel mode (allows all the operating system
instructions) and the user mode (for user program in which input/output devices are allowed/not
allowed). The I/O device drivers are loaded into the kernel and become part and parcel of the
kernel.
2. Layered Architecture
The layered approach was developed in 1960‟s. This architecture splits the OS into different
layers thus increasing the modularity of the OS. The hardware layer serves as the bottom layer
while the user interface serves as the highest layer. The layers are arranged in a way that each
user functions and services of lower level layers only. Implementers can change the inner
workings of the OS using the external interface of the routines. Once the 1st layer is debugged, its
correct functioning can be assumed while the second layer is debugged up to layer N (Abraham
P. G., 2013). In the event of an error during debugging process of a particular layer, the error is
assumed to be on that layer since the layers below it is already debugged.
This approach has the advantage of simplicity of construction and debugging by programmers.
However, the main disadvantage of this approach is it makes the OS less efficient compared to
other implementations and it requires an appropriate definition of the various layers.
Figure 2: Layered OS Architecture
Source (Stallings, 2014)
3. Microkernels
This architecture structures the system by removing all non-essential parts of the kernel and
implements them as system and user level programs thus a smaller kernel. This architecture
has the advantage of providing a minimal process, memory management and a
communication facility.
Microkernel provides communication between the client program and the various services
running in user space. Message passing technique is used to provide communication in the
OS. For instance, if a client program wants to access a file, it must interact with the file
server. The client program and service never interact directly but indirectly through exchange
of messages with microkernel.
This approach makes it easier to extend the operating system. All new services are added to
user space and consequently do not require the kernel to be modified. The main advantage of
this architecture is that it provides more security, reliability is easier to port from one
hardware design to another.
4. Virtual machines
Virtual machine simulates the existence of a real machine within a physical machine. This
architecture enables one to install different operating machines within the virtual
environment. It supports running of several operating systems at once each on its virtual
machine. Several concepts are used to ensure multiprogramming is implemented in virtual
environment and it includes the control program (to create the virtual machine environment),
conversation monitor (to support system application features), remote spooling
communication system – RSCS (to enable virtual machine to transmit and receive file in
distributed system) and the Interactive Problem Control System - IPCS
Table 1: Virtual memory architecture
User Program 1 User Program 1
Operating System 1 Operating system N
Virtual Machine
Hardware
5. Client/Server Model in Operating system
The Client/Server model supports implementation of most of the OS functions in user processes
to request a service from a server. The server then responds accordingly. This model is a
variation of the microkernel system where servers are located in the middle layer.
6. Exokernels
This architecture was developed in MIT (Massachusetts Institute of Technology). It provides. It
provides protected access to the hardware through the use of abstraction layers and by putting
everything into libraries. The main advantages of exokernels include explicit allocation of
resources, separate protection and management, expose information among others. Complexity
in design of exokernel interfaces and less consistency serves as its main drawback.
Identify types of Operating System
The major types of operating system include: -
Real-Time Operating System
It‟s a type of operating system in which the time interval to process and respond to inputs
(response time) is so small that it controls the environment. These systems are used in situations
where there are rigid time requirements on the operation of a processor or the flow of data and
real-time systems can be used as a control device in a dedicated application. Real-time operating
system is applied on medical imaging systems, air traffic control systems, robots, industrial
control systems, scientific experiments, etc. Real-time systems can be hard real-time systems
(guarantees that critical tasks complete on time)
Batch Operating system
This type of OS entails having an operator that takes similar jobs having same requirement and
group them into batches for faster processing of jobs. The users of a batch operating system do
not interact with the computer directly. Each user prepares their task on an off-line device such
as punch cards and submits it to the computer operator. Then main draw backs of batch systems
include; difficult in providing the desired priority, lack of interaction between the user and the
job and CPU idle item.
Distributed Operating System
This type of operating system utilizes multiple central processors to serve multiple real-time
applications and multiple users. The data processing jobs are distributed among the processors
using various communication lines e.g. telephone lines and high-speed buses commonly referred
to as loosely coupled systems (distributed systems). The processors sometimes referred to as
sites, nodes etc may vary in size and functions.
The advantages of distributed systems include: -
Reduction of delays in data processing
In the event of one site failing in a distributed system the remaining sites will continue
operating.
Faster exchange of data
Resource sharing facility
Time-sharing Operating System
This type of operating system enables many users located in different terminals to use a
particular computer system at the same time. Processor‟s time is shared among multiple users
concurrently. The main objective of time-sharing OS is to minimize response time. Multiple jobs
are executed by the CPU through switching between jobs frequently. This ensures user can
submit their command and the response time is in few seconds.
Timesharing has the advantage of:
Reducing CPU idle time
Avoid duplication of software
Quick response time
Its main drawbacks include:
Data communication problems
Security and integrity of user programs and data
Reliability issues
Network Operating System
This type of operating system runs on server and it enables the server to manage networking
functions in a networked environment. It allows users, groups, data, security, application to be
shared in a Network. Examples of network operating system include Microsoft Windows
Servers, Unix, Mac OS X, Novell Netware, Linux and BSD.
The main advantages include:
Strengthened security
Easy to upgrade new technologies
Hardware can easily be integrated into the system
Provides remote access to servers from different locations irrespective of the type of
system.
The disadvantages include: -
It requires regular maintenance and updates.
Its costly to acquire and run a server system.
When the central device fails (server) operations stops.
Identify functions of Operating System.
An Operating System apart from controlling the execution of application programs it has a
number of functions which can be thought of as having three main objectives, namely,
Efficiency, Convenience, and ability to evolve (its dynamic nature with respect to allowing
effective development, testing and introduction of new system functions). The OS provides the
following functions broadly viewed as user view and system view: -
Provides user interface.
Through the Operating System the user is able to interact with the hardware device.
Earlier versions of OS had command-driven interface (Command Line Interface-CLI).
However, with invention of MS-Windows every operating system provides GUI
(Graphical User Interface).
Manage I/O Operations
The OS manages input/output operations thus relieves the user from details of every input
or output devices. In other words, it relieves the user from details of input or output
devices connected in the computer system.
Manage file systems.
In computer language a file is a logical concept that stores the user‟s data or program.
Files are created using editor. The Operating System manages all the files created on the
computer system by enabling tasks such as saving the file, retrieving the file and
accessing the file conveniently etc.
s
Error control and detection
When working with a computer, different types of errors are prone to be encountered. It‟s
the duty of the Operating System to detect hardware errors as well as software errors.
Memory access failure or sometimes device failure occur. Irrespective of the type of error
it‟s the responsibility of the Operating System to detect the error and give an alert to the
user regarding the error.
Resource management
Computer resources are scarce and needed by most devices simultaneously. The OS
performs resource allocation especially in the event of multiple processes running.
Process creation, deletion is handled by OS. For a process to run, resources such as
memory and CPU are required. It is the job of OS to source for available memory and
CPU and allocate to the process in need of the resource. OS manages Inter Process
Communication (IPC) and synchronization i.e. a situation where multiple processes are
simultaneously running and require to communicate with other process for easy access to
computer resource.
Storage management
Main memory cannot accommodate every program or data. Secondary storage devices
are required to augment the main memory in a computer system. The OS manages free
space on storage devices; dictates how the devices will be accessed, how swapping will
be done, performs disk scheduling techniques etc.
Process management
A process is a unit of work in a computer system. It also known as a program in
execution. An OS schedules processes and threads on the CPUs, creates and deletes
system and user processes, suspending and resuming processes, process synchronization
and inter-process communication.
Memory management
Main Memory is a repository of accessing data shared by the CPU and input output
devices quickly. CPU reads and writes instructions from main memory during the fetch
execute cycle. For a program to be executed, it must be mapped to absolute addresses and
loaded into main memory after which it will be executed and later on terminates to
release the memory space for the next program to be executed.
The OS manages memory by keeping track of the parts of memory currently being used
and by who, decides which processes and data to move into and out of memory and
allocating and deallocating memory space in the computer system.
Program Control
The OS controls all the programs running in the computer system. It protects one user‟s
program from another user‟s program. The OS is capable of detecting any exception
thrown by the system and notifies the user. In summary, the OS controls all the programs,
user activities, system activities and I/O access.
Virtual Machine Manager
OS acts as an abstraction that hides the complex details of hardware from users. It is very
clumsy to interact with I/O devices, it is for this reason that the OS provides a layer on
the actual hardware device on which it performs tasks for the user such that the user feels
all the tasks are done by the hardware.
The OS implements virtual devices to lessen the burden of working with a lot of physical
machines. The virtual machine also known as extended machine is implemented in the form of
virtual processors, virtual memory and devices derived from the physical computer. Each user
has an illusion that they are using a single machine.
Diagram shows an example of implementation of virtual machine using VM ware workstation
running on a MS-Windows 10 Operating System. The Virtual machine has Kali Linux, Windows
10 OS and CentOS Operating system installed in the virtual platform.
Figure 3: Virtual Memory Implementation on Windows 10
Virtual Machines Implemented on Virtual hardware
the Physical PC components
Virtual Machine
Source (VMware work station, 2020) Details
Installation of operating systems
As a computer technician it is critical that one understanding the basics of installing, configuring,
optimizing, and upgrading an operating Systems
Before installing an Operating System, you need to check the system requirements and confirm
whether your device can support the installation. OS usually have specific revisions made to the
original code identified by a number called Version. It tells you how new the product is in
relation to other versions of the product. Very minor revisions are indicated with an additional
decimal point on the revision number. Source code defines how a piece of software works. An
Operating system can be open source (OS can be examined and modified by users) or closed
course (Users cannot modify or examine the code)
General Steps in Installing Windows Operating System
Each version of Microsoft Windows is installed on a computer using similar steps. However,
there are steps in the installation process that differ slightly between the versions of Windows.
Step One: Check hardware compatibility
Check the minimum hardware requirements and the compatibility test for your device. Microsoft
provides a Windows compatibility product list for checking if the hardware in your computer is
compatible with thee OS you want to install. Incompatibility might lead to unsuccessful
installation of the Windows OS.
Step Two: Get a genuine MS-Windows CD, DVD, or USB thumb drive
Genuine copy of MS-OS installation disc with a product key is required at this step. The key is
required to activate Windows after installation. If one has an OEM computer (it does not have a
genuine windows CD, DVD or USB thumb drive), the Windows product key is positioned on the
back or side of the computer. Additionally, you will reinstall Windows and all the necessary
software using a hidden partition or a set of restore discs.
Step Three: Open the BIOS or CMOS setup
Insert the appropriate disk on the computer and change the boot order of the computer to either
CD, DVD disc drive or USB thumb drive as the first boot device. Once inserted the BIOS will
recognize and include the disk in the list. Save the changes and exit the BIOS.
Begin the Windows installation process by turning on the computer. Once the installation disk is
detected, a message “Press any key to boot from CD/DVD” will appear press any key on the
keyboard to have computer boot from the installation disk or drive.
Step Four: Select the type of Installation
One can perform a full installation, a repair or an upgrade installation. If installing for the first
time chose Full installation, if it is to rectify an already installed machine select repair, if it is to
transit to a higher/newer version of OS then select Upgrade option.
Step Five: Select the partition to install Windows onto
Select the main partition usually drive C or any other drive labeled “Unallocated partition”.
However, if upgrading, select the existing installation of Windows on the hard drive. You will be
prompted to select the option of “Format the hard drive to allow Windows OS to be installed”.
Follow the basic steps and provide appropriate information when prompted such as configuring
time zone, preferred language, name of the account you will use to access Windows
Step Six: Installation process completion
Once the installation process is complete, the computer will prompt you to log in after loading
the Windows OS. You are now free to install necessary drivers to support necessary hardware.
General Steps in Installing Linux Operating System
The steps involved in installing Windows apply for Linux installation with slight variations.
7.2.1.4 Learning Activities
Learning Activity 1
You have been tasked to prepare a brief on the Operating systems used in your College computer
laboratory. The management would like to know every basic detail regarding the operating
system installed. Prepare a 1-page document that shows the computer name you were working
on, the Operating system installed, its version and build, language configured, system
manufacturer, system model, BIOS version, Processor type and speed, page file and RAM
capacity.
Knowledge in relation to Performance Criteria given as content in the curriculum
The trainee is expected to research and run dxdiag command in order to mine information
regarding the performance criteria for this learning outcome.
Special instructions related to learning activities
The learning activity can be used before teaching the learning outcome; trainees will be able to:
Demonstrate their understanding of the operating system concepts and types of operating system.
OR
It can be used at the end of teaching the learning outcome; trainees will be able to:
1. Interact with a computing device and
2. Demonstrate their understanding of the operating system concepts and types of operating
system.
Learning Activity 2
Case Study of MS Windows vs Linux
The trainer to implement virtual PC and install Linux OS as well as Windows OS together with
the trainees. During the installation, the trainer should emphasize on the following aspects: -
a) Interface designs of the two Operating Systems
b) Memory management of the two Operating Systems
c) Performance of Linux OS as well as Windows OS
d) Security of Windows OS as well as Linux OS
7.2.1.5 Self-Assessment
1. Associate the following icons with their appropriate Operating systems
1.
2.
3.
4.
2. When a user wants to open and work simultaneously on many windows on his system, what
type of OS should be chosen? ………………………..
3. Program which reads and interprets control statements and passes the signals to operating
system is known as…………………….
4. Examine the following conditions and find appropriate operating system for them:
a. In a LAN, users want to share some costly resources like laser printers.
b. Multiple users on a system want quick response on their terminals.
c. Washing machine.
4. Using relevant examples in each case distinguish System software and Application software
7.2.1.6 Tools, Equipment, Supplies and Materials
A functional computer with an installed OS
The Personal Computers should be connected to the Internet for research purposes
7.2.1.7 model answers to self-assessment
A. Associate the following icons with their appropriate Operating systems
1.
2. Windows
Linux
3.
4. Ubuntu
iPhone OS
B. When a user wants to open and work simultaneously on many windows on his system,
what type of OS should be chosen? Multi-tasking
C. Program which reads and interprets control statements and passes the signals to operating
system is known as….................shell
D. Examine the following conditions and find appropriate operating system for them:
d. In a LAN, users want to share some costly resources like laser printers. – Network
Operating System
e. Multiple users on a system want quick response on their terminals. – Real time OS
f. Washing machine – Embedded OS such as Tizen in Linux
E. Using relevant examples in each case distinguish System software and Application
software
System software is any computer software which manages and controls computer
hardware so that application software can perform a task. Operating systems, such as
Microsoft Windows, Mac OS X or Linux, are prominent examples of system software.
Application software are programs that enable the end-user to perform specific,
productive tasks, such as word processing or image manipulation.
7.2.1.7 References
Abraham, P. a. (2013). Operating Systems Concepts. United States of America: Wiley.
Abraham, P. G. (2013). Operating Systems Concepts . Hoboken: John Wiley & Sons, Inc.