Лекция - 3
Лекция - 3
Лекция - 3
software
Topic – 3
Plan:
1.Software. Types of the software, purpose
and characteristic. Basic concepts of OS.
2.Evolution of operating systems.
Classification of operating systems,
including for mobile devices. Classification
of desktop applications.
1.Software. Types of the software, purpose and
characteristic. Basic concepts of OS.
What is Software? Software, also called a computer
program or simply a program, is a series of instructions that
tells the hardware of a computer what to do.
For example, some instructions direct the computer to
allow you to input data from the keyboard and store it in
memory and etc.
Before a computer can perform or execute a program, the
instructions in the program must be loaded into the memory
of the computer. Usually, they are loaded into memory from
storage like hard disk.
When you purchase a program, you will receive one or
more CD-ROMs or a single DVD-ROM on which the software
is stored. To use the software, you often need to install the
software on the computer”s hard disk. Sometimes, a
program can be loaded in memory directly from a CD-ROM
or a DVD-ROM so that you do not have to install it on the
hard disk to use it.
When you buy a computer, it usually has some software
already installed in its hard disk. Thus you can use the
computer as soon as you receive it. Software is the key to
productive use of computers. With the correct software, a
computer can become a valuable tool.
System Software. System software consists of the
programs that control the operations of the computer and
its devices. Functions that system software performs
include starting up the computer; opening, executing,
running, applications; storing, retrieving, and copying files;
formatting disks; reducing file sizes; and backing up the
contents of a hard disk. Accordingly you can see that the
System Software will handle the smooth running of all the
components of the computer as well as providing general
functionality for other programs to use, tools to speed up
the computer, tools to develop new software and programs
to keep you safe from attacks.
Operating Systems (OS).The Operating System contains
instructions that co-ordinate all of the activities of hardware
devices of your computer. It also contains instructions that allow
you to run any applications software. One may define the
Operating system as an interface between a user and all
computer resources.
When you start a computer, the operating system is loaded
or copied into memory from the computer hard disk. It remains
in memory while the computer is running and allows you to
communicate with the computer and other software. A
computer cannot function without an operating system. It sets
the standards for the application programs that run on it.
All programs must “talk to” the OS.
There are two main types of Operating Systems: Single-user OS and
Multi-user OS.
Single-user OS: A type of OS which allows only one user at a time.
There can be single-user OS either as single-user single-task or
single-user multi-task. The Single-user single-task OS has to deal with
only one person at a time running only one application at a time. MS DOS
is an example for a single user single task OS.
Think of the OS of your Personal Computer. It is designed mainly with
one user (i.e. you) in mind but that only user: you can deal with many
applications running at the same time. You may word process a
document with a word processing application like MS Word while listening
to music played in the windows media player in parallel. Or you might be
answering the school assignment while searching more facts on the
internet while a suitable video is being downloaded. This type of OSs is of
single-user multi-task OS. An example of such OS is Windows 95.
Multi-user OS: In some situations, we need to share the single computer
among few users. So the OS should be a multi-user where more than one user is
logged on to the computer and uses it at the same time. These multi users may
work with remote desktop connections. Further, these different users may need
to run different applications at the same time. So the OS must support multi-task
facility as well. Obviously the computer should be a powerful one. Each user
draws on a big power of the computer in a shared way.
This type of Multi –user multi-task OSs have to manage some tasks as listed
below:
Each user logged on to the system, their workspace and so on.
Allocate resources to the jobs they want to run.
Keep logs of how much processing time and resources they use
Work out the most efficient use of computer processing cycles
Maintain security
Following are some examples of such OS:
Windows XP, 7, 8 etc.
Unix, Linux (Ubuntu, Centos, Fedora etc.)
Desktop OS vs. Server OS
The OS can also be categorized as Desktop OS and Server
OS depending on whether the OS is to be installed in a desktop
computer or a server. For example, the latest versions of the
Windows OS family can be categorized as follows:
Desktop OS: windows XP, windows 7, Windows 8
Server OS: Windows 2000Server, Windows 2005Server
Utility Software. Utility software or utility programs are some small
programs which performs specific task, usually related to managing a
computer, its devices, or its programs. Most operating systems include
several utility programs. Also, you can buy them as stand-alone software
that offer improvements over the ones supplied with the OS.
Some of the specific tasks done by commonly used utility programs:
Viewing files
Compressing files
Diagnosing problems
Scanning disks
Defragmenting disks
Uninstalling software
Backing up files and disks
Checking for viruses
Displaying screen savers
Library Programs. Library programs are
collections of some pre-written codes or resources
that are used to develop other programs.
For an example, you might have noticed that all
Microsoft Programs look like the same or have the
same look and feel in the interfaces though the
application differs. The reason for this consistent look
is the using of same graphical user interface libraries
when developing different applications by the
Microsoft. In Windows, you can often identify library
programs by their extension .dll (dynamic link library).
Programming Language Translators. You are already aware that a
Program is a set of instructions written for performing a specific task.
These instructions are just like English words. We call that these
programs are written in programming languages that can be
understood by human beings. These written programs are called that
Source codes. However, some programs run on a machine code
that is executed directly on computer architecture. Machine code is
not easily read by humans and it is a long series of bits (i.e. ones-1
and zeros-0). Therefore, the source code is to be converted into
machine code which is called an object program. This translation
can be done by translator. Simply, the translators translate source
code into machine code. There are three approaches of program
translating: Assembler, Interpreter, Compiler.
Assembler: An assembler translates the symbolic codes of programs
of an assembly language into machine language instructions (See
Figure 1 below). The symbolic language is translated to the machine
code in the ratio of one is to one symbolic instructions to one machine
code instructions. Such types of languages are called low-level
languages. The assembler programs translate the low-level language
to the machine code. The translation job is performed either manually
or with a program called assembler. In hand assembly, the
programmer uses the set of instructions supplied by the manufacturer.
In this case, the hexadecimal code for the mnemonic instruction is
searched from the code sheet. This procedure is tedious and time-
consuming. Alternate solution to this is the use of assemblers. The
program called assembler provides the codes of the mnemonics. This
process is fast and facilitates the user in developing the program
speedily.
Figure 1: Assembler
Interpreter. Interpreters also come in the group of translators. It helps the
user to execute the source program with a few differences as compared to
compilers. The source program is just like English statements in both
interpreters and compilers. The interpreter also generates object codes from
the source program. Interpreter reads the program line by line, whereas in
compiler the entire program is read by the compiler, which then generates
the object codes. Interpreter directly executes the program from its source
code. Due to this, every time the source code should be inputted to the
interpreter. In other words, each line is converted into the object codes. It
takes very less time for execution because no intermediate object code is
generated.
Compiler: Compilers are the translators, which translate all the
instructions of the program into machine codes, which can be used again
and again (See Figure 2 below). The source program is input to the
compiler. The object code is output for the secondary storage device. The
entire program will be read by the compiler first and generates the object
code. However, in interpreter each line is executed and object code is
provided. M-BASIC is an example of an interpreter. High-level languages
such as C, C++ and Java compilers are employed. The compiler displays
the list of errors and warnings for the statements violating the syntax rules
of the language. Compilers also have the ability of linking subroutines of
the program.
What is Software?
Differentiate System software and Application software.
What are the responsibilities of Operating Systems?
Define the following with suitable examples.
Single–user OS
Multi-user OS
What are utility programs? Define some tasks performed by them.
What is meant by library programs?
What are program language translators? Briefly describe three
translating approaches.
State the advantages and disadvantages of Bespoke Application
Software.
Questions:
1.Why does a computer need memory?