Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

IT1816

OPERATING SYSTEMS OVERVIEW


Operating Systems as an extended machine.
• Operating Systems acts as an extended machine wherein the End-user, through specific programs and
applications, communicates directly with the hardware.
• The Operating System has a direct access to the computer’s hardware wherein it will depend on the
user’s input on what to process. The Operating System tells the hardware its tasks. It would be like a
person talking to a machine on what to do.

Operating Systems has this unique interfaces.


o GUI (Graphical User Interface) – an interface wherein the user tends to be more visual and
appealing through icons, designs, and effects.
o Shell – an interface wherein we communicate with the computer through words or commands
on what will the computer do, particularly the Operating System.
 Example Command:
• Assembly Language – “MOV AX, BX”
• Command Prompt – “copy *.* d:”
• Linux Terminal – “sudo bash”

The Operating System acts as a mediator and an extension between the Application Program’s
commands and the Hardware. The OS manages the resources needed by the application and throws the
application commands to the respective hardware that will be used.
• A simple flow would be:
o The End-user asks for the retrieval of a file.
o The Apps/Programs asks the Operating System for resources and sends the procedure
(process) to the respective hardware.
• The operating system manages the given/needed resource and gets the procedure (process) and
throws it to the processor in order to process it. The processor returns the processed output to the
OS. The OS returns the output to the App and directly to the End-User. We can say that the End-user
can communicate indirectly to the hardware.

OS has different Platforms.


Each Operating System has its own platform wherein the platform has its own programs and software. We can
say that in each Operating System, it has its own variants of application of word processing, spreadsheets,
presentation, and many more.

Operating Systems as a Resource Manager.


o As a resource manager, the Operating System manages particular resources and devices for a given
workload and also assigns workload in each unit of processor (example: quad-core).

OS Objectives and Function


An OS is a program that controls the execution of application programs and acts as an interface between
applications and the computer hardware. It can be thought of as having three objectives:
• Convenience: An OS makes a computer more convenient to use.
• Efficiency: An OS allows the computer system resources to be used in an efficient manner.
• Ability to evolve: An OS should be constructed in such a way as to permit the effective
development, testing, and introduction of new system functions without interfering with service.

OS Function as a User/Computer Interface:


• Program Development – The OS provides a variety of facilities and services, such as editors
and debuggers, to assist the programmer in creating programs.
• Program Execution – Before executing a program, it must be loaded in the specific hardware
resource and the files must be initialized.
• Access to I/O devices – Interfacing hardware. Each I/O device requires its own peculiar set of
instructions or control signals for operation.

01 Handout 1 *Property of STI


 student.feedback@sti.edu Page 1 of 5
IT1816

• Controlled access to files – For file access, the OS must reflect a detailed understanding of
not only the nature of the I/O device (disk drive, tape drive), but also the structure of the data
contained in the files on the storage medium. In the case of a system with multiple users, the
OS may provide protection mechanisms to control access to the files.
• System Access – For shared or public systems, the OS controls access to the system as a
whole and to specific system resources. The access function must provide protection of
resources and data from unauthorized users and must resolve conflicts for resource contention.
• Error Detection and Response – Interrupts (an atomic system process capable of halting the
system to let that process finish first before all other process). The OS must provide a response
that clears the error condition with the least impact on running applications.
• Accounting – Performance Monitoring. A good OS will collect usage statistics for various
resources and monitor performance parameters such as response time. On any system, this
information is useful in anticipating the need for future enhancements and in tuning the system
to improve performance.

OS Functions as a Resource Manager.


• A computer is a set of resources for the movement, storage, and processing of data and for the control
of these functions. The OS is responsible for managing these resources.
• The OS provides instruction for the processor through system resources.
• The OS always manages control and it must depend on the processor in order to gain control.

Dynamics of OS
• Serial Processing
o Scheduling
o Setup time
• Simple Batch Systems
• Multiprogrammed Batch Systems
o Multitasking
• Time Sharing Systems
o Batch processing
o Time slicing

Serial Processing
• Before there was no OS to handle such processes, usually the programmer interacted directly with the
computer hardware with the series of toggle switch as the controllers, card readers (punch cards as
inputs), display lights as the indicators, and printer as an output, respectively. If an error halted the
process, there would be light indicators in the field. In the other hand, if the program proceeds to
completion, the output will appear on the printer.
• Basically Serial Processing is FIFO (First-In First-Out). The computer basically waits for an instruction
from a user. Once the instruction is input, it will be processed and other instructions will just have to
wait for its turn. After the first instruction is finished, the computer will shift to the next instruction to be
processed.
• Although Serial Processing poses two problems:
• Scheduling: The user has to force stop the processing time if the allotted time in scheduling is
finished.
• Setup time: Before, it takes time to prepare materials for a series of commands and
instructions.

Simple Batch Systems


• The idea of Simple Batch Systems is that a user submits a job on cards or tape to a computer operator
that batched the jobs together into a single process.
• The central idea behind the simple batch-processing scheme is the use of a piece of software known
as the monitor.
• The monitor acts as a control the sequence of events. It usually reads one job a time and after the
process is executed, it will move to another job.

01 Handout 1 *Property of STI


 student.feedback@sti.edu Page 2 of 5
IT1816

Multi-Programmed Batch Systems


• Most of the computer processes
nowadays tends to do multitasking
of processes for efficiency.
• Multitasking is the ability of a
computer to do multiple processes
in a span of time. From this, the
time of waiting in between
processes shortens and it will be
more convenient for the user.
• As what you have noticed here in
Uni-programming in Figure A,
Program A will have to wait for the
completion of instruction in order
to finish the other.
• In the second, Figure B, two
programs have been included in
the process table and will shorten
the finished time of both process.

Time Sharing Systems


• In Time Sharing Systems, there are two methods to be used:
o Batch Processing –The OS will collate 5 processes at a time and will be processed. Other
processes, not included in the batch, has to wait for the OS to be placed on another batch to
be processed.
o Time Slicing – each programs with processes has its own slice of time for a given process.

OS Design Considerations
In order to make a better OS, it must have the following:
• Complexity – from the term complexity, there is no such thing as a simple OS nowadays. Complexity
refers to a bundled-up together services and kernels.
• Efficiency & Concurrency - Avoidance of Deadlocks. There are multiple users and multiple I/O devices
all active at once.
• Security from intruders – users who want to interfere with system operation or do things that they are
forbidden from doing such as stealing another user’s files.
• Intended for specific people / generality – Such OS has its own functions and uses.
o Example: Windows is designed for many applications just like Web browsing and streaming HD
videos. Android is used in mobile phones and tablets.
• Portability & Flexibility – OS that can handle multiple hardware platforms.
• Backwards compatible & compatibility of new hardware. – lesser restrictions on obsolete hardware
and constantly updated for new hardware in the market.

UNIX Systems
• UNIX Systems is developed at Bell Labs in 1970 partly written in Assembly Language and then later on
converted into C Language. It was first called UNICS, (UNiplexed Information and Computing Service)
then later changed into UNIX.
• The very first successful operational UNIX OS is in a minicomputer called PDP-7 lead by Ken
Thompson. It was a very powerful minicomputer back then capable of 256KB memory allocation.

01 Handout 1 *Property of STI


 student.feedback@sti.edu Page 3 of 5
IT1816

UNIX System OS Kernel


• In the given figure, there are three levels presented:
o User-level – focused on the linked programs
and its libraries.
o Hardware-level – focused on the interface of
the physical hardware.
o Kernel-level – all of the operation of the
operating system takes place.
• User programs can invoke OS services either
directly or through library programs. The system
call interface is the boundary with the user and
allows higher-level software to gain access to
specific kernel functions. At the other end, the OS
contains primitive routines that interact directly with
the hardware.
• Between these two interfaces, the system is
divided into two main parts; one is concerned with
the process control and the other is concerned with
the file management and I/O. The process control
subsystem is responsible for memory
management, the scheduling and dispatching of
processes, and the synchronization and
interprocess communication of processes.

LINUX Systems
• Linux OS is developed by Linus Torvalds which is a variant of UNIX that is Open-Source under the
license GNU Public License.
• Many talented programmers have contributed to the current version, resulting in a technically
impressive product.
• Linux is highly modular and easily configured. This makes it easy to tweak optimal performance from a
variety of hardware platforms.

Linux OS’s Modular Structure


• Linux OS has independent blocks called loadable modules. These modules can be automatically loaded
or unloaded on demand, linked and unlinked from the kernel at any time.
• From the modules, there are important characteristics which we can consider.
o Dynamic Linking – A kernel module can be loaded and linked into the kernel while the kernel
is already in memory and executing. A module can also be unlinked and removed from memory
at any time.
o Stackable modules – The modules are arranged in a hierarchy. Individual modules serve as
libraries when they are referenced by client.

01 Handout 1 *Property of STI


 student.feedback@sti.edu Page 4 of 5
IT1816

Discuss Linux OS’s Kernel


• The figure shows several processes
running on top of the kernel. Each
box indicates a separate process,
while each squiggly line with an
arrowhead represents a thread of
execution.
• The kernel itself consists of an
interacting collection of components,
with arrows indicating the main
interactions.
• The underlying hardware is also
depicted as a set of components
with arrows indicating which kernel
components use or control which
hardware components.

Microsoft Windows
• Microsoft initially used the name Windows in 1985, for an operating environment extension to the
primitive MS-DOS operating system.
• This Windows/MS-DOS combination was ultimately replaced by a new version of Windows, known as
Windows NT, first released in 1993.
• The core of Windows NT, consisting of the Kernel and the Executive, was designed for 32-bit machines
and included a number of object-oriented features.
• The latest version of Windows (Windows 10) supports threading and SMP (Symmetric Multiprocessing)
that leads to executing multiple
threads and flexible sharing of
data and resources.

Microsoft Windows Architecture


• Windows has a highly modular
architecture. Each system
function is managed by just one
component of the OS. The rest of
the OS and all applications
access that function through the
responsible component using
standard interfaces.
• Key system data can only be
accessed through the
appropriate function. In principle,
any module can be removed,
upgraded, or replaced without
rewriting the entire system or its
standard application program
interfaces (APIs). (S lli

References:
Stallings, W. (2015). Operating systems: Internals and design principles, 8th edition. USA:
Pearson Education, Inc.
Tanenbaum, A. and Bos, H. (2015). Modern operating systems. USA: Pearson Education, Inc.
McHoes, A. and Flynn, I. (2014). Understanding operating systems, 7th edition. USA: Cengage
Learning.

01 Handout 1 *Property of STI


 student.feedback@sti.edu Page 5 of 5

You might also like