Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
240 views

Relationship Between Operating System Computer Har

This document discusses the relationships between operating systems, computer hardware, application software, and other types of software. It explains that operating systems act as an intermediary between application programs and computer hardware, managing resources and providing common services. It also discusses how operating systems abstract physical memory through address spaces, manage I/O devices, and allow multiple applications to run concurrently through techniques like timesharing. Application software performs specific tasks to benefit users, while computer software more broadly includes programs from low-level code to high-level applications.

Uploaded by

Husain Ali
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
240 views

Relationship Between Operating System Computer Har

This document discusses the relationships between operating systems, computer hardware, application software, and other types of software. It explains that operating systems act as an intermediary between application programs and computer hardware, managing resources and providing common services. It also discusses how operating systems abstract physical memory through address spaces, manage I/O devices, and allow multiple applications to run concurrently through techniques like timesharing. Application software performs specific tasks to benefit users, while computer software more broadly includes programs from low-level code to high-level applications.

Uploaded by

Husain Ali
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/329974415

Relationship between Operating System, Computer Hardware, Application


Software and Other Software

Article · October 2018


DOI: 10.14445/22312803/IJCTT-V64P104

CITATIONS READS

0 17,949

3 authors, including:

Agu Sunday
Madonna University, Nigeria
2 PUBLICATIONS   0 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Determining the Effects of Cross-over Point on the Running Time of Strassen Matrix Multiplication Algorithm View project

All content following this page was uploaded by Agu Sunday on 06 February 2020.

The user has requested enhancement of the downloaded file.


International Journal of Computer Trends and Technology ( IJCTT ) – Volume 64 Number 1 – October 2018

Relationship between Operating System,


Computer Hardware, Application Software
and Other Software
John O. Ugah1, Sunday C. Agu2, Felix Elugwu 3
1
Department of Computer Science, Ebonyi State University, Abakiliki, Nigeria
2
Department of Computer Science, Madonna University, Elele, Nigeria
3
Department of Computer Science, Delta State Polytechnic, Otefe-Oghara, Nigeria
Abstract
This paper studied the relationship between software, computer hardware is useless.
operating system (OS), computer hardware, Conversely, computer software cannot be used
application software and other software, the functions without supporting hardware. Similarly, computer
of OS to computer hardware and application software, software has to first be loaded into the computer’s
the types of OS and the application programs they hardware and then executed.
manage. It also studied the OS abstraction of physical One of the important jobs of an Operating System
memory to curb the security issues on processes that is to manage various I/O devices including mouse,
may arise as a result of multiple programs residing keyboards, etc. An I/O system is required to take an
concurrently in memory, where a process may read or application I/O request and send it to the physical
worse, write some other process’s memory, thus device, then take whatever response back from the
explaining the concepts of memory visualization and device and send it to the application [3]. Operating
principle of isolation. Moreover, it looked into how System – I/O software is often organized in the
OS manages various I/O devices, taking an following layers: User Level Libraries, Kernel Level
application I/O request and sending it to the physical Modules and the Hardware. A key concept in the
device, and taking the response back from the device design of I/O software is that it should be device
to the application, thus exploring the three independent where it should be possible to write
approaches available through which the CPU programs that can access any I/O device without
communicate with the Devices: Special Instruction having to specify the device in advance.
I/O, Memory-mapped I/O and the Direct memory Application software is a type of computer
access (DMA). program that performs a specific personal,
educational, business and other functions in different
Keywords - Operating System, Hardware, Software, areas of human endeavor. Each program with the help
Abstraction, Address Space, I/O Devices. of OS and hardware support is designed to assist the
user with a particular process, which may be related to
I. INTRODUCTION productivity, creativity, and/or communication [4].
Computer software is basically programs and
Computer hardware is the physical parts or procedures intended to perform specific tasks on a
components of a computer, such as the monitor, system from the lowest level assembly language to the
keyboard, computer data storage, graphic card, sound high level languages [5]. Computer software systems
card and motherboard. By contrast, software is are classified into three major types namely system
instructions that can be stored and ran by hardware. software, programming software and application
Hardware is directed by the software to execute any software operating on a particular hardware platform.
command or instruction. A combination of hardware A computer system consists of two major
and software forms a usable computing system [1]. elements: hardware and software [6]. Computer
An operating system (OS) is system software that hardware is the collection of all the parts you can
manages computer hardware and software resources physically touch. Computer software, on the other
and provides common services for computer hand, is not something you can touch. Software is a
programs. For hardware functions such as input and set of instructions for a computer to perform specific
output and memory allocation, the operating system operations. An OS is a software program that enables
acts as an intermediary between programs and the the computer hardware to communicate and operate
computer hardware, although the application code is with the computer software [7].
usually executed directly by the hardware and Over the years, OS has implemented different
frequently makes system calls to an act independently techniques such as multiprogramming, timesharing to
of one another [2]. For a computer to effectively enhance memory and make processes available to
manipulate data and produce useful output, its computers users at a given time. In timesharing, OS
hardware and software must work together. Without allows multiple programs to reside concurrently in

ISSN: 2231 – 2803 http://www.ijcttjournal.org Page 12


International Journal of Computer Trends and Technology ( IJCTT ) – Volume 64 Number 1 – October 2018

memory which makes protection an important issue; benefit of the user. Examples of an application include
where a process may read or worse, write some other a word processor, a spreadsheet, an accounting
process’s memory [8]. application, a web browser, a media player, an
This paper studied how OS abstracts physical aeronautical flight simulator, a console game or a
memory known as the address space which is the photo editor. The collective noun application software
running program’s view of the memory. It also studied refers to all applications collectively. This contrasts
the OS I/O hardware and software and explores the with system software, which is mainly involved with
basics and functions of OS, hardware and software. running the computer. Applications may be bundled
with the computer and its system software or
II. OPERATING SYSTEM, COMPUTER published separately, and may be coded as
HARDWARE AND APPLICATION SOFTWARE proprietary, open-source or university projects. Apps
built for mobile platforms are called mobile apps [10].
An operating system (OS), in its most general
sense, is software that allows a user to run other
A. Functions of Operating System to Computer
applications on a computing device. While it is
Hardware and Application Software
possible for a software application to interface directly
with hardware, the vast majority of applications are According to [2], an operating system performs the
written for an OS, which allows them to take following functions to either the computer hardware
advantage of common libraries and not worry about or application software:
specific hardware details. The operating system  Booting: Booting is a process of starting the
manages a computer's hardware resources, including: computer. The operating system starts the computer
(a) Input devices such as a keyboard and mouse. (b) to work. It checks the computer and makes it ready
Output devices such as display monitors, printers and to work.
scanners. (c) Network devices such as modems,  Memory Management: The memory cannot be
routers and network connections. (d) Storage devices managed without operating system. Different
such as internal and external drives. programs and data execute in memory at one time.
The OS also provides services to facilitate the If there is no operating system, security can be
efficient execution and management of, and memory compromised and the system will not work
allocations for, any additional installed software efficiently.
application programs. It consists of many components  Loading and Execution: An application program is
and features. Which features are defined as parts of loaded in the memory before it can be executed.
the OS vary with each OS. However, the three most Operating system provides the facility to load
easily defined components are: (a) Kernel: This programs in memory easily and then execute it.
provides basic-level control over all of the computer  Data security: Data is an important part of computer
hardware devices. Main roles include reading data system. The operating system protects the data
from memory and writing data to memory, processing stored on the computer from illegal use,
execution orders, determining how data is received modification or deletion.
and sent by devices such as the monitor, keyboard and  Disk Management: Operating system manages the
mouse, and determining how to interpret data received disk space. It manages the stored files and folders in
from networks. (b) User Interface: This component a proper way.
allows interaction with the user, which may occur  Process Management: CPU can perform one task at
through graphical icons and a desktop or through a one time. If there are many tasks, operating system
command line (c) Application Programming decides which task should get the CPU.
Interfaces: This component allows application
 Device Controlling: operating system also controls
developers to write modular code [3].
all devices attached to computer. The hardware
Hardware refers to the physical elements of a
devices are controlled with the help of small
computer. This is also sometime called the machinery
software called device drivers.
or the equipment of the computer. Examples of
 Printing controlling: Operating system also controls
hardware in a computer are the keyboard, the monitor,
printing function. If a user issues two print
the mouse and the central processing unit. However,
commands at a time, it does not mix data of these
most of a computer's hardware cannot be seen; in
files and prints them separately.
other words, it is not an external element of the
 Providing interface: It is used in order that user
computer, but rather an internal one, surrounded by
interface acts with a computer mutually. User
the computer's casing (tower). A computer's hardware
interface controls how you input data and
is comprised of many different parts, but perhaps the
instruction and how information is displayed on
most important of these is the motherboard. The
screen. The operating system offers two types of the
motherboard is made up of even more parts that power
interface to the user:
and control the computer [9].
i. Graphical-line interface: It interacts with of
An application program (app or application for short)
visual environment to communicate with the
is a computer program designed to perform a group of
coordinated functions, tasks, or activities for the

ISSN: 2231 – 2803 http://www.ijcttjournal.org Page 13


International Journal of Computer Trends and Technology ( IJCTT ) – Volume 64 Number 1 – October 2018

computer. It uses windows, icons, menus and controlling and monitoring external activities with
other graphical objects to issues commands. timing constraints. They are used for such tasks as
Command-line interface: it provides an interface to navigation, in which the computers must react to a
communicate with the computer by typing commands. steady flow of new information without
interruption. A real-time operating system may be
B. Types of Operating Systems and the Application single- or multi-tasking, but when multitasking, it
Programs they manage uses specialized scheduling algorithms so that a
deterministic nature of behavior is achieved.
 Single and Multi-tasking OS: A single-tasking
A library operating system is one in which the
operating system can only run one program at a
services that a typical operating system provides, such
time, while a multi-tasking operating system
as networking, are provided in the form of libraries
provides the ability to run more than one task at
and composed with the application and configuration
once. Multi-tasking may be characterized in
code to construct a unikernel: a specialized, single
preemptive and co-operative types. In preemptive address space, machine image that can be deployed to
multitasking, the operating system slices the CPU
cloud or embedded environments
time and dedicates a slot to each of the programs.
Unix-like operating systems, such as Solaris and
III. OPERATING SYSTEM ABSTRACTION
Linux—as well as non-Unix-like, such as Amigos—
support preemptive multitasking. Cooperative According to [8], to curb the security issues that
multitasking is achieved by relying on each process may arise as a result of multiple programs residing
to provide time to the other processes in a defined concurrently in memory Fig. 1 where a process may
manner. 16-bit versions of Microsoft Windows used read or worse, write some other process’s memory,
cooperative multi-tasking. 32-bit versions of both OS create an easy to use abstraction of physical
Windows NT and Win9x used preemptive multi- memory Fig. 2. This abstraction is called the address
tasking [11]. space, and it is the running program’s view of
 Single- and multi-user OS: Single-user operating memory in the system. Hence, the address space of a
systems have no facilities to distinguish users, but process contains all of the memory state of the
may allow multiple programs to run in tandem. A running program.
multi user operating system let more than one user 0KB
access the computer system at a time. Access to the Operating System
computer system is normally provided via a 128KB (code, data, etc.)
network, so that users access the computer remotely
(free)
using a terminal or other computer. Time-sharing 384KB
operating systems schedule tasks for efficient use of Process X
the system and may also include accounting (code, data, etc.)
512KB
software for cost allocation of processor time, mass Process Y
storage, printing, and other resources to multiple 640KB (code, data, etc.)
users [12].
(free)
 Distributed OS: This s a situation whereby the OS is 768KB
decentralized. In this case each process in a unit Process Z
undergoes a complete execution. It does not wait for 896KB (code, data, etc.)
a process to be executed at a particular unit and
hence, it is termed Distributed Processing. In an OS, (free)
1024KB
distributed and cloud computing context, tinplating
(free)
refers to creating a single virtual machine image as
1152KB
a guest operating system, then saving it as a tool for
multiple running virtual machines. The technique is Fig 1: Three Processes sharing memory [1].
used both in virtualization and cloud computing
management, and is common in large server For instance figure 3.2 shows that the program code
warehouses. lives in memory and as it runs, it uses a stack to keep
 Embedded OS: are designed to be used in embedded track of where it is in the function call chain as well as
computer systems. They are designed to operate on to allocate local variables and pass parameters and
small machines like PDAs with less autonomy. return values to and from routines. Lastly, the heap is
They are able to operate with a limited number of used for dynamically-allocated, user-managed
resources. They are very compact and extremely memory, such as that you might receive from a call to
efficient by design. Windows CE and Minix 3 are malloc() in C or new in an object oriented language.
some examples of embedded operating systems. Address space also contains other components apart
 Real time OS: are systems that respond to input from code, stack and heap such as statically-initialized
immediately. This category includes operating variables).
systems designed substantially for the purposes of In Figure 3.2, the address space is only 32KB.
The program code lives at the top of the address space

ISSN: 2231 – 2803 http://www.ijcttjournal.org Page 14


International Journal of Computer Trends and Technology ( IJCTT ) – Volume 64 Number 1 – October 2018

(starting at 0, and is packed into the first 2K of the B. The Principle of Isolation
address space). Code is static. It is placed at the top Isolating two objects means that the shutting
and it does not require extra space as the program down of one of the objects would not affect the other.
runs. The heap and the stack are placed at opposite OS ensures that processes are isolated from each other
ends of the address space because each can grow. The thus avoiding one from damaging the other [8].
heap begins after the code at 2KB and grows Additionally, this technique ensures that the running
downward such as when more memory is requested by programs cannot affect the operation of the underlying
a user through malloc(). The stack begins at 32KB and OS. Recent OS barricade pieces of the OS from other
grows upward such as when a procedure call is made pieces of the OS. Such micro kernels thus may
by a user. The placement of stack and heap could be provide greater reliability than typical monolithic
arranged in a different style as when multiple threads kernel designs
co-exist in an address space but the placement used in
figure 3.2 is a convention. IV. OPERATING SYSTEM – I/O HARDWARE

0KB One of the important jobs of an Operating System is to


The code segment: manage various I/O devices including mouse,
Program Code where instructions live keyboards, touch pad, disk drives, display adapters,
2KB USB devices, Bit-mapped screen, LED, Analog-to-
Heap The heap segment: digital converter, On/off switch, network connections,
4KB contains malloc’d data audio I/O, printers etc [3]. An I/O system is required
dynamic data structures to take an application I/O request and send it to the
(it grows downward) physical device, then take whatever response comes
back from the device and send it to the application.

(free) A. Device Controllers


Device drivers are software component that are
used in OS which enable a particular device to work.
Device drivers assist OS to take charge of all I/O
The stack segment:
devices. A Device Controller serves as a contact point
contains local variables,
between a device and a device driver. As a contact
30KB arguments to routines,
point, its primary function is to convert serial bit
Stack return values, etc.
stream to block of bytes and perform error correction
32KB (it grows upward)
as necessary. A device controller and a corresponding
driver must be available for each device to
Figure 3.2: An Address space [1].
communicate with the Operating Systems.
In address space which is the abstraction that the
OS is providing to the running program, the program B. Communication to I/O Devices
really is not in memory at physical addresses 0 There are three methods through which the CPU
through 32KB. Rather it is loaded at some randomly communicate with the Device: Special Instruction I/O,
selected physical addresses. Examine processes A, B, Memory-mapped I/O and the Direct Memory Access
and C in Figure 3.1; each process is loaded into (DMA) [3].
memory at a different address which poses the Special Instruction I/O: make use of specific CPU
security problem: instructions that allow data to sent to or read from an
I/O device
A. Memory Virtualization Memory-mapped I/O: in this approach, the
The act of OS abstraction of physical memory is memory and I/O devices share the same address space
referred to memory virtualization because the running hence, application data can be transferred to or from
program thinks it is loaded into memory at a particular I/O devices and memory without passing through
address (such as 0) and has a potentially very large CPU. This method is beneficial because an I/O device
address space (such as 32-bits or 64-bits). The reality can be operated by every instruction that can access
is quite different [8] the memory. Majority of high-speed I/O devices like
When, for example, process A in Figure 3.2 tries disks and communication interfaces use memory
to perform a load at address 0 (which we will call a mapped IO.
virtual address), somehow the OS, in tandem with Direct Memory Access (DMA): DMA unit
some hardware support, will have to make sure the controls exchange of data between main memory and
load doesn’t actually go to physical address 0 but the I/O device. CPU is only involved at the beginning
rather to physical address 320KB (where A is loaded and end of the transfer and interrupted only after
into memory). This is the key to virtualization of entire block has been transferred. OS uses DMA to
memory, which underlies every modern computer reduce the time it uses in handling the interrupts to the
system in the world main CPU generated by either slow devices such as

ISSN: 2231 – 2803 http://www.ijcttjournal.org Page 15


International Journal of Computer Trends and Technology ( IJCTT ) – Volume 64 Number 1 – October 2018

keyboard or fast devices such as disk after each byte is REFERENCES


transferred by these devices. DMA requires DMA
controller (DMAC) that manages the data transfers [1] Keizer, G. Microsoft gets real, admits its device share is just
14%, Computerworld. IDG, [Microsoft's chief operating
and enables access to the system bus. The controllers officer], 2014.
are programmed with source and destination pointers [2] Sophia T. (2018) The Relationship Between Hardware and
(where to read/write the data), counters to track the Software. [Online]. Available:
number of transferred bytes, and settings, which https://www.sophia.org/tutorials/the-relationship-between-
hardware-and-software.
includes I/O and memory types, interrupts and states [3] Tutorial Point. (2018) Operating System – I/O. [Online].
for the CPU cycles figure 4.1 Available:
https://www.tutorialspoint.com/operating_system/os_io_hard
ware.htm
Main [4] Custer, H. Generations of Computer, Microsoft Press, USA.
CPU Memory Pp 78, 1993.
[5] David, C. Introduction to General Purpose Computing (Part
One), CNET Prints, New York. Pp 31, 2001.
Data Bus [6] Campbell, K. and Aspray, W. Computer: A History of the
Information Machine, New York: Basic Books. Pp 34-36,
2006.
DMA [7] Anand, L. (2010) The Xbox One - Mini Review &
Comparison to Xbox 360/PS4. [Online]. Available:
anandtech.com.
[8] Arpaci-Dusseau. (2014) The Abstraction: Address Spaces.
[Online]. Available:
Device Device Device http://pages.cs.wisc.edu/~remzi/OSTEP/vm-intro.pdf..
Controller Controller Controller [9] Ceruzzi, Paul E. History of Modern Computing, Cambridge,
Mass.: MIT Press. Pp 67, 2000.
[10] Mike, N. Fundamental of Computer, Windows Team Blog.
Microsoft. 2008.
USB Drive Disk Printer [11] Ulrich, W. (2013) Application Package Software: The
Promise Vs. Reality, Cutter Consortium. [Online]. Available:
https://www.cutter.com/article/application-package-
Figure 4.1: Direct Memory Access [3] software-promise-vs-reality-39387.
[12] Gassée, Jean-Louis (2012) The Silly Web vs. Native Apps
Debate. [Online]. Available: https://web.archive.org/web/
V. CONCLUSION 20160415200141/http:/www.thisurlisfalse.com/the-silly-
web-vs-native-apps-debate/.
Hardware and software are mutually dependent
on each other. Both of them must work together to
make a computer produce a useful output. A driver
software component provides a software interface to
hardware devices, enabling operating systems and
other computer programs to access hardware functions
without needing to know precise details about the
hardware being used. Software cannot be utilized
without supporting hardware and vice versa
OS creates address space, an abstraction of the
physical memory which is the running view of the
memory, to curb the security issues that may arise as a
result of multiple programs residing concurrently in
memory. This act is referred to as virtualization
because the running program thinks it is loaded in
memory at a particular address. Moreover, OS uses
isolation principles the separate processes to ensure
that the operation of one process does not affect the
other and the operations of the underlying OS.
DMA offers better advantage over the other
methods through which the CPU communicate with
the devices as the OS used DMA to reduce the time it
uses in handling the interrupts to the CPU. In addition,
DMA controllers are programmed with (1) source and
destination pointers which indicate where to read /
write data and (2) counters which track the number of
transferred bytes.

ISSN: 2231 – 2803 http://www.ijcttjournal.org Page 16

View publication stats

You might also like