WEEK 2-3: COMPUTER SYSTEM SOFTWARE
·
Operating System Concept
An
operating system (OS):
Is a collection of software that manages computer hardware resources and
provides common services for computer programs.
The operating system is an essential component of
the system software in a computer system and is the first program
loaded into the computer by a boot program and remains in memory at all times.
Application programs usually require an operating
system to function.
For hardware functions such as input and output
and memory allocation, the operating system acts as an intermediary
between programs and the computer hardware.
Operating systems can be found on almost any device
that contains a computer from cellular phones and video game
consoles to supercomputers and web servers.
Examples of popular modern operating systems
include Android, BSD, iOS, Linux, OS
X, QNX, Microsoft Windows, Windows Phone, and IBM z/OS.
All these, except Windows, Windows Phone and z/OS,
share roots in UNIX.
Types
of operating systems
Within the broad family of operating systems, there
are generally four types, categorized based on the types of computers they
control and the sort of applications they support. The categories are:
a) Real-time operating system
b) Single-user, single task
c) Single-user, multi-tasking
d) Multi-user
A. REAL-TIME OPERATING SYSTEM(RTOS)
v Real-time operating systems are used to control
machinery, scientific instruments and industrial systems.
v An RTOS typically has very little user-interface
capability, and no end-user utilities, since the system will be a "sealed
box" when delivered for use.
v A very important part of an RTOS is managing the
resources of the computer so that a particular operation executes in precisely
the same amount of time, every time it occurs.
v In a complex machine, having a part move more quickly
just because system resources are available may be just as catastrophic as
having it not move at all because the system is busy.
B. SINGLE-USER, SINGLE TASK
v As the name implies, this operating system is designed
to manage the computer so that one user can effectively do one thing at a time.
v The Palm OS for Palm handheld computers is a good
example of a modern single-user, single-task operating system.
C. SINGLE-USER, MULTI-TASKING
v This is the type of operating system that allows a
single user to have more than one task/job/process/program running at the same
time.
v This is the type of operating system most people use
on their desktop and laptop computers today.
v Microsoft's Windows and Apple's MacOS platforms are
both examples of operating systems that will let a single user have several
programs in operation at the same time.
v For example, it's entirely possible for a Windows user
to be writing a note in a word processor while downloading a file from the
Internet while printing the text while listening music
D. MULTI-USER
v A multi-user operating system allows many different
users to take advantage of the computer's resources simultaneously.
v The operating system must make sure that the
requirements of the various users are balanced, and that each of the programs
they are using has sufficient and separate resources so that a problem with one
user doesn't affect the entire community of users.
v Unix, VMS and mainframe operating systems, such
as MVS, are examples of multi-user operating systems.
Utilities
Software
Compiler, Interpreter, Linker, Loader
COMPILER
v A Compiler is
a computer program that translates
code written in a high level language to a lower
level language, object/machine code.
v The most common reason for translating source code is
to create an executable program (converting from a high level language into
machine language).
Advantages of using a compiler
i.
Source
code is not included, therefore compiled code is more secure than interpreted
code
ii.
Tends
to produce faster code than interpreting source code
iii.
Produces
an executable file, and therefore the program can be run without need of
the source code
Disadvantages of using a compiler
i.
Object
code needs to be produced before a final executable file, this can be a slow
process
ii.
The
source code must be 100% correct for the executable file to be produced
INTERPRETER
v Interpreters are not much different than compilers.
v They also convert the high level language into machine
readable binary equivalents.
v Each time when an interpreter gets a high level
language code to be executed, it converts the code line-by-line into an
intermediate code before converting it into the machine code.
v Each part of the code is interpreted and then execute
separately in a sequence and an error is found in a part of the code it will
stop the interpretation of the code without translating the next set
of the codes.
Advantages of using an Interpreter
i.
Easier
to debug(check errors) than a compiler
ii.
Easier
to create multi-platform code, as each different platform would have an
interpreter to run the same code
iii.
Useful
for prototyping software and testing basic program logic
Disadvantages of using an Interpreter
i.
Source
code is required for the program to be executed, and this source code can be
read making it insecure
ii.
Interpreters
are generally slower than compiled programs due to the per-line translation
method
LINKER
Linker: In high level languages, some built in header files
or libraries are stored. These libraries are predefined and these contain basic
functions which are essential for executing the program. These functions are
linked to the libraries by a program called Linker. If linker does not find a
library of a function then it informs to compiler and then compiler generates
an error. The compiler automatically invokes the linker as the last step in
compiling a program.
LOADER
Loader
is a program that loads machine codes of a program into the system memory.
In Computing, a loader is the part
of an Operating System that is responsible for loading programs. It is one of
the essential stages in the process of starting a program. Because it places
programs into memory and prepares them for execution. Loading a program
involves reading the contents of executable file into memory. Once loading is complete, the operating
system starts the program by passing control to the loaded program code. All
operating systems that support program loading have loaders. In many operating
systems the loader is permanently resident in memory.
Functions of operating system
At the simplest level, an operating system does two
things:
v It manages the hardware and software resources of the
system. In a desktop computer, these resources include such things as the
processor, memory, disk space and more (On a cell phone, they include
the keypad, the screen, the address book, the phone dialer, the battery and the
network connection).
v
It
provides a stable, consistent way for applications to deal with the hardware
without having to know all the details of the hardware.
The
operating system's tasks, in the most general sense, fall into six categories:
a) Processor management
b) Memory management
c) Device management
d) Storage management (Retrieves and manipulates files)
e) Application interface (Running the applications)
f) User interface
DOS
operation
v The first OS used by IBM computers/compatibles
v Where DOS can still be found:
o
Specialized
systems using older applications
o
On
troubleshooting disks or CDs
o
Used
by some diagnostic applications on UBD_CD
v Windows 3.x and DOS
o
Windows
3.x provided a graphical interface
o
Underlying
OS functions were performed by DOS
v Windows 9x/Me uses DOS in the underlying OS
v Windows XP/2000/Vista run DOS emulation programs
Virtualization
of operating systems.
usifanye hivi jaribu kurekebisha kidogo
ReplyDelete