Relationship Between Operating System Computer Har
Relationship Between Operating System Computer Har
net/publication/329974415
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.
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
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
(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