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

Understanding Operating Systems Basics

An operating system (OS) is system software that manages computer hardware and software resources, providing a user-friendly interface for users to perform tasks without directly interacting with hardware. It handles various functions such as process management, memory management, storage management, and I/O management, ensuring efficient operation and resource allocation. Different types of operating systems include single-user, batch, multi-programmed, time-sharing, and real-time systems, with examples like Unix, macOS, Linux, and Microsoft Windows.

Uploaded by

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

Understanding Operating Systems Basics

An operating system (OS) is system software that manages computer hardware and software resources, providing a user-friendly interface for users to perform tasks without directly interacting with hardware. It handles various functions such as process management, memory management, storage management, and I/O management, ensuring efficient operation and resource allocation. Different types of operating systems include single-user, batch, multi-programmed, time-sharing, and real-time systems, with examples like Unix, macOS, Linux, and Microsoft Windows.

Uploaded by

stanleysteven536
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

pWhat is Operating System?

Computer System has different components, these include hardware, operating system, application
programs and users.
Hardware is a physical portion of the computer system consists of basic computer resources i.e.
memory, CPU and I/O devices.
Operating system manages hardware resources among different application programs and users.
Application programs are the third layer of computer organization. These are designed to perform
specific tasks directly for users. These may include from word processors to video games and many
more.
Users may be persons, computers or robots.

Definition
Operating system is a system software that manages computer resources (hardware as well as
applications), acts as an intermediary between a user and computer hardware and makes computer
system convenient to use.
It is due to the operating system, the user of the computer does not have to deal directly with the
hardware to get their work done. Operating system provides the user a simple and user-friendly
interface to perform their specific tasks.

Description
A computer system has various hardware and software resources required to solve some problem;
storage space, CPU time and I/O devices etc.
Operating system manages all the resources and receives many simple and conflicting requests. It
also decides how and when to allocate and deallocate resources so that computer system can run
efficiently.
In short operating system is a resource manager who manages both hardware and software
resources efficiently. It is a control program that manages execution of user program to prevent
errors and improper use of computer.
Viewing things closely will reveal that basic purpose of a computer system is to generate executable
programs and execute them. The following are some of the main issues involved in performing
these tasks.
 Storing an executable on a secondary storage device such as a hard disk
 Loading executable from disk into the main memory
 Setting the CPU state appropriately so that program execution could begin
 Creating multiple cooperating processes, synchronizing their access to shared data, and
allowing them to communicate with each other
The above issues require the operating system to provide the following services and much more:
 Manage secondary storage devices
 Allocate the appropriate amount of disk space when files are createLd
 Deallocate space when files are removing
 Ensure that a new file does not overwrite an existing file
 Schedule disk requests
 Manage primary storage
 Allocate the appropriate amount of memory space when programs are to be loaded into the
memory for executing
 Deallocate space when processes terminate
 Ensure that a new process is not loaded on top of an existing process
 Ensure that a process does not access memory space that does not belong to it
 Minimize the amount of unused memory space
 Allow execution of programs larger in size than the available main memory
 Manage processes

Operating System Components


An operating system has various components that perform different tasks for proper execution of
programs. Following are main components of the operating system.

Process Management
A process can be a program in execution that needs resources like CPU time, memory, files and I/O
devices to accomplish its tasks. The operating system is responsible for
 Creating and terminating user and system processes
 Suspending and resuming processes
 Providing mechanisms for process synchronization
 Providing mechanisms for process communication
 Providing mechanisms for deadlock handling

Main Memory Management


Main memory is a large array of words or bytes. These bytes are called memory locations and range
in size from hundreds of thousands to billions. Every word or byte has its own address. Main
memory is a repository of quickly accessible data shared by the CPU and I/O devices. It contains
the code, data, stack, and other parts of a process. The central processor reads instructions of a
process from main memory during the machine cycle. The OS is responsible for the following
activities in connection with memory management.
 Keeping track of free memory space
 Keeping track of which parts of memory are currently being used and by whom
 Deciding which processes are to be loaded into memory when memory space becomes
available
 Deciding how much memory is to be allocated to a process
 Allocating and deallocating memory space as needed
 Ensuring that a process is not overwritten on top of another

Secondary Storage Management


The programs to be executed, along with the data they access, must be in the main memory or
primary storage during their execution. Since main memory is too small to accommodate all data
and programs, and because the data it holds are lost when the power is lost, the computer system
must provide secondary storage to backup main memory. Most programs are stored on a disk until
loaded into the memory and then use disk as both the source and destination of their processing.
Like all other resources in a computer system, proper management of disk storage is important.
The operating system is responsible for the following activities in connection with disk
management:
 Free-space management
 Storage allocation and deallocation
 Disk scheduling

Input/Output Management
The input and output subsystem consists of:
 A memory management component that includes buffering, caching and spooling
 A general device-driver interface
 Drivers for specific hardware devices

File Management
Computers can store information on several types of physical media, e.g. magnetic tape, magnetic
disk and an optical disk. The operating system maps files onto physical media and accesses these
media through storage devices. Operating system is responsible for the following activities
pertaining to file management:
 Creating and deleting files
 Creating and deleting directories
 Supporting primitives (operations) for manipulating files and directories
 Mapping files onto the secondary storage
 Backing up files on stable (nonvolatile) storage media

Protection System
If a computer system has multiple users and allows concurrent execution of multiple processes then
the various processes must be protected from each other’s activities. Protection is any mechanism
for controlling the access of programs, processes or users to the resources defined by a computer
system.

Networking
A distributed system is a collection of processors that do not share memory, peripheral devices or a
clock. Instead, each processor has it own local memory and clock, and the processors communicate
with each other through various communication lines, such as high- speed buses or networks.
The processors in a communication system are connected through a communication network. The
communication network design must consider message routing and connection strategies and the
problems of contention and security.
A distributed system collects physically separate, possibly heterogeneous, systems into a single
coherent system, providing the user with access to the various resources that the system maintains.

Command Line Interpreter


One of the most important system programs for an operating system is the command interpreter,
which is the interface between the user and operating system. Its purpose is to read user commands
and try to execute them. Some operating systems include the command interpreter in the kernel.
Other operating systems (for example UNIX, Linux, and DOS) treat it as a special program that
runs when a job is initiated or when a user first logs on (on time-sharing systems). Examples of
shells for UNIX and Linux are Bourne shell (sh), C shell (csh), Bourne Again shell (bash), TC shell
(tcsh), and Korn shell (ksh). You can use any of these shells by running the corresponding
command, listed in parentheses for each shell.

Operating System Services


An operating system provides the environment within which programs are executed. It provides
certain services to programs and users of those programs, which vary from operating system to
operating system. Some of the common ones are:

Program execution:
The system must be able to load a program into memory and to run that programs. The program
must be able to end its execution.

I/O Operations:
A running program may require I/O, which may involve a file or an I/O device. For efficiency and
protection user usually cannot control I/O devices directly. The OS provides a means to do I/O.

File System Manipulation:


Programs need to read, write files. Also, they should be able to create and delete files by name.

Communications:
There are cases in which one program needs to exchange information with another process. This
can occur between processes that are executing on the same computer or between processes that are
executing on different computer systems tied together by a computer network. Communication may
be implemented via shared memory or message passing.

Error detection:
The OS constantly needs to be aware of possible errors. The error may occur in the CPU and
memory hardware, in I/O devices and in the user program. For each type of error, the OS should
take appropriate action to ensure correct and
consistent computing.

Operating System Functions


In order to assist the efficient operation of computer system, it provides the following functions:

Resource allocation:
When multiple users are logged on the system or multiple jobs are running at the same time,
resources must be allocated to each of them. There are various routines to schedule jobs, allocate
plotters, modems and other peripheral devices.

Accounting:
We want to keep track of which users use how many and which kinds of computer resources. This
record keeping may be used for accounting or simply for accumulating usage statistics.
Protection:
The owners of information stored in a multi user computer system may want to control use of that
information. When several disjointed processes execute concurrently it should not b possible for
one process to interfere with the others or with the operating system itself. Protection involves
ensuring that all access to system resources is controlled.

Operating Systems Structures


Just like any other software, the operating system code can be structured in different ways. The
following are some of the commonly used structures.

Simple/Monolithic Structure
In this case, the operating system code has not structure. It is written for functionality and efficiency
(in terms of time and space). DOS and UNIX are examples of such systems.

Layered Approach
The modularization of a system can be done in many ways. In the layered approach, the operating
system is broken up into a number of layers or levels each built on top of lower layer. The bottom
layer is the hardware; the highest layer is the user interface. A typical OS layer consists of data
structures and a set of routines that can be invoked by higher-level layers.

Virtual Machines
The computer system is made up of layers. The hardware is the lowest level in all such systems.
The kernel running at the next level uses the hardware instructions to create a set of system call for
use by outer layers. The system programs above the kernel are therefore able to use either system
calls or hardware instructions and in some ways these programs do not differentiate between these
two. System programs, in turn, treat the hardware and the system calls as though they were both at
the same level.
In some systems, the application programs can call the system programs. The application programs
view everything under them in the hierarchy as though the latter were part of the machine itself.
This layered approach is taken to its logical conclusion in the concept of a virtual machine (VM).
The VM operating system for IBM systems is the best example of VM concept.
Although the virtual machine concept is useful it is difficult to implement. There are two primary
advantages to using virtual machines: first by completely protecting system resources the virtual
machine provides a robust level of security. Second, the virtual machine allows system development
to be done without disrupting normal system operation.
Java Virtual Machine (JVM) loads, verifies and executes programs that have been translated into
Java Bytecode. VMWare can be run on a Windows platform to create a virtual machine on which
you can install an operating of your choice, such as Linux. Virtual PC software works in a similar
fashion.
Operating System Types
Single-user systems
A computer system that allows only one user to use the computer at a given time is known as a
single-user system. The goals of such systems are maximizing user convenience and
responsiveness, instead of maximizing the utilization of the CPU and peripheral devices.
Single-user systems use I/O devices such as keyboards, mice, display screens, scanners, and small
printers. They can adopt technology developed for larger operating systems.
They may run different types of operating systems, including DOS, Windows, and MacOS. Linux
and UNIX operating systems can also be run in single-user mode.

Batch Systems
Early computers were large machines run from a console with card readers and tape drives as input
devices and line printers, tape drives, and card punches as output devices. The user did not interact
directly with the system; instead, the user prepared a job, (which consisted of the program, data, and
some control information about the nature of the job in the form of control cards) and submitted this
to the computer operator. The job was in the form of punch cards, and at some later time, the output
was generated by the system. The output consisted of the result of the program, as well as a dump
of the final memory and register contents for debugging.
To speed up processing, operators batched together jobs with similar needs and ran them through
the computer as a group. For example, all FORTRAN programs were compiled one after the other.
The major task of such an operating system was to transfer control automatically from one job to
the next. Such systems in which the user does not get to interact with his jobs and jobs with similar
needs are executed in a “batch”, one after the other, are known as batch systems. Digital Equipment
Corporation’s VMS is an example of a batch operating system.

Multi-programmed Systems
Such systems organize jobs so that CPU always has one to execute. In this way, CPU utilization is
increased. The operating system picks and executes from amongst the available jobs in memory.
The job has to wait for some task such as an I/O operation to complete. In a non-multi-programmed
system CPU would sit idle while in case of multiprogrammed system, the operating system simply
switches to, and executes another job.

Time-sharing systems
These are multi-user and multi-process systems. Multi-user means system allows multiple users
simultaneously. In this system, a user can run one or more processes at the same time. Examples of
time-sharing systems are UNIX, Linux, Windows server editions.

Real-time systems
Real time systems are used when strict time requirements are placed on the operation of a processor
or the flow of data. These are used to control a device in a dedicated application. For example,
medical imaging system and scientific experiments.
Operating System Examples
There are many types of operating system. Some most popular examples of operating system are:

Unix Operating System


Unix was initially written in assembly language. Later on, it was replaced by C, and Unix, rewritten
in C and was developed into a large, complex family of inter-related operating systems. The
major categories include BSD, and Linux.
“UNIX” is a trademark of The Open Group which licenses it for use with any operating system that
has been shown to conform to their definitions.

macOS
Mac-OS is developed by Apple Inc. and is available on all Macintosh computers. It was formerly
called “Mac OS X” and later on “OS X”. MacOS was developed in 1980s by NeXT and that
company was purchased by Apple in 1997.

Linux
Linux is Unix-like operating system and was developed without any Unix code. Linux is open
license model and code is available for study and modification. It has superseded Unix on many
platforms. Linux is commonly used smartphones and smartwatches.

Microsoft Windows
Microsoft Windows is most popular and widely used operating system. It was designed and
developed by Microsoft Corporation. The current version of operating system is Windows-10.
Microsoft Windows was first released in 1985. In 1995, Windows 95 was released which only used
MS-DOS as a bootstrap.

Other operating systems


Various operating systems like OS/2, BeOS and some other operating system which were developed
over time are no longer used now. Because they could contribute to market share.

OS INSTALLATION
Boot methods:

Here are the several boot methods which are available to one;

USB: One should know that with the absence of a CD or DVD, one might prefer to use a USB drive
as a boot media. However, so as to boot from a USB, one should create a bootable USB version
through the help of some programs. After that, one should now copy the operating system on the
USB flash drive ready to commence installation. This is quite advantageous since it gives an
allowance for updating any information in the flash drive especially if there are many computers to
be installed with the OS where updating them is required.

CD-ROM: One should understand that many at times, the windows installation media is normally
stored in a CD-ROM. In such a scenario, the computer onto which one are installing the OS must
possess an in-built CD-ROM reader or it can be external in cases where it is not in-built.
DVD: One might find out that the DVD boot method is quite similar to that of a CD-ROM. This is
due to the fact that the specific computer must have a DVD-ROM reader. If the reader is absent,
then it automatically means one cannot install an OS stored on such media.

PXE: The Preboot Execution Environment is a capability that is present in most computers which
allows for automatic installation of an operating system whose files are on a network drive. In this
case, physical media is not required.

Type of installations

Creating image: One should know that this task basically requires the installer to come up with a
windows operating system that is a cloned by taking an existing OS version and make sector copies
of everything on the computer.

Unattended installation: Unattended installation is one that is quite common in large


organizations. This is a type of installation where the IT expert or installer must not be present so as
to respond to the numerous prompts that come during the installation. In this case, one should create
a [Link] file which will undergo the whole process owing to the fact that it already has all the
answers to all questions and responses to all prompts.

One should customize the xml file in one's windows installation media and the installation will run
all by itself without the intervention of any individual.

Upgrade: In-place upgrade is a type of OS installation where the installation begins with the
presence of the previous operating system. Once it identifies the existence of an existing operating
system, it automatically makes an upgrade to the latest version without altering any applications or
files present.

Clean install: Clean installation is a kind of OS installation that is far much different from in-place
upgrade. This is because clean installation means erasing of every file in the computer. In this case,
it calls for backup of the important files so as to avoid losing them. An external hard disk can serve
this purpose well or even a cloud backup. Such an installation erases all documents and all
configured personal settings. One should therefore move such items to a separate drive prior to
installation so as to avert losing them.

Repair installation: A repair installation is one that normally takes place in instances where the
Operating system files are corrupted or damaged probably because of a bad hard drive section, a
virus or Trojan attack among many others. Once the windows installation starts up, one should see
some options prompting for a repair installation. Here, one installs the operating system files again
without making any configuration changes or hard drive modifications. Such an installation simply
means repairing operating system files present on the windows version.

Multiboot: At times, one may desire to install a new operating system version without having to do
away with the old or existing operating system. In such a case, one should be in a position to
support a Multiboot configuration also known as dual boot configuration. In this configuration, one
should have two different operating systems in two distinct hard drive partitions. With this kind of
configuration, there is always a prompt that one should see on start-up asking one which operating
system one would like to run either the new one or old one. For instance, one can have windows
seven and windows eight both in one's computer. In case one wants to change over to the other
operating system, one should just restart one's computer.

Remote network installation: Remote network installation is another magnificent way of installing
an OS. This especially comes into place where physical media is not required during the
installation. One should put all one's windows installation files and configurations in a network
drive.

The Pre-boot Execution Environment allows one's system to run onto the network and access all the
installation files on the network drive. In this kind of installation, one should have a single
centralized server to undertake all the installation.

Image deployment: This simply involves cloning the particular OS image to another PC if there is
need for the machine to be deployed. On start-up, one should realize that the windows information
is similar to that of the old system and hence one must not go through the installation program when
bringing up a computer onto the network.

Operating System Addition Notes

What is an Operating System?


An Operating system (OS) is a software which acts as an interface between the end user and
computer hardware. Every computer must have at least one OS to run other programs. An
application like Chrome, MS Word, Games, etc needs some environment in which it will run and
perform its task. The OS helps you to communicate with the computer without knowing how to
speak the computer's language. It is not possible for the user to use any computer or mobile device
without having an operating system.
Examples of Operating System with Market Share

Here is a list of Operating Systems with the latest MarketShare

OS Name Share
Windows 40.34
Android 37.95
iOS 15.44
Mac OS 4.34
Linux 0.95
Chrome OS 0.14
Windows Phone OS 0.06

History Of OS
 Operating systems were first developed in the late 1950s to manage tape storage
 The General Motors Research Lab implemented the first OS in the early 1950s for their IBM
701
 In the mid-1960s, operating systems started to use disks
 In the late 1960s, the first version of the Unix OS was developed
 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.

Features of Operating System


Here is a list commonly found important features of an Operating System:
 Protected and supervisor mode
 Allows disk access and file systems Device drivers Networking Security
 Program Execution
 Memory management Virtual Memory Multitasking
 Handling I/O operations
 Manipulation of the file system
 Error Detection and handling
 Resource allocation
 Information and Resource Protection

What is a Kernel?
The kernel is the central component of a computer operating systems. The only job performed by
the kernel is to the manage the communication between the software and the hardware. A Kernel is
at the nucleus of a computer. It makes the communication between the hardware and software
possible. While the Kernel is the innermost part of an operating system, a shell is the outermost one.
Features of Kennel
 Low-level scheduling of processes
 Inter-process communication
 Process synchronization
 Context switching

Types of Kernels
There are many types of kernels that exists, but among them, the two most popular kernels are:
[Link]
A monolithic kernel is a single code or block of the program. It provides all the required services
offered by the operating system. It is a simplistic design which creates a distinct communication
layer between the hardware and software.
2. Microkernels
Microkernel manages all system resources. In this type of kernel, services are implemented in
different address space. The user services are stored in user address space, and kernel services are
stored under kernel address space. So, it helps to reduce the size of both the kernel and operating
system.
Functions of an Operating System

In an operating system software performs each of the function:


1. Process management:- Process management helps OS to create and delete processes. It also
provides mechanisms for synchronization and communication among processes.
2. Memory management:- Memory management module performs the task of allocation and
de-allocation of memory space to programs in need of this resources.
3. File management:- It manages all the file-related activities such as organization storage,
retrieval, naming, sharing, and protection of files.
4. Device Management: Device management keeps tracks of all devices. This module also
responsible for this task is known as the I/O controller. It also performs the task of allocation
and de-allocation of the devices.
5. I/O System Management: One of the main objects of any OS is to hide the peculiarities of
that hardware devices from the user.
6. Secondary-Storage Management: Systems have several levels of storage which includes
primary storage, secondary storage, and cache storage. Instructions and data must be stored
in primary storage or cache so that a running program can reference it.
7. Security:- Security module protects the data and information of a computer system against
malware threat and authorized access.
8. Command interpretation: This module is interpreting commands given by the and acting
system resources to process that commands.
9. Networking: A distributed system is a group of processors which do not share memory,
hardware devices, or a clock. The processors communicate with one another through the
network.
10. Job accounting: Keeping track of time & resource used by various job and users.
11. Communication management: Coordination and assignment of compilers,
interpreters, and another software resource of the various users of the computer systems.
Types of Operating system
 Batch Operating System
 Multitasking/Time Sharing OS
 Multiprocessing OS
 Real Time OS
 Distributed OS
 Network OS
 Mobile OS

Batch Operating System


Some computer processes are very lengthy and time-consuming. To speed the same process, a job
with a similar type of needs are batched together and run as a group.
The user of a batch operating system never directly interacts with the computer. In this type of OS,
every user prepares his or her job on an offline device like a punch card and submit it to the
computer operator.

Multi-Tasking/Time-sharing Operating systems


Time-sharing operating system enables people located at a different terminal(shell) to use a single
computer system at the same time. The processor time (CPU) which is shared among multiple users
is termed as time sharing.

Real time OS
A real time operating system time interval to process and respond to inputs is very small. Examples:
Military Software Systems, Space Software Systems.

Distributed Operating System


Distributed systems use many processors located in different machines to provide very fast
computation to its users.

Network Operating System


Network Operating System runs on a server. It provides the capability to serve to manage data, user,
groups, security, application, and other networking functions.

Mobile OS
Mobile operating systems are those OS which is especially that are designed to power smartphones,
tablets, and wearables devices.
Some most famous mobile operating systems are Android and iOS, but others include BlackBerry,
Web, and watchOS.

Difference between Firmware and Operating System


Firmware Operating System
Firmware is one kind of programming that is embedded
OS provides functionality over and above
on a chip in the device which controls that specific
that which is provided by the firmware.
device.
Firmware is programs that been encoded by the OS is a program that can be installed by
manufacture of the IC or something and cannot be
the user and can be changed.
changed.
It is stored on non-volatile memory. OS is stored on the hard drive.

Difference between 32-Bit vs. 64 Bit Operating System


Parameters 32. Bit 64. Bit
Architecture and Allow 32 bit of data processing Allow 64 bit of data processing
Software simultaneously simultaneously
32-bit applications require 32-bit OS and 64-bit applications require a 64-
Compatibility
CPUs. bit OS and CPU.
All versions of Windows 8, Windows 7,
Windows XP Professional, Vista,
Systems Available Windows Vista, and Windows XP, Linux,
7, Mac OS X and Linux.
etc.
32-bit systems are limited to 3.2 GB of 64-bit systems allow a maximum
Memory Limits
RAM. 17 Billion GB of RAM.

The advantage of using Operating System


 Allows you to hide details of hardware by creating an abstraction
 Easy to use with a GUI
 Offers an environment in which a user may execute programs/applications
 The operating system must make sure that the computer system convenient to use
 Operating System acts as an intermediary among applications and the hardware components
 It provides the computer system resources with easy to use format
 Acts as an intermediator between all hardware's and software's of the system

Disadvantages of using Operating System


 If any issue occurs in OS, you may lose all the contents which have been stored in your
system
 Operating system's software is quite expensive for small size organization which adds
burden on them. Example Windows
 It is never entirely secure as a threat can occur at any time

Summary
 An operating system is a software which acts as an interface between the end user and
computer hardware
 Operating systems were first developed in the late 1950s to manage tape storage
 The kernel is the central component of a computer operating systems. The only job
performed by the kernel is to the manage the communication between the software and the
hardware
 Two most popular kernels are Monolithic and MicroKernels
 Process, Device, File, I/O, Secondary-Storage, Memory management are various functions
of an Operating System
 Batch, Multitasking/Time Sharing, Multiprocessing, Real Time, Distributed, Network,
Mobile are various types of Operating Systems

You might also like