Software
Software
There are mainly three different languages with the help of which
we can develop computer programs. And they are
2. Assembler :
The Assembler is used to translate the program written in
Assembly language into machine code. The source program
is an input of an assembler that contains assembly language
instructions. The output generated by the assembler is the
object code or machine code understandable by the
computer.
3. Interpreter :
The translation of a single statement of the source program into
machine code is done by a language processor and executes
immediately before moving on to the next line is called an
interpreter. If there is an error in the statement, the interpreter
terminates its translating process at that statement and displays
an error message. The interpreter moves on to the next line for
execution only after the removal of the error. An Interpreter
directly executes instructions written in a programming or scripting
language without previously converting them to an object code or
machine code.
Example: Perl, Python and Matlab.
Compiler Interpreter
A compiler is a program that An interpreter takes a source
converts the entire source program and runs it line by
code of a programming line, translating each line as it
language into executable comes to it
machine code for a CPU.
System Software
Application Software
Utility Software
System Software
Application Software
Payroll Software
Student Record Software
Inventory Management Software
Income Tax Software
Railways Reservation Software
Microsoft Office Suite Software
Microsoft Word
Microsoft Excel
Microsoft PowerPoint
Operating System
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 a vital
component of the system software in a computer system.
Some popular Operating Systems include Linux Operating
System, Windows Operating System, VMS, OS/400, AIX, z/OS,
etc.
Need of Operating System:
Multitasking:
Operating System manages memory and allows multiple
programs to run in their own space and even communicate
with each other through shared memory. Multitasking gives
users a good experience as they can perform several tasks
on a computer at a time.
Device Management:
The Operating System communicates with the hardware and
the attached devices and maintains a balance between them
and the CPU. This is all the more important because the
CPU processing speed is much higher than that of I/O
devices. In order to optimize the CPU time, the operating
system employs two techniques – Buffering and Spooling.
o Buffering:
In this technique, input and output data is
temporarily stored in Input Buffer and Output
Buffer. Once the signal for input or output is sent to
or from the CPU respectively, the operating system
through the device controller moves the data from
the input device to the input buffer and for the
output device to the output buffer. In the case of
input, if the buffer is full, the operating system
sends a signal to the program which processes the
data stored in the buffer. When the buffer becomes
empty, the program informs the operating system
which reloads the buffer and the input operation
continues.
Memory management:
In a computer, both the CPU and the I/O devices interact
with the memory. When a program needs to be executed it is
loaded onto the main memory till the execution is completed.
Thereafter that memory space is freed and is available for
other programs. The common memory management
techniques used by the operating system are Partitioning
and Virtual Memory.
Partitioning:
The total memory is divided into various partitions of the
same size or different sizes. This helps to accommodate a
number of programs in the memory. The partition can be
fixed i.e. remains the same for all the programs in the
memory or variable i.e. memory is allocated when a program
is loaded onto the memory. The latter approach causes less
wastage of memory but in due course of time, it may
become fragmented.
Virtual Memory:
This is a technique used by the operating systems which
allows the user to load programs that are larger than the
main memory of the computer. In this technique, the
program is executed even if the complete program can not
be loaded inside the main memory leading to efficient
memory utilization.
Virtual memory is a feature of an operating system that
enables a computer to be able to compensate shortages
of physical memory by transferring pages of data from
random access memory to disk storage. ... This process
allows for RAM to be freed up so that a computer can
complete the task.
File Management:
The operating system manages the files, folders, and
directory systems on a computer. Any data on a computer is
stored in the form of files and the operating system keeps
the information about all of them using File Allocation Table
(FAT). The FAT stores general information about files like
filename, type (text or binary), size, starting address, and
access mode (sequential/indexed sequential/direct/relative).
The file manager of the operating system helps to create,
edit, copy, allocate memory to the files, and also updates the
FAT.
Command interpreter- When a user types in a command it is
the job of operating system to interpret (understand and
execute) that command,