'Platform Technology Prelims
'Platform Technology Prelims
'Platform Technology Prelims
• Program development: The OS provides a variety of facilities and services in the form of utility
programs, such as editors and debuggers, for program development, which is also referred to
as application programdevelopment tools.
• Program execution: The OS handles different processes, such as loading data into the memory
and scheduling, which must be performed to execute programs.
• Access to I/O devices: The OS provides a uniform interface that hides complex sets of
instructions for I/O devices' operation.
• Control access to files: The OS encompasses a detailed understanding of the structure of data
contained in a file storage and can provide some protection mechanisms to control file access.
• System resource access: The OS controls access to the whole system and to some specific
system resources through access functions and authorizations.
• Error detection and response: The OS can detect errors, such as device failure and
software errors, and provide appropriate responses that would clear the error condition
with the least impact on running applications.
• Performance parameter monitoring: The OS must be able to collect usage statistics from
various processes, such as response time, that can be used as a basis for system performance
improvements.
• Instruction Set Architecture (ISA): The ISA defines the collection of machine language
instructions that a computer can follow. The OS has access to additional machine language
instructions that deal with managing a system's ISA.
• Application Binary Interface (ABI): The ABI defines a standard for binary portability across
programs. It defines the system call interface to the OS and the hardware resources and
services available in a system through the ISA.
• Application Program Interface (API): The API allows a program to the hardware resources and
services available in a system through that ISA, supplemented with high-level language library
calls. It also enables easier porting of application software.
EVOLUTION OF OS
1. SERIAL PROCESSING
• From late 1940s to the mid-1950s, programmers interact directly with computer hardware
since operating systems (OS) are not yet available.
• Computers are run from a console consisting of display lights, toggle switches, an input
device, and a printer. Programs in machine code were loaded via input device, such as a card
reader. Error conditions are indicated by the display lights. If a program executes successfully,
the output is printed.
• The main idea behind batch processing is the utilization of a piece of program known as the
monitor or resident monitor. The monitor provides automatic job sequencing as indicated by
the control cards. If a control card indicates that a program is to be run, the monitor loads the
program into memory and transfers control to it. When the program completes, it transfers the
control back to the monitor. Then, it reads the next control card, loads the appropriate
program, and so on. This cycle is repeated until all control cards are interpreted for the job.
PROCESS
• A process can be a program in execution.
• A process can be an instance of a program running on a computer.
• A process can be considered as an entity that can be assigned to and executed on a
processor.
There are two (2) essential elements of a process, PROGRAM CODE – which can be shared with
other processes that are executing the same program
SET OF DATA associated with the program code. Note that a computer's kernel can execute
multiple processes at a time, thus supporting thousands of processes on a single system
(Gregg, 2021).
At any given point in time, while a program is executing, the process itself can be uniquely
characterized by the following elements:
2. I/O tables – These are used by the OS to manage the input and output devices and channels
of a computer system at any given point in time.
3. File tables – These tables hold information regarding the existence of files and its
corresponding attributes through a file management system.
3. PROCESS CONTROL INFORMATION– This contains the additional information needed by the
OS to control and coordinate various active processes, such as the data structure, resource
ownership and utilization information, and process privileges.
MODES OF EXECUTION
USER MODE – This is referred to as the less-privileged mode, since user programs execute in
this mode.
KERNEL MODE - This is referred to as the more-privileged mode, where the software has
complete control of the processor and its instructions, registers, and memory.
1. SCHEDULING: Installations used a hardcopy sign-up sheet to reserve computer time. A user
could sign up for an allocated block of time, but is unable to maximize the allocation. Thus,
resulting in wasted computer processing time.
2. SET-UP TIME: A single program, called a job, involves numerous sequenced set-up processes
that involve mounting and dismounting of tapes and setting up card decks. If an error occurred,
the user had to go back to the beginning of the setup sequence. Thus, a considerable amount of
time was spent in setting up the program before it even runs.