unit 1
unit 1
Software
• Sorting data
• Editing the output
• Dumping of data to disc/tape
• Tracing the operation of program
• Copying data from one recording medium to another
System Development Programs – Language Translator
• Language translators are also called language processors.
• Interpreters usually take less amount of time to analyse the source code.
However, the overall execution time is comparatively slower than compilers.
System software are installed on the computer Application software are installed according to
when operating system is installed. user’s requirements.
It can run independently. It provides platform for It can’t run independently. They can’t run without
running application software. the presence of system software..
Each computer must have a system software to Without an application software the computer is
function. still able to function.
Examples of system software’s are compiler, Examples of application software’s are word
assembler, debugger, driver, etc. processor, web browser, media player, etc.
Software Hierarchy
• Requires little run time overhead and can execute in a resource constrained
environment.
• Less Powerful runtime Library ( if available at all), with less error checking
capability.
General Machine Structure
[2]
Figure 1.4 : General Machine Structure
Contd..
The components of a general machine are as follows:
1.Instruction interpreter: The Instruction Interpreter Hardware is basically a
group of circuits that perform the operation specified by the instructions
fetched from the memory.
4.Working register: The working registers are often called as the "scratch
pads" because they are used to store temporary values while calculation is in
progress.
Contd..
5. General register: are used by programmers as storage locations and for special
functions.
6. Memory address registers (MAR): contains the address of the memory location that
is to read from or stored into.
8. Memory controller: It is used to transfer data between MBR & the memory location
specified by MAR.
9. I/O channels: The role of I/O Channels is to input or output information from
memory.
Interfaces
• The connection and interaction between hardware, software and the user.
• Interface has been defined as a border or an entry point across which different
components of a digital computing system interchange data and information.
• Users "talk to" the software. The software "talks to" the hardware and other
software. Hardware "talks to" other hardware. All this is interfacing.
Hardware interfaces are the plugs, sockets, cables and electrical signals traveling
through them. Examples are USB, FireWire, Ethernet, ATA/IDE, SCSI and PCI.
Examples are the Windows, Mac and Linux operating systems, SMTP email, IP
network protocols and the software drivers that activate the peripheral devices.
Contd..
User Interfaces :
•User interfaces are the keyboards, mice, commands and menus used for
communication between you and the computer.
• Examples are the command lines in DOS and Unix, and the graphical interfaces in
Windows, Mac and Linux.
Contd..
User Interfaces :
•User interfaces are the keyboards, mice, commands and menus used for
communication between you and the computer.
• Examples are the command lines in DOS and Unix, and the graphical interfaces in
Windows, Mac and Linux.
Address Space
• Address space is the amount of memory allocated for all possible addresses .
Every machine has its own physical In the virtual address Space, there is
address space with its valid address one address space per process ,
range between 0 and some which may or may not start at 0 and
maximum limits supported by the extend to the highest address.
machine.
Computer Languages
• A Computer language includes various languages that are used to
communicate with a Computer machine.
•Low level languages are the basic computer instructions or better known as
machine codes.
•The main function of low level languages is to interact with the hardware of the
computer.
•The languages that come under this category are the Machine level language and
Assembly language.
Machine Level Languages
Machine Level Languages :
They do not provide many facilities at the They are very close to the hardware and
hardware level. help to write a program at the hardware
level.
For writing programs, hardware For writing programs, hardware
knowledge is not required. knowledge is a must.
Contd…
A single statement may execute several The statements can be directly mapped to
instructions. processor instructions.
BASIC, Perl, Pascal, COBOL, Ruby etc are Machine language and Assembly language
examples of High-Level Languages. are Low-Level Languages.
Life cycle of source Program
• The life cycle of a source program defines the program behavior and extends
through execution stage, which exhibits the behavior specified in the program.
Edit time: It is the phase where editing of the program code takes place and is also known as
design time. At this stage, the code is in its raw form and may not be in a consistent state.
Compile time: At the compile time stage, the source code after editing is passed to a
translator that translates it into machine code. One such translator is a compiler. This stage
checks the program for inconsistencies and errors and produces an executable file.
Distribution time: It is the stage that sends or distributes the program from the entity
creating it to an entity invoking it. Mostly executable files are distributed.
Contd..
Installation time : Typically, a program goes through the installation process, which makes it
ready for execution within the system.
Link time : At this stage, the specific implementation of the interface is linked and associated
to the program invoking it. System libraries are linked by using the lookup of the name and the
interface of the library needed during compile time or throughout the installation time, or
invoked with the start or even during the execution process.
Load time : This stage actively takes the executable image from its stored repositories and
places them into active memory to initiate the execution. Load time activities are influenced
by the underlying operating system.
Run time : This is the final stage of the life cycle in which the programmed behavior of the
source program is demonstrated
Figure 1.6 : Life Cycle of a Source Program[2]
System Software Development
Preliminary
Investigation
System Analysis
System Design
Implementation
Figure 1.7 : System Software Development
System Maintenance
Contd..
• Software development process follows the Software Development Life Cycle (SDLC),
which has each step doing a specific activity till the final software is built.
• The system software development process also follows all the stages of SDLC, which
are as follows:
System analysis: It investigates the problem on a large scale and gathers all the
information. It identifies the execution environment and interfaces required by the
software to be built.
System design: This is concerned with designing the blueprint of system software that
specifies how the system software looks like and how it will perform.
Contd..
System tool acquisition: It decides and works around the software tools to
develop the functionalities of the system software.
Implementation: It builds the software using the software tools with all the
functionality, interfaces, and support for the execution. This may be very
specific as the system software adheres to the architecture. Operating system
support is sought for allocations and other related matters.