0% found this document useful (0 votes)
326 views5 pages

The Objectives and Functions of Operating Systems: Student - Feedback@sti - Edu

The document discusses the objectives and functions of operating systems. It provides details on: 1) The main objectives of an operating system which include making computers convenient to use, allowing efficient resource utilization, and supporting software development. 2) The important functions of an operating system which include program development, execution, I/O device access, file control, and resource access. 3) How operating systems have evolved from serial processing to include time-sharing and batch processing systems to improve processor utilization.

Uploaded by

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

The Objectives and Functions of Operating Systems: Student - Feedback@sti - Edu

The document discusses the objectives and functions of operating systems. It provides details on: 1) The main objectives of an operating system which include making computers convenient to use, allowing efficient resource utilization, and supporting software development. 2) The important functions of an operating system which include program development, execution, I/O device access, file control, and resource access. 3) How operating systems have evolved from serial processing to include time-sharing and batch processing systems to improve processor utilization.

Uploaded by

new genshin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

IT2105

Introduction to Operating Systems • Error detection and response: The OS can detect errors, such as device
The Objectives and Functions of Operating Systems failure and software errors, and provide appropriate responses that would
An operating system (OS) utilizes hardware resources of one or more clear the error condition with the least impact on running applications.
processors to provide a wide range of services to system users. It also • Performance parameter monitoring: The OS must be able to collect
manages the secondary memory and the input/output (I/O) devices (Stallings, usage statistics from various processes, such as response time, that can
2018). An operating system involves software and files that are installed on a be used as a basis for system performance improvements.
computer so that it can boot and execute programs. The OS technically • Instruction Set Architecture (ISA): The ISA defines the collection of
controls the hardware and coordinates its use among the various programs for machine language instructions that a computer can follow. The OS has
various users. It includes the kernel, administration tools, and system libraries access to additional machine language instructions that deal with
(Gregg, 2021). managing a system's ISA.
• Application Binary Interface (ABI): The ABI defines a standard for binary
The following can be considered as the objectives of an operating system portability across programs. It defines the system call interface to the OS
(Stallings, 2018): and the hardware resources and services available in a system through
• An operating system makes a computer convenient to use. the ISA.
• An operating system allows computer resources to be utilized in an • Application Program Interface (API): The API allows a program to the
efficient manner. hardware resources and services available in a system through that ISA,
• Operating systems are generally constructed to effectively support the supplemented with high-level language library calls. It also enables easier
development, testing, and implementation of new system functions or porting of application software.
software applications.
The operating system is composed of instructions executed by the processor.
The most important collection of system programs comprises the operating During the instruction execution, the operating system decides how processor
system. It masks the details of the hardware from programmers while providing time is allocated and which computer resources are available for use. Thus,
a convenient interface for using the system. The OS, as a computer interface, the OS, as a resource manager, can be described as a computer software that
provides services to the following areas (Stallings, 2018): functions the same way as other programs in terms of its dependency on the
• Program development: The OS provides a variety of facilities and processor (Stallings, 2018).
services in the form of utility programs, such as editors and debuggers, for
program development, which is also referred to as application program Operating systems evolve over time for the following reasons:
development tools. • Hardware upgrades or new types of hardware
• Program execution: The OS handles different processes, such as • New or improved services
loading data into the memory and scheduling, which must be performed • Fixes to existing OS faults
to execute programs.
• Access to I/O devices: The OS provides a uniform interface that hides The Evolution of Operating Systems
complex sets of instructions for I/O devices' operation. Serial Processing (Stallings, 2018)
• Control access to files: The OS encompasses a detailed understanding • From late 1940s to the mid-1950s, programmers interact directly with
of the structure of data contained in a file storage and can provide some computer hardware since operating systems (OS) are not yet available.
protection mechanisms to control file access. • Computers are run from a console consisting of display lights, toggle
• System resource access: The OS controls access to the whole system switches, an input device, and a printer.
and to some specific system resources through access functions and o Programs in machine code were loaded via input device, such as a
authorizations. card reader.

01 Handout 1 *Property of STI


[email protected] Page 1 of 5
IT2105
o Error conditions are indicated by the display lights. • If there are n number of users actively requesting service at exactly the
o If a program executes successfully, the output is printed. same time, each user will only be allocated 1/n of the effective compute
• Serial processing presented two (2) main problems which are: capacity, excluding the operating system overhead.
1. Scheduling: Installations used a hardcopy sign-up sheet to reserve • Compatible Time-sharing System (CTSS) was one of the first time-
computer time. A user could sign up for an allocated block of time, but sharing operating systems that was developed. It was developed at the
is unable to maximize the allocation. Thus, resulting in wasted Massachusetts Institute of Technology (MIT) by the group Project MAC,
computer processing time. for the IBM 709 computer system.
2. Set-up time: A single program, called a job, involves numerous
sequenced set-up processes that involve mounting and dismounting Major theoretical advances in the development of operating systems mainly
of tapes and setting up card decks. If an error occurred, the user had involve four (4) areas: processes, memory management, information
to go back to the beginning of the setup sequence. Thus, a protection and security, and scheduling and resource management. These
considerable amount of time was spent in setting up the program areas extend to numerous key design and implementation issues of modern
before it even runs. operating systems.

Simple Batch Systems (Silberschatz, Galvin & Gagne, 2018) Overview of Some Operating Systems (Stallings, 2018)
• To improve processor utilization, the concept of batch operating system Microsoft Windows Operating System
was developed in the mid-1950s by General Motors Research • Microsoft initially used the name Windows for an operating environment
Laboratories. It processed jobs in bulk, with predetermined input from files extension to the primitive MS-DOS operating system (OS), which was a
or other data resources. successful OS used on early personal computers.
• The main idea behind batch processing is the utilization of a piece of • Windows separates the core OS software from the application-oriented
program known as the monitor or resident monitor. The monitor provides software. The core OS software running in kernel-mode includes the
automatic job sequencing as indicated by the control cards. If a control Windows Executive, the Windows Kernel, device drivers, and the
card indicates that a program is to be run, the monitor loads the program hardware abstraction layer. On the other hand, the remaining software
into memory and transfers control to it. When the program completes, it running in user mode has limited access to system data. Windows is
transfers the control back to the monitor. Then, it reads the next control structured to provide support using a common set of kernel-mode
card, loads the appropriate program, and so on. This cycle is repeated components that lie beneath the OS environment subsystem.
until all control cards are interpreted for the job. • Windows has a highly modular architecture, wherein each system function
is managed by only one component of the OS. By principle, any module
Multi-programmed Batch Systems (Stallings, 2018) can be removed, upgraded, or replaced without rewriting the entire system
• This kind of operating system is more sophisticated compared to single- or its standard application program interfaces (APIs).
programmed systems. Several ready-to-run jobs must be kept in the main
memory, requiring some form of memory management. If several jobs are Kernel Components of Microsoft Windows OS
ready to run, the processor decides which one to run, and that decision o Windows Executive – This contains the core OS modules/services
requires a specific algorithm for scheduling. It basically allows the for specific functions and provides an API for user-mode software. The
processor to handle multiple jobs at a time. following are its functions:
 I/O manager - This provides a framework through which I/O
Time-sharing Systems (Stallings, 2018) devices are accessible to applications.
• In a time-sharing system, multiple users simultaneously access the system  Cache manager – This improves the performance of file-based
through terminals, with the operating system interleaving the execution of I/O by allowing recently referenced file data to reside in the main
each user program in a short burst time or quantum computation. memory for quick access.
01 Handout 1 *Property of STI
[email protected] Page 2 of 5
IT2105
 Object manager – This creates, manages, and deletes Windows implementing file systems, network protocols, and any other system
Executive objects that are used to represent resources such as extensions that need to run in kernel-mode.
processes, threads, and synchronization objects, while enforcing o Windowing and graphing system – This implements the graphical
uniform rules for retaining, naming, and setting the security of the user interface (GUI), such as the user interface controls and
objects. illustrations.
 Plug-and-play manager – This determines which drivers are
required to support a particular device and loads those drivers.
 Power manager - This coordinates the power consumption
among various devices. It can be configured to reduce power by
shutting down idle devices or the entire system, or setting the
processor to sleep.
 Security reference monitor – This enforces the access
validation and audit-generation rules for all protected objects
including files, processes, address spaces, and I/O devices.
 Virtual memory manager – This manages virtual addresses,
physical memory, and paging files on a disk.
 Process/thread manager – This creates, manages, and deletes
processes and thread objects.
 Configuration manager – This is responsible for implementing
and managing the system registry, which serves as the repository
for both system-wide and per-user settings of various parameters.
 Advanced local procedure call (ALPC) facility – This
implements an efficient cross-process call mechanism for
communication between local processes implementing services
and subsystems.
o Windows Kernel – This is considered the core software of the OS. It
controls the execution of the processors. This manages thread
Figure 1. The internal architecture of Windows operating system.
scheduling, process switching, exception and interrupt handling, and Source: Operating Systems: Internal and Design Principles 9th ed., 2018 p. 102
multiprocessor synchronization. Note that the Kernel's own code does
not run in threads. User-mode Processes
o Hardware abstraction layer (HAL) – This isolates the OS from 1. Special system processes: These include user-mode services such
platform-specific hardware variances. It makes each computer's as the session manager, the authentication subsystem, the service
system bus, direct memory access (DMA) controller, interrupt manager, and the log-on process.
controller, system timers, and memory controller look the same to the 2. Service processes: These involve services used by both Microsoft
Windows Executive and Kernel components. and other external software developers to extend system functionality
o Device drivers – These are dynamic libraries that extend the and run background user-mode activity on a Windows system.
functionality of the Windows Executive. These include hardware 3. Environment subsystems: These provide different operating system
device drivers that translate user I/O function calls into specific environments and support Portable Operating System Interface
hardware device I/O request, and software components for (POSIX) and Win32 subsystems. Each environment subsystem
contains processes shared among all applications.

01 Handout 1 *Property of STI


[email protected] Page 3 of 5
IT2105
4. User applications: These include executable (EXE) programs and • The classic UNIX is equipped with a number of user services and
dynamic link libraries (DLLs) that provide the functionality a user interfaces that are considered part of the system, which can be grouped
needs to make use of a system. into the shell. On the other hand, the OS still contains primitive routines
that can directly interact with the hardware.
Classic UNIX System o Shell – This supports system calls from applications, other interface
• The classic UNIX system was developed at Bell Labs which was partly software, and the components of the C compiler, such as the compiler
written in assembly language and was later converted into C language. It itself, the assembler, and the loader.
was initially called Uniplexed Information and Computing Service • A classic UNIX is designed to run on a single processor and lacks the
(UNICS). ability to protect its data structures from concurrent access by multiple
• The architecture of a classic UNIX has three (3) levels: processors. In addition, the system kernel of UNIX only contains few
o User level - focuses on the linked programs and libraries. spaces for code reuse.
o Hardware level - focuses on the physical hardware and interface.
o System kernel - focuses on the overall operation of the system. Modern UNIX System
• There was a need to produce a new system implementation that would
unify significant innovations and modern design features, which lead to the
development of the modular architecture of the modern UNIX system.
• The Berkeley Software Distribution (BSD) played an important role in the
development of UNIX OS design theory and in releasing series of
commercial UNIX products.

Figure 2. The internal architecture of a classic UNIX operating system. Figure 3. The internal architecture of a modern UNIX kernel.
Source: Operating Systems: Internal and Design Principles 9th ed., 2018 p. 110 Source: Operating Systems: Internal and Design Principles 9th ed., 2018 p. 111

01 Handout 1 *Property of STI


[email protected] Page 4 of 5
IT2105

• In a modern UNIX system, common facilities exist which serve as a core • The Linux operating system is composed of independent blocks called
of the operating system, written in a modular fashion, that provide several loadable modules, which can be automatically loaded and unloaded on
functions and services needed by a number of OS processes. demand. A loadable module is an object file whose code can be linked and
o System V Release 4 (SVR4) – A joint development by AT&T and Sun unlinked from the kernel at runtime. It implements some specific functions,
Microsystems. The system kernel of this operating system has a clean such as a file system and a device driver. In addition, a loadable module
implementation. The new feature in this OS release includes real-time is executed in kernel mode on behalf of the current process. Below are the
processing support, process scheduling classes, dynamically two (2) vital characteristics of the Linux loadable modules:
allocated data structures, virtual memory management, virtual file 1. Dynamic linking – The modules can be loaded and linked into the
systems, and a preemptive system kernel. The SVR4 was developed kernel while the kernel is already in memory and executing. A module
to provide a uniform platform for commercial UNIX deployment, since can also be unlinked and removed from the memory at any time.
it runs on processors ranging from 32-bit up to supercomputers. 2. Stackable modules – The modules are arranged in hierarchical
order. Modules serve as libraries when they are referenced by other
Linux Operating System modules higher up in the hierarchy, and as clients when they reference
• Linux started out as a UNIX variant for the IBM PC architecture, which was modules further down.
written by Linus Torvalds. Torvalds posted an early version of Linux on the
Internet around 1991 and since then, numerous programmers and Kernel Components of Linux OS
developers have collaborated over the Internet to improve the Linux o Signals o Character device drivers
operating system. o System calls o Block device drivers
o Processes and scheduler o Network device drivers
• Linux is a free open-source variant of the UNIX operating system, that is
o Virtual memory o Traps and faults
fully featured and runs virtually on different platforms. It is highly modular o File systems o Physical memory
and easy to configure, which provides optimal performance in a wide o Network protocols o Interrupts
variety of hardware platforms.
Android Operating System
• The Android operating system is a Linux-based system originally designed
for mobile phones. It is defined as a software stack that includes a modified
version of the Linux kernel, middleware, and some key applications.
• The kernel for an Android operating system does not contain drivers
unsuitable for mobile environments, which technically makes it smaller.
The Android relies on its Linux-based kernel only for the core system
services, such as security, memory management, process management,
network stack, and driver model.
• Android, Inc., which was bought by Google in 2005, initiated the Android
OS development. Android has an active community of developers and
enthusiasts who use the Android Open-Source Project (AOSP) source
code to develop and distribute their own modified versions of the operating
system.

References:
Gregg, B. (2021). System performance: Enterprise and Cloud (2nd ed.). Pearson Education, Inc.
Figure 4. The structure of the Linux kernel components. Silberschatz, A., Galvin, P. & Gagne, G. (2018). Operating systems concepts (10th ed.). John Wiley & Sons, Inc.
Source: Operating Systems: Internal and Design Principles 9th ed., 2018 p. 116 Stallings, W. (2018). Operating systems: Internal and design principles (9th ed.). Pearson Education Limited

01 Handout 1 *Property of STI


[email protected] Page 5 of 5

You might also like