0% found this document useful (0 votes)
23 views13 pages

Computer System Software SS1 (WEEK 3-4)

Uploaded by

Muhammad Zain
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)
23 views13 pages

Computer System Software SS1 (WEEK 3-4)

Uploaded by

Muhammad Zain
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/ 13

Subject: Computer Studies

Topic: Computer System Software

Lesson Objective

At the end of the class the students should be able to understand:

 Definition Computer System Software,

 Types Computer System Software ,


 Examples Advantages And Disadvantages Computer System
Software

Discussions

Computer System Software


Introduction
Computer software is defined as a set of programs and procedures
that are intended to perform specific tasks on a computer system. A
software program is a set of instructions that are aimed at changing
the state of computer hardware. At the lowest level, software is in
the form of an assembly language, a set of instructions in a
machine-understandable form. At the highest level, software is in
the form of high-level languages, which are compiled or interpreted
into machine language code.

Types of Software
The two main types of software are:
(a) System software
(b) Application software
System Software: System software is a program that manages and
supports the computer resources and operations of a computer
system while it executes various tasks such as processing data and
information, controlling hardware components, and allowing users
to use application software. Systems software functions as a bridge
between computer system hardware and the application software.
System software is made up of many control programs, including
the operating system, communications software and database
manager.

Kinds of System Software


Systems software consists of three kinds of programs. They are the
system management programs, system support programs, and
system development programs.
(i) System Management Programs: These are programs that
manage the application software, computer hardware, and data
resources of the computer system. These programs include
operating systems, operating environment programs, database
management programs, and telecommunications monitor programs.
Among these, the most important system management programs
are operating systems. Telecommunications monitor programs are
additions of the operating systems of microcomputers. These
programs provide the extra logic for the computer system to control
a class of communications devices.
(ii) System Support Programs: These are the programs that help
the operations and management of a computer system. They
provide a variety of support services to let the computer hardware
and other system programs run efficiently. The major system
support programs are system utility programs, system performance
monitor programs, and system security monitor programs (virus
checking programs).
(iii) System Development Programs: These are programs that help
users develop information system programs and prepare user
programs for computer processing. These programs may analyze
and design systems and program itself. The main system
development programs are programming language translators,
programming environment programs, computer-aided software
engineering packages.

Types of System Software


There are three types of system software. They are:
(a) Operating Systems
(b) Translators
(c) Tools and Utility Programs

Operating Systems: An operating system is a collection of


integrated computer programs that provide recurring services to
other programs or to the user of a computer. These services consist
of disk and file management, memory management, and device
management. In other words, it manages CPU operations,
input/output activities, storage resources, diverse support services,
and controls various devices.
Operating system is the most important program for computer
system. Without an operating system, every computer program
would have to contain instructions telling the hardware each step
the hardware should take to do it’s job, such as storing a file on a
disk. Operating system can be classified into two. They are:
(i) the command line e.g Unix and MSDOS and
(ii) graphical user interface e.g Microsoft Windows and Linux.

Functions of Operating System


An operating system executes many functions to operate computer
system efficiently. Among them, four essential functions are the
following.
(i) Resource Management: An operating system manages a
collection of computer hardware resources by using a variety of
programs. It manages computer system resources, including it’s
CPU, primary memory, virtual memory, secondary storage devices,
input/output peripherals, and other devices.
(ii) Task Management: The function of the operating system that
controls the running of many tasks. It manages one program or
many programs within a computer system simultaneously. That is,
this function of operating system manages the completion of users’
tasks. A task management program in an operating system provides
each task and interrupts the CPU operations to manage tasks
efficiently. Task management may involve a multitasking capability.
(iii) File Management: This is a function that manages data files. An
operating system contains file management programs that provide
the ability to create, delete, enter, change, ask, and access to files
or data. They also produce reports on a file.
(iv) User Interface: It is a function of an operating system that
allows users to interact with a computer. A user interface program
may include a combination of menus, screen design, keyboard
commands. A well-designed user interface is essential for an
operating system to be popular. Because of the function, users can
load programs, access files, and accomplish other tasks.

Examples of Operating Systems


The most popular microcomputer operating systems are DOS, OS/2,
Windows NT, and Macintosh System. UNIX is a popular operating
system that is available for microcomputers, minicomputers, and
mainframe computer systems. Examples of operating system can be
classified into two. They are:
(i) Command line e.g. Unix and MSDOS and
(ii) Graphical user interface e.g. Microsoft Windows and Linux
(a) DOS: DOS stands for Disk Operating System. In the early
1980s, Microsoft got the right to QDOS (Quick and Dirty Operating
System) developed by a small company, Seattle Computer, and
then has been sold it under the name MS-DOS. Microsoft licenses a
version called PC-DOS to IBM (International Business Machines) for
it’s IBM personal computers, and it’s version, MS-DOS, to many
other PC manufacturers.

File Access Table (FAT)


DOS creates a FAT for each disk during formatting. Every sector on
the disk is represented by an entry in the FAT as part of a cluster.
DOS looks for available clusters when a file is enlarged or created.
When DOS allocates files on a freshly formatted disk, DOS uses the
first cluster and sequences through a connected series of clusters,
leaving many never-used clusters at the end of FAT. When a file is
erased or shortened, DOS marks the released clusters in the FAT as
available again. When a file is allocated more than one cluster, each
cluster points to the next cluster that contains more of the files. The
pointer is the next cluster number. The result is a chain of clusters
that comprises the map of a file’s disk storage. Thus, FAT acts as a
storage map and tells DOS exactly where to go on the disk to get all
parts of a file.

Files on DOS Disks


The files on DOS disks have specific purposes. A COM file extension
identifies a command file. Command files are the names of external
DOS commands. Files with CPI extensions operate the display
screen. A file with the DAT extension is a data file. Files with BAT
extension are batch files. AUTOEXEC.BAT is a special batch file that
runs automatically when a computer is started. EXE files are
executable program files. SYS files are system files. SYS files are
used to add or modify hardware support to the basic PC operation.

Advantages of DOS
(i) Commands are simple to remember and use.
(ii) DOS is a very stable OS.
(iii) DOS is the underlying OS of all Windows products today
discounting the NT line (NT, Win2000, WinXP).
(iv) DOS does not take up that much space on a hard drive, (only
around 8MB for a full installation).
(v) Very portable (look at bootdisks, although the functionality is
not near that of a full OS, it works great for rescuing a crashed hard
drive, Fdisking, formatting hard drives, and running old DOS apps
that will not run with Windows or newer versions of DOS).
(vi) DOS is a contraction for Disk Operating System.
(vii) DOS is the most popular microcomputer operating system for
IBM computers and compatibles ever sold worldwide.
(viii) It runs thousands of applications, and is easy to use.
(ix) DOS is easy for novices to use, and many publications and
books are available for the operating system.
(x) DOS runs on low- priced IBM computers and compatibles.
(xi) DOS does not require an expensive computer system while
others still do.

Disadvantages of DOS
(i) DOS has direct access to only 640 kilobytes of primary storage,
although new microcomputers have much more primary storage.
This restriction is an inherent limitation of DOS. Today’s new
software for word processing, graphics, spreadsheets, and database
management requires more primary storage.
(ii) DOS is a single tasking operating system. It can support only
one user and one program at a time.
(ii) DOS has a character-based interface. A graphical user interface
is easier to the users than the character-based interface.

(b) UNIX: This is a multi-user, multitasking operating system that


runs on many different computer systems from microcomputer to
mainframe, because UNIX is written in computer programming
language, which is a language designed for system-level
programming. UNIX is consisted of a kernel, the file system, the
user interface. The kernel is the heart of the operating system. The
file system has a hierarchical directory method for organizing files
on the disk and the shell. UNIX was a minicomputer operating
system used by programmers and computer science professionals
some time before the rise of the microcomputer. This means that it
has certain qualities making it useful to programmers – many
supporting utility programs and documentation, for instance.
UNIX was originally developed in 1969 by K. Thompson, R. Canaday
and D. Ritchie for minicomputers in the Bell Laboratories in the USA
owned and run by AT&T. By the mid-1970s, UNIX had been
introduced to University of California at Berkeley by Thompson, then
widespread into an academic world. Most computer science
departments of universities have been using UNIX. UNIX initially
became popular in industry because for many years AT&T licensed
the system to universities for a norminal fee. The effect of this was
that UNIX was carried by recent computer science and engineering
graduates to their new places of employment. Rapid
commercialization of UNIX followed on from this. This rapid
commercialization caused the lack of standards. Many hardware and
software vendors developed their own versions.

Advantages of UNIX
(i) UNIX is the portable operating system that can be used with
many different computers from mainframe to microcomputer. The
other operating systems such as DOS, Windows, Mac operating
system, and OS/2 cannot be used for other systems.
(ii) UNIX allows users to run multiple programs simultaneously.
(iii) UNIX also shares it among multiple users.
(iv) UNIX is not restrained by the computer systems such as
conventional memory as the DOS and OS/2 systems are.
(v) Networking is another strong feature of a UNIX operating
system. UNIX can be connected through several different kinds of
equipment.
(vi) It can share files among them.

Disadvantages of UNIX
(i) It can be difficult for novice microcomputer users to understand.
For this reason it had a limited impact to date.
(ii) Some of its features make it difficult for end users.
(iii) Limited application programs are another disadvantage for
UNIX. UNIX off-the-shelf programs for micro-computers are limited.
(iv) An application program written for one version of UNIX may not
run on other versions.
(v) There is also not a standard GUI for many UNIXs.

(c) Microsoft Windows: Microsoft Windows is a series of graphical


interface operating systems developed, marketed, and sold by
Microsoft. Microsoft introduced an operating environment named
Windows on November 20, 1985 as an add-on to MS-DOS in
response to the growing interest in graphical user interfaces (GUIs).
Microsoft Windows came to dominate the world’s personal computer
market with over 90% market share, overtaking Mac OS, which had
been introduced in 1984. The most recent client version of Windows
is Windows 8; the most recent mobile client version is Windows
Phone 8; the most recent server version is Windows Server 2012.

(d) LINUX: Linux is a great variant of UNIX. It has most of the


features and, in some cases, better features of UNIX. Furthermore,
it runs on lower end machines -386- class system or higher with
8MB of memory. It requires only as small as 20MB of hard disk
space to install it. It requires a CD-ROM drive.

Advantages of LINUX
(i) Low cost: You do not need to spend time and money to obtain
licenses since Linux and much of it’s software come with the GNU
General Public License.
(ii) Stability: Linux does not need to be rebooted periodically to
maintain performance levels. It does not freeze up or slow down
over time due to memory leaks and such. Continuous up-times of
hundreds of days (up to a year or more) are not uncommon.
(iii) Performance: Linux provides persistent high performance on
workstations and on networks. It can handle unusually large
numbers of users simultaneously, and can make old computers
sufficiently responsive to be useful again.
(iv) Network friendliness: Linux was developed by a group of
programmers over the internet and has therefore strong support for
network functionality; client and server systems can be easily set up
on any computer running Linux. It can perform tasks such as
network backups faster and more reliably than alternative systems.
(v) Flexibility: Linux can be used for high performance server
applications, desktop applications, and embedded systems. It allows
to save disk space by only installing the components needed for a
particular use.
(vi) Compatibility: It runs all common Unix software packages and
can process all common file formats.
(vii) Choice: The large number of Linux distributions gives you a
choice. Each distribution is developed and supported by a different
organization. You can pick the one you like best; the core
functionalities are the same; most software runs on most
distributions.
(viii) Fast and easy installation: Most Linux distributions come with
user-friendly installation and setup programs. Popular Linux
distributions come with tools that make installation of additional
software very user friendly as well.
(ix) Full use of hard disk: Linux continues work well even when the
hard disk is almost full.
(x) Multitasking: Linux is designed to do many things at the same
time; e.g. a large printing job in the background will not slow down
other work.
(xi) Security: Linux is one of the most secure operating systems.
“Walls” and flexible file access permission systems prevent access
by unwanted visitors or viruses. Linux users have option to select
and safely download software, free of charge from online
repositories containing thousands of high quality packages.

Translator
A translator is a computer program that translates a program
written in a given programming language into a functionally
equivalent program into a different language. Depending on the
translator, this may involve changing or simplifying the program
flow, without losing the essence of the program, thereby producing
a functionally equivalent program. Assembler, compiler and
interpreter are examples of translators.

Assembler
An assembler creates object code by translating assembly
instruction mnemonics into operational codes, and by resolving
symbolic names for memory locations and other entities. The use of
symbolic references is a key feature of assemblers, saving tedious
calculations and manual address updates after program
modifications. Most assemblers also include macro facilities for
performing textual substitution e.g. to generate common short
sequences of instructions as inline, instead of called subroutines.

Compiler
A compiler is a computer program (or set of programs) that
transforms source code written in a programming language (the
source language) into another computer language (the target
language, often having a binary form known as object code). The
most common reason for wanting to transform source code is to
create an executable program. A compiler is a special program that
processes statements written in a particular programming language
and turns them into machine language or “code” that a computer’s
processor uses. Typically, a programmer writes language
statements in a language such as Pascal or Computer one line at a
time using an editor. The file that is created contains what are called
the source statements. The programmer then runs the appropriate
language compiler, specifying the name of the file that contains the
source statements.
When executing (running), the compiler first parses (or analyzes) all
of the language statements syntactically one after the other and
then, in one or more successive stages or “passes”, builds the
output code, making sure that statements that refer to other
statements are referred to correctly in the final code. Traditionally,
the output of the compilation has been called object code or
sometimes an object module. The object code is machine instruction
code that the processor can process or “execute” once at a time.
More recently, the Java programming language, a language used in
object-oriented programming, has introduced the possibility of
compiling output (called byte code) that can run on any computer
system platform for which a Java virtual machine or byte code
interpreter is provided to convert the byte code into instructions
that can be executed by the actual hardware processor. Using this
virtual machine, the byte code can optionally be recompiled at the
execution platform by a just-in-time compiler.
Traditionally in some operating systems, an additional step was
required after compilation – that of resolving the relative location of
instructions and data when more than one object module was to be
run at the same time and they cross-referred to each other’s
instruction sequences or data. This process was sometimes called
linkage editing and the output known as a load module.
A compiler works with what are sometimes called 3GL and higher-
level languages. An assembler works on programs written using a
processor’s assembler language.

Interpreter
An interpreter is a computer program that executes, i.e. performs,
instructions written in a programming language. An interpreter
generally uses one of the following strategies for program
execution:
1. execute the source code directly;
2. translate source code into some efficient intermediate
representation and immediately execute this;
3. explicitly execute stored precompiled code made by a compiler
which is part of the interpreter system.
Early versions of the Lisp programming language and Dartmouth
BASIC would be examples of the first type. Perl, Python, ATLAB, and
Ruby are examples of the second, while UCSD Pascal is an example
of the third type. Source programs are compiled ahead of time and
stored as machine independent code, which is then linked at run-
time and executed by an interpreter and/or compiler (for JIT
systems). Some systems, such as Smalltalk, contemporary versions
of BASIC, Java and other may also combine two and three.

Utility Programs
Software utilities or Utility Software is a type of computer system
software also referred to as service program, tool, service routine,
or utility routine. Utility software is system software designed to
help analyze, configure, optimize or maintain a computer. Software
Utilities are specifically designed to help the end-user manage and
tune the computer hardware/software, operating system or
application software and perform as single precise task as opposed
to application software which performs multi-tasking. These
programs offer the various maintenance and performance
evaluation utility tools to configure and optimize the various
processes that influence the performance of your computer. Disk
cleaners, anti-virus software, data compression programs, disk drive
partition utilities, storage, editors, backup and archiving programs
are some of the common examples of utility software.

Advantages of Utility Programs


(i) Disk Defragmenter: The contents of files get broken up at
different locations in the hard disk. With the help of disk
defragmenter, it is possible to bring all the fragments at one
location and raise efficiency of working.
(ii) Disk Cleaners: When hard disk becomes full of unwanted files.
Disk cleaners are used to detect such unwanted files and delete
them.
(iii) Backup Utilities: With the help of backup utilities, you can copy
all the information on a particular disk and restore the files which
you want.
(iv) Disk Compression: Disk compressors can help you increase the
capacity of your disk by compressing its contents.
(v) Virus Scanners: Virus scanners, in computer terminology, are
also known as anti-virus software which can help protect useful and
important files from computer viruses.
(vi) Network Utilities: Configuration of network settings and
analyzing network connectivity are the main uses of network
utilities.
(vii) File Managers: With the help of file managers, you can easily
move, copy, merge, generate, rename, catalog and delete files.
(viii) System Profilers: System profilers help you to know details
about the hardware and software used in the computer.
(ix) Cryptographic Utilities: Cryptographic Utilities can help in
converting ordinary language into code and also converting code
into ordinary language. Thus, it is useful in encrypting and
decrypting files.
(x) System Monitors: System monitors assist in analyzing the
performance of the computer system.
(xi) Registry Cleaners: Registry cleaners help in removing old
registry keys which are out of use.
(xii) Disk Checkers: Disk checkers help in the scanning process,
which helps us find corrupted files and delete them for increasing
the s efficiency of the hard drive.
(xiii) Disk Space Analyzers: Disk space analyzers are useful in
detecting the distribution of the used space.

You might also like