0% found this document useful (0 votes)
113 views26 pages

Answer 1: (A) : Instructions Browser Operating System

The document discusses different types of computer software including system software, application software, utility software, presentation software, and language software. It provides examples and definitions of each type. It also compares system software and application software, outlining the key differences between the two.

Uploaded by

Bilal Ahmad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
113 views26 pages

Answer 1: (A) : Instructions Browser Operating System

The document discusses different types of computer software including system software, application software, utility software, presentation software, and language software. It provides examples and definitions of each type. It also compares system software and application software, outlining the key differences between the two.

Uploaded by

Bilal Ahmad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 26

Answer 1: (A)

Sometimes abbreviated as SW and S/W, software is a collection of


instructions that enable the user to interact with a computer, its
hardware, or perform tasks. Without software, most computers would be
useless. For example, without your Internet browser software, you could
not surf the Internet or read this page. Without an operating system, the
browser could not run on your computer.
Software are the set of programs/packages which we can not touch and
feel as like hardware(It is device which we can touch and feel).Software
provide better communication between computer/PC and user.

How do you get software?


Software can be purchased at a retail computer store or online and come in a box containing all
the disks (floppy diskette, CD, DVD, or Blu-ray), manuals, warranty, and other documentation.

Software can also be downloaded to a computer over the Internet. Once downloaded, setup files
are run to start the installation process on your computer.

Free software

There are also a lot of free software programs available that are separated into different
categories.
 Shareware or trial software is software that gives you a few days to try the software before you
have to buy the program. After the trial time expires, you'll be asked to enter a code or register
the product before you can continue to use it.
 Freeware is completely free software that never requires payment, as long as it is not modified.
 Open source software is similar to freeware. Not only is the program given away for free, but
the source code used to make the program is as well, allowing anyone to modify the program or
view how it was created.

How do you use computer software?


Once the software is installed on the computer hard drive, the program can be used anytime by
finding the program on the computer. On a Windows computer, a program icon is added to the
Start Menu or Start Screen, depending on your version of Windows.

How to maintain software


After the software is installed on your computer, it may need to be updated to fix any found
errors. Updating a program can be done using software patches. Once updates are installed any
problems that may have been experienced in the program will no longer occur.

How is software created and how does it work?


A computer programmer (or several computer programmers) write the instructions using a
programming language that tell the software how to function and what to do. Once the program
has been completed, it is compiled into a language that the computer can understand.

When I save a document, is that file also considered


software?
When you create or edit a file using your software — a Microsoft Word document, for instance,
or a Photoshop image — that file is considered a "resource" or "asset" used by the software.
However, the file itself is not considered "software" even though it is an essential part of what
your software is doing.

What was the first piece of computer software?


The first software program that was held in electronic memory was written by Tom Kilburn. The
program calculated the highest factor of the integer 2^18 = 262,144 and was successfully
executed on June 21st of 1948 at the University of Manchester. The computer that held that
program was called the Small Scale Experimental Machine, otherwise known as the "Baby"
computer. This "Manchester Baby" is widely celebrated as the birth of software.
Types of Software:-

a1)System Software:-System software are those


software which we can used to control the system
and also used for run applications.

Example:-DOS,Unix etc.

For more help on System software than


visits System software(full link).

2)Application Software:-Application software are


those software which are designed to perform a
specific task.

Example tally,payroll etc.

For more help on Application Software than


visits Application Software(full link).

3)Utility Software:-Utility software are those


software which are used by everyone.

Example:-MS Office.

4)Presentation Software:-Presentation
Software are those software which are use to
create/make computer presentations.
Example PowerPoint.

5)Language Software:-Language software are


those software which are used to developed
languages code.

Example:-c,c++,HTML5 etc.

Answer 1: (B)
System Software vs Application Software

System software and application software are computer programs. The system software is also
installed during the installation of the operating system. However, the application software
utilizes the capabilities of the computer on which it is installed.

System Software

The programs and the file that comprises the operating system are called system software. These
files include configuration files, system preferences, system services, libraries of functions and
the drivers for the hardware installed on the computer. The computer programs in system
software include compilers, system utilities, assemblers, debuggers and file management tools.

Once you install the operating system, the system software is also installed. Program such
“Software update” or “Windows update” can be used to update the system software. However,
the end user does not run the system software. For example, while using the web browser, you
don’t need to use the assembler program.
System software is also called low-level software as it runs at most basic level of the computer. It
just creates a graphical user interface thorough which the user can interact with hardware with
the help of operating system. System software just runs at the back so you don’t need to bother
about it.

The system software provides an environment to run application software and it controls the
computer as well as the applications installed on the machine.

Application software

The subclass of a computer program which utilizes the capabilities of computer is called
application software. Application here means the application software and the implementation.
The example of application software programs includes media players, spreadsheets and word
processors. When multiple applications are packaged together then it is called application suite.

There is a common user interface in each ap


plication suite which makes it easier for the user to learn different applications. In some cases,
such as Microsoft Office, the various application programs have the ability to interact with each
other. This facility is very handy for the user. For example, a user can embed the spreadsheet in a
word processor using the application software. Application software cannot run without the
presence of system software.

For more clarification refer the below points

• System software gets installed when the operating system is installed on the computer while
application software is installed according to the requirements of the user.

• System software includes programs such as compilers, debuggers, drivers, assemblers while
application software includes media players, word processors, and spreadsheet programs.

• Generally, users do not interact with system software as it works in the background whereas
users interact with application software while doing different activities.

• A computer may not require more than one type of system software while there may be a
number of application software programs installed on the computer at the same time.

• System software can run independently of the application software while application software
cannot run without the presence of the system software.
Difference between System Software and
Application Software
S.No. System Software Application Software

System software is used for


Application software is used by
1. operating computer
user to perform specific task.
hardware.

System softwares are


Application softwares are
installed on the computer
2. installed according to user’s
when operating system is
requirements.
installed.

In general, the user does


not interact with system In general, the user interacts
3.
software because it works in with application sofwares.
the background.

System software can run Application software can’t run


independently. It provides independently. They can’t run
4.
platform for running without the presence of
application softwares. system software.
Some examples of system Some examples of application
softwares are compiler, softwares are word processor,
5.
assembler, debugger, web browser, media player,
driver, etc. etc.

Answer 2 :

operating system (OS)


An operating system (OS) is the program that, after being initially loaded into the computer by a
boot program, manages all of the other application programs in a computer. The application
programs make use of the operating system by making requests for services through a defined
application program interface (API). In addition, users can interact directly with the operating
system through a user interface such as a command line or a graphical user interface (GUI).

An operating system can perform the following services for applications:

 In a multitasking operating system, where multiple programs can be running at the same
time, the OS determines which applications should run in what order and how much time
should be allowed for each application before giving another application a turn.
 It manages the sharing of internal memory among multiple applications.
 It handles input and output to and from attached hardware devices, such as hard disks,
printers and dial-up ports.
 It sends messages to each application or interactive user (or to a system operator) about
the status of operation and any errors that may have occurred.
 It can offload the management of batch jobs (for example, printing) so that the initiating
application is freed from this work.
 On computers that can provide parallel processing, an operating system can manage how
to divide the program so that it runs on more than one processor at a time.
 All major computer platforms (hardware and software) require and sometimes include an
operating system, and operating systems must be developed with different features to
meet the specific needs of various form factors.
 Types of operating systems
 A mobile OS allows smartphones, tablet PCs and other mobile devices to run applications
and programs. Mobile operating systems include Apple iOS, Google Android,
BlackBerry OS and Windows 10 Mobile.
 An embedded operating system is specialized for use in the computers built into larger
systems, such as cars, traffic lights, digital televisions, ATMs, airplane controls, point of
sale (POS) terminals, digital cameras, GPS navigation systems, elevators, digital media
receivers and smart meters.
 A network operating system (NOS) is a computer operating system system that is
designed primarily to support workstation, personal computer, and, in some instances,
older terminals that are connected on a local area network (LAN).
 A real-time operating system (RTOS) is an operating system that guarantees a certain
capability within a specified time constraint. For example, an operating system might be
designed to ensure that a certain object was available for a robot on an assembly line.

Examples of operating systems

Common desktop operating systems include:

 Windows is Microsoft’s flagship operating system, the de facto standard for home and
business computers. Introduced in 1985, the GUI-based OS has been released in many
versions since then. The user-friendly Windows 95 was largely responsible for the rapid
development of personal computing.
 Mac OS is the operating system for Apple's Macintosh line of personal computers and
workstations.
 Unix is a multi-user operating system designed for flexibility and adaptability. Originally
developed in the 1970s, Unix was one of the first operating systems to be written in C
language.
 Linux is a Unix-like operating system that was designed to provide personal computer users
a free or very low-cost alternative. Linux has a reputation as a very efficient and fast-
performing system.

Operating System (OS) is one of the core software programs that runs on the hardware and
makes it usable for the user to interact with the hardware so that they can send commands (input)
and receive results (output). It provides a consistent environment for other software to execute
commands. So we can say that the OS acts at the center through which the system hardware,
other softwares, and the user communicate. The following figure shows the basic working of the
operating system and how it utilizes different hardware or resources.
Figure: Operating system working as a core part

Operating system serves many functions but I will discuss about the major functions which all
operating systems have.

Basic Functions of the Operating system

The key five basic functions of any operating system are as following

1. Interface between the user and the hardware : An OS provides an interface between user and
machine. This interface can be a graphical user interface (GUI) in which users click onscreen
elements to interact with the OS or a command-line interface (CLI) in which users type
commands at the command-line interface (CLI) to tell the OS to do things.

Figure: GUI vs CLI

2. Coordinate hardware components :An OS enables coordination of hardware components.


Each hardware device speaks a different language, but the operating system can talk to them
through the specific translational softwares called device drivers. Every hardware component has
different drivers for Operating systems. These drivers make the communication successful
between the other softwares and the hardware.

Figure: Device Drivers in between OS and Hardware devices

3. Provide environment for software to function: An OS provides an environment for software


applications to function. An application software is a specific software which is used to perform
specific task. In GUI operating systems such as Windows and macOS, applications run within a
consistent, graphical desktop environment.

4. Provide structure for data management : An OS displays structure/directories for data


management. We can view file and folder listings and manipulate on those files and folders like
(move, copy, rename, delete, and many others).

5. Monitor system health and functionality: OS monitors the health of our system’s hardware,
giving us an idea of how well (or not) it’s performing. We can see how busy our CPU is, or how
quickly our hard drives retrieve data, or how much data our network card is sending etc. and it
also monitors system activity for malware.
Figure: Performance Monitor in windows

Search the examples in Book of this question

Answer 3: (A)
Operating Systems
Microsoft Windows isn't the only operating system for personal
computers, or even the best... it's just the best-distributed. Its
inconsistent behavior and an interface that changes radically with
every version are the main reasons people find computers
difficult to use. Microsoft adds new bells and whistles in each
release, and claims that this time they've solved the countless
problems in the previous versions... but the hype is never really
fulfilled. Windows 7 offers little new: it's basically Vista without
quite so many mistakes built into it. The upgrade prices serve
primarily to keep the cash flowing to Microsoft, to subsidize their
efforts to take over other markets. A slew of intrusive "features"
in the recent versions benefit Microsoft at the expensive of both
your privacy and your freedom. Switching to Windows 7 requires
buying new hardware and learning a new system, so instead
consider switching to something better. There's an exciting
array of interesting operating systems out there, and the overall
quality of them is stronger than ever.
If you can't say "no" to Windows (which is understandable in
many cases), you can still say "no more". The simplest alternative
to Windows Vista/7 is a previously-installed version of
Windows. Windows Vista/7 isn't a simple upgrade; it's a
drastically different operating system, which may not work
properly on hardware just a few years old, so installing the
"upgrade" is a risk. Even if a software package says "for
Windows 7", that's mostly a Microsoft-directed marketing ploy;
check the fine print to see if earlier versions of Windows are also
supported (XP usually is). The bottom line: if you already own
Windows XP and it works for you, you don't have to upgrade;
you can continue using it without paying Microsoft another
dime.Windows XP runs programs tagged on this site with this icon:
The Mac OS user interface inspired the creation of
Windows, and is still the target Microsoft is trying to equal. As a
popular consumer product, there's plenty of software available for
it, and it's moving beyond its traditional niches of graphic design,
education, and home use, into general business use (after all,
Apple Corp. runs on it). OS X (ten), uses Unix technology, which
makes it more stable and secure than Windows. But the real star
is OS X's visual interface, which shows the difference between
Microsoft's guesswork in this area and Apple's innovative design
work: it's both beautiful and easy to use. The main "negative" to
Mac OS is that you need to buy an Apple computer to use it, but
that's not much of a sacrifice: in addition to being stylish, they're
top-notch in quality, and both faster and less expensive than you
might expect. Apple has a section of their site for people
wondering if they can switch to Mac OS. Mac OS runs programs tagged
on this site with this icon: OS X can also run many programs tagged with this icon:

Linux ("LIH-nux") is a free Unix-like operating system,


originally developed by programmers who who simply love the
challenge of solving problems and producing quality software...
even if that means giving the resulting product away. Not
coincidentally, there's also a wealth of free software for it. Unlike
proprietary operating systems, which are usually controlled in
every detail by a single company, Linux has a standard consistent
core (called the "kernel") around which many varieties (known as
"distributions") have been produced by various companies and
organisations. Some are aimed at geeks, some focus on the needs
of business users, and some are designed with typical home users
in mind. It has become a popular option for the makers of
inexpensive "netbooks" and laptops to preinstall. You can test-
drive Linux with versions such as Knoppix which runs directly
from a CD without affecting the OS on your hard drive. Most
individuals should start with one of the mainstream distributions,
such as Ubuntu, Mandriva, or Linspire. Businesses might prefer
RedHat/Fedora, Novell/SUSE, or CentOS. Geeks should check
out Debian, Slackware, and Gentoo. Linux is a first-rate choice
for servers; this site is a Linux system. Linux runs programs tagged on this
site with this icon: With the addition of CrossOver (a commercial package) or WINE (included
in many distributions), it can run many Windows programs.

Google's Chrome OS is still vaporware so far, and it's


arguably just another flavor of Linux, but it promises to be a
viable alternative to Windows on small portable "netbooks"
which will come with it preinstalled. The user interface is going
to be based on Google's web browser of the same name, and take
advantage of technology to make online apps like Google Docs
work even if you're not online. It is open-source software, so
netbook manufacturers won't have to pay to use it.
Haiku is based on BeOS, which was designed with
multimedia in mind, including the kinds of features that
Microsoft is just recently tacking onto Windows. Although
Microsoft successfully drove Be Corp. out of business through
illegal interference with their marketing efforts, reports of BeOS's
death were premature. A team of BeOS users have banded
together to re-develop it as Haiku, an open-source clone which
will run all the old BeOS software, and then provide a platform to
be upgraded for the present and future. Meanwhile, the original
Be source code was licensed to a European software firm which
created Zeta from it. And the free BeOS R5 Personal Edition is
still available to download, and has been packaged with all the
latest drivers and free add-ons as BeOS Max Edition. BeOS/Zeta/Haiku
runs programs tagged on this site with this icon: BeOS R5 Personal, and updates 5.01 and
5.03 are archived here.

FreeBSD is commonly called "the free Unix". It's


descended from the classic 1970's Berkeley Software Distribution
of Unix (from before the OS became "UNIX"®), making it one of
the most mature and stable operating systems around. It's "free"
as in "free beer" (you can download it for nothing) and as in "free
speech" (you can do pretty much whatever you like with it... like
when Microsoft took code from it to add better networking to
Windows NT). Unlike the plethora of Linuxes, there's only one
current version of FreeBSD, with a consistent structure and an
easy-to-use "ports" system for installing software. It can also run
most Linux binaries. Much of the Internet infrastructure was built
on FreeBSD, due to its combination of quality and cost. It's
always been excellent for servers, but it's become comparable to
mainstream Linux distros as a desktop OS as well. Its main
platform is the Intel x86 architecture, with ports to a few others.
FreeBSD runs programs tagged on this site with this icon: With the addition of WINE, it can
run many Windows programs.

OpenBSD is "the other free Unix". It's similar to FreeBSD


both in the Berkeley code it's based on, and the licensing terms.
One key advantage it has over its BSD siblings (and nearly any
other OS) is that it's incredibly secure from attack, as implied by
its blowfish mascot, and made explicit by their boast of only one
remotely-exploitable hole - ever - in their default installation.
(Compare that to Windows' hundreds.) "Open" is a reference to
their code auditing process, not a welcome-mat for crackers. It's
not as speedy as FreeBSD, but it's safer. It's also available for
some hardware plaforms FreeBSD doesn't support, including
Mac 68K, PPC, Amiga, Sun, Vax, and others. OpenBSD runs programs
tagged on this site with this icon:

NetBSD is "the other other free Unix". It's the work of


another group of volunteer developers using the net to collaborate
(hence the name of their product). Their mission is to get the OS
to run - and run well - on hardware platforms no other Unix
supports. In addition to most of the usual suspects above, it's been
ported to run on the NeXT box, MIPS machines, the good Atari
computers, the BeBox, WinCE-compatible handhelds, ARM
processors, and even game machines like the Playstation 2 or the
orphaned Sega Dreamcast. So with NetBSD you can standardise
your software even if you have a whole bunch of different,
"incompatible" hardware, one of the strengths of the Unix-like
system NetBSD runs programs tagged on this site with this icon:
Darwin is a cousin of Free/Open/NetBSD, and the free
foundation on which the commercial Mac OS X is built.
Although its development was originally managed rather tightly
by Apple (understandable, because their business depends on it)
they've loosened the leash, making participation in the
development more open. Darwin is making progress toward
becoming an open-source OS in its own right. Any Darwin
software will run on OS X, but software written specifically for
OS X won't run on Darwin, because the Mac interface (and
various other proprietary bits) are not part of Darwin itself.
Instead, Darwin typically uses X11 with either TWM or KDE.
Darwin runs programs tagged on this site with this icon:

Syllable is a free alternative OS for standard PCs. It uses some


of the better ideas from Unix, BeOS, AmigaOS, and others, and is
compatible enough with portable software written for Unix that
many have already been ported over to it. It's not a full-featured
OS yet, but it's functional enough to be used with built-in web
and e-mail clients, and media players. Syllable runs programs tagged on this
site with this icon:

Amiga owners used to taunt PC and Mac users with their


smoothly-multitasking graphical operating system, back when the
Macs couldn't multitask, and PCs weren't even graphical. Even
though the "classic" Amiga machines are no longer being
produced, there's been a lot of activity in Amigaspace in the
meantime: The OS has been updated to support current
technology with Amiga OS 4, emulation layers called AmigaOS
XL and AMIthlon were created to run Amiga OS on modern PC
hardware, Amiga Forever is an emulator for Windows and other
operating systems, and a new hardware platform and OS called
AmigaOne have been introduced to try to carry on the Amiga
legacy. Amiga OS runs programs tagged on this site with this icon:
MorphOS began as a project to port the Amiga OS to the then-
new PowerPC architecture, but has since morphed into an OS in
its own right. It runs on certain PowerPC/G3/G4-based systems,
and has better-than-standard-emulation support for Amiga OS 3.1
applications as well as native apps built for MorphOS. MorphOS runs
Amiga OS programs tagged on this site with this icon:

RISC OS is the operating system of the former Acorn line of


computers (best known in the UK), which has been revived and
updated for faster performance and to meet current OS standards
(e.g. long filenames, large hard drives). It doesn't run on standard
PCs, but on systems specifically designed for it (such as the
RiscPC and A7000), using the high-speed StrongARM
processors. The OS itself is stored in electronic ROM rather
than having to be loaded into RAM from a hard drive. RISC OS runs
programs tagged on this site with this icon:

GNU's Not Unix. In fact, that phrase is what G.N.U. is a


(recursive) abbrevation for. It is a Unix-like operating system
being developed as a long-term project by the Free Software
Foundation to offer a fully-free alternative to the commercial
and BSD versions of Unix. Although you'll find many key
components of GNU used in Linux and BSD packages under the
GNU General Public license (GPL), a fully GNU system will use
the Hurd, GNU's own free-software kernel. The Hurd has some
design advantages over the Linux kernel, but is still far from
finished, and requires serious expertise with OS development to
install. GNU runs programs tagged on this site with this icon:
Minix is an open-source Unix-like operating system
originally developed for educational purposes. Because of its
relative simplicity and ample documentation, its creator says that
a few months studying the source code should teach you most of
how such things work. (It inspired Linus Torvalds to create
Linux.) Versions 1 and 2 serve primarily as teaching examples,
but version 3 has also become useful in its own right, intended for
highly reliable uses on low-end 386-level hardware. Minix runs some of
the programs tagged on this site with this icon:

There are also a bunch of commercial UNIX® systems,


which are typically customised to run on expensive, high-end,
proprietary hardware sold by the same vendor. Most of them have
names other than "Unix" due to old trademark issues. They're
better as alternatives to the server versions of Windows, not the
desktop versions of Windows such as 98/XP/Vista. They include
Sun Solaris, HP-UX, IBM AIX, SGI IRIX, and Mac OS X
Server. Unix runs programs tagged on this site with this icon: With the addition of WINE,
Solaris and OS X can run many Windows programs.

IBM's OS/2warp was once supposed to replace MS


Windows, back when Emperor IBM and Darth Microsoft were
planning to rule the galaxy together. Then Darth decided he didn't
need the Emperor, struck confidential deals with other hardware
vendors and software developers, and made Windows (just
barely) powerful enough to fill OS/2's intended role. Windows
didn't really beat OS/2 technically, but it won the Marketing
Wars, which is what mattered. Unfortunately, IBM has given up
on OS/2's future. A third-party package called eComStation is a
licensed effort to update and maintain OS/2. It's still a stable,
useful, Windows-like operating system with a rather loyal
userbase. OS/2 runs programs tagged on this site with this icon:
Believe it or not, DOS (with or without Windows 3.1) is still a
viable option for many uses. There was an incredible amount of
software developed for it, and it still works. Plus, DOS runs like a
champ, on old hardware that no one else wants. You can even fit
it on a diskette, to boot it on nearly any PC anywhere. In addition
to Microsoft's DOS (which you can probably get a computing
old-timer to donate to you along with some of his "vintage"
applications like WordPerfect 5.1, Lotus 1-2-3 r2.2, and dBASE
III), there are modern, compatible DOSes in active use from other
sources: the complete open-source clone FreeDOS, IBM's PC-
DOS, and MS-DOS compatible DR DOS.

Answer 3: (B)
assembler
An assembler is a program that takes basic computer instructions and converts them into a
pattern of bits that the computer's processor can use to perform its basic operations. Some people
call these instructions assembler language and others use the term assembly language.

Here's how it works:

Most computers come with a specified set of very basic instructions that correspond to the basic machine
operations that the computer can perform. For example, a "Load" instruction causes the processor to
move a string of bits from a location in the processor's memory to a special holding place called a register.
Assuming the processor has at least eight registers, each numbered, the following instruction would move
the value (string of bits of a certain length) at memory location 3000 into the holding place called register
8:

 L 8,3000
 The programmer can write a program using a sequence of these assembler instructions.
 This sequence of assembler instructions, known as the source code or source program, is
then specified to the assembler program when that program is started.
 The assembler program takes each program statement in the source program and
generates a corresponding bit stream or pattern (a series of 0's and 1's of a given length).
 The output of the assembler program is called the object code or object program relative
to the input source program. The sequence of 0's and 1's that constitute the object
program is sometimes called machine code.
 The object program can then be run (or executed) whenever desired.

In the earliest computers, programmers actually wrote programs in machine code, but assembler
languages or instruction sets were soon developed to speed up programming. Today, assembler
programming is used only where very efficient control over processor operations is needed. It
requires knowledge of a particular computer's instruction set, however. Historically, most
programs have been written in "higher-level" languages such as COBOL, FORTRAN, PL/I, and
C. These languages are easier to learn and faster to write programs with than assembler
language. The program that processes the source code written in these languages is called a
compiler. Like the assembler, a compiler takes higher-level language statements and reduces
them to machine code.
A newer idea in program preparation and portability is the concept of a virtual machine. For
example, using the Java programming language, language statements are compiled into a generic
form of machine language known as bytecode that can be run by a virtual machine, a kind of
theoretical machine that approximates most computer operations. The bytecode can then be sent
to any computer platform that has previously downloaded or built in the Java virtual machine.
The virtual machine is aware of the specific instruction lengths and other particularities of the
platform and ensures that the Java bytecode can run.

compiler
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 C 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 . (Note that the term "object" here is not related to object-oriented
programming.) The object code is machine code that the processor can execute one instruction at
a time.

The Java programming language, a language used in object-oriented programming, introduced


the possibility of compiling output (called bytecode ) that can run on any computer system
platform for which a Java virtual machine or bytecode interpreter is provided to convert the
bytecode into instructions that can be executed by the actual hardware processor. Using this
virtual machine, the bytecode can optionally be recompiled at the execution platform by a just-
in-time compiler. (See also: Java 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.

Linker
Linker is a program in a system which helps to link a object modules of program into a single
object file. It performs the process of linking. Linker are also called link editors. Linking is
process of collecting and maintaining piece of code and data into a single file. Linker also link a
particular module into system library. It takes object modules from assembler as input and forms
an executable file as output for loader.

Linking is performed at both compile time, when the source code is translated into machine code
and load time, when the program is loaded into memory by the loader. Linking is performed at
the last step in compiling a program.

Source code -> compiler -> Assembler -> Object code -> Linker -> Executable file -> Loader

Linking is of two types:


1. Static Linking –
It is performed during the compilation of source program. Linking is performed before execution
in static linking. It takes collection of relocatable object file and command-line argument and
generate fully linked object file that can be loaded and run.

Static linker perform two major task:

 Symbol resolution – It associates each symbol reference with exactly one symbol
definition .Every symbol have predefined task.
 Relocation – It relocate code and data section and modify symbol references to the
relocated memory location.

The linker copy all library routines used in the program into executable image. As a result, it
require more memory space. As it does not require the presence of library on the system when it
is run . so, it is faster and more portable. No failure chance and less error chance.

2. Dynamic linking – Dynamic linking is performed during the run time. This linking is
accomplished by placing the name of a shareable library in the executable image. There is more
chances of error and failure chances. It require less memory space as multiple program can share
a single copy of the library.

Here we can perform code sharing. it means we are using a same object a number of times in the
program. Instead of linking same object again and again into the library, each module share
information of a object with other module having same object. The shared library needed in the
linking is stored in virtual memory to save RAM. In this linking we can also relocate the code for
the smooth running of code but all the code is not relocatable.It fixes the address at run time.

Interpreter
An interpreter is a computer program that is used to directly execute program instructions written
using one of the many high-level programming languages. The interpreter transforms the high-
level program into an intermediate language that it then executes, or it could parse the high-level
source code and then performs the commands directly, which is done line by line or statement by
statement. Programming languages are implemented in two ways: interpretation and compilation.
As the name suggests, an interpreter transforms or interprets a high-level programming code into
code that can be understood by the machine (machine code) or into an intermediate language that
can be easily executed as well. The interpreter reads each statement of code and then converts or
executes it directly. In contrast, an assembler or a compiler converts a high-level source code
into native (compiled) code that can be executed directly by the operating system.

In most cases, a compiler is more favorable since its output runs much faster compared to a line-
by-line interpretation. However, since interpretation happens per line or statement, it can be
stopped in the middle of execution to allow for either code modification or debugging. Both have
their advantages and disadvantages and are not mutually exclusive; this means that they can be
used in conjunction as most integrated development environments employ both compilation and
translation for some high-level languages.

Since an interpreter reads and then executes code in a single process, it very useful for scripting
and other small programs. As such, it is commonly installed on Web servers, which run a lot of
executable scripts.

An interpreted language is a type of programming language for which most of its


implementations execute instructions directly and freely, without previously compiling a
program into machine-language instructions. The interpreter executes the program directly,
translating each statement into a sequence of one or more subroutines, and then into another
language (often machine code).

The terms interpreted language and compiled language are not well defined because, in theory,
any programming language can be either interpreted or compiled. In modern programming
language implementation, it is increasingly popular for a platform to provide both options.

Interpreted languages can also be contrasted with machine languages. Functionally, both
execution and interpretation mean the same thing — fetching the next instruction/statement from
the program and executing it. Although interpreted byte code is additionally identical to machine
code in form and has an assembler representation, the term "interpreted" is practically reserved
for "software processed" languages (by virtual machine or emulator) on top of the native (i.e.
hardware) processor.

In principle, programs in many languages may be compiled or interpreted, emulated or executed


natively, so this designation is applied solely based on common implementation practice, rather
than representing an essential property of a language.

Many languages have been implemented using both compilers and interpreters, including
BASIC, C, Lisp, Pascal, and Python. Java and C# are compiled into bytecode, the virtual-
machine-friendly interpreted language. Lisp implementations can freely mix interpreted and
compiled code.
Answer 5 :
The computer system is simply a machine and hence it cannot perform any work; therefore, in
order to make it functional different languages are developed, which are known as programming
languages or simply computer languages.

Over the last two decades, dozens of computer languages have been developed. Each of these
languages comes with its own set of vocabulary and rules, better known as syntax. Furthermore,
while writing the computer language, syntax has to be followed literally, as even a small mistake
will result in an error and not generate the required output.

Two Basic Types of Computer Language


 Low-Level Languages: A language that corresponds directly to a specific machine
 High-Level Languages: Any language that is independent of the machine

There are also other types of languages, which include

 System languages: These are designed for low-level tasks, like memory and process
management
 Scripting languages: These tend to be high-level and very powerful
 Domain-specific languages: These are only used in very specific contexts
 Visual languages: Languages that are not text-based
 Esoteric languages: Languages that are jokes or are not intended for serious use

These languages are not mutually exclusive, and some languages can belong to multiple
categories. The terms low-level and high-level are also open to interpretation, and some
languages that were once considered high-level are now considered low-level as languages have
continued to develop.

Low-Level Languages
Low-level computer languages are either machine codes or are very close them. A computer
cannot understand instructions given to it in high-level languages or in English. It can only
understand and execute instructions given in the form of machine language i.e. binary. There are
two types of low-level languages:

 Machine Language: a language that is directly interpreted into the hardware


 Assembly Language: a slightly more user-friendly language that directly corresponds to
machine language

Machine Language
Machine language is the lowest and most elementary level of programming language and was the
first type of programming language to be developed. Machine language is basically the only
language that a computer can understand and it is usually written in hex.

In fact, a manufacturer designs a computer to obey just one language, its machine code, which is
represented inside the computer by a string of binary digits (bits) 0 and 1. The symbol 0 stands
for the absence of an electric pulse and the 1 stands for the presence of an electric pulse. Since a
computer is capable of recognizing electric signals, it understands machine language.

Advantages Disadvantages
Machine language makes fast and efficient use
All operation codes have to be remembered
of the computer.
It requires no translator to translate the code. It All memory addresses have to be
is directly understood by the computer. remembered.
It is hard to amend or find errors in a program
written in the machine language.

Assembly Language
Assembly language was developed to overcome some of the many inconveniences of machine
language. This is another low-level but very important language in which operation codes and
operands are given in the form of alphanumeric symbols instead of 0’s and l’s.

These alphanumeric symbols are known as mnemonic codes and can combine in a maximum of
five-letter combinations e.g. ADD for addition, SUB for subtraction, START, LABEL etc.
Because of this feature, assembly language is also known as ‘Symbolic Programming Language.'

This language is also very difficult and needs a lot of practice to master it because there is only a
little English support in this language. Mostly assembly language is used to help in compiler
orientations. The instructions of the assembly language are converted to machine codes by a
language translator and then they are executed by the computer.

Advantages Disadvantages
Assembly language is easier to understand Like machine language, it is also machine
and use as compared to machine language. dependent/specific.
Since it is machine dependent, the programmer
It is easy to locate and correct errors.
also needs to understand the hardware.
It is easily modified.

High-Level Languages
High-level computer languages use formats that are similar to English. The purpose of
developing high-level languages was to enable people to write programs easily, in their own
native language environment (English).

High-level languages are basically symbolic languages that use English words and/or
mathematical symbols rather than mnemonic codes. Each instruction in the high-level language
is translated into many machine language instructions that the computer can understand.

Advantages Disadvantages
A high-level language has to be
High-level languages are user-friendly translated into the machine language by a
translator, which takes up time
The object code generated by a translator
They are similar to English and use English
might be inefficient compared to an
vocabulary and well-known symbols
equivalent assembly language program
They are easier to learn
They are easier to maintain
They are problem-oriented rather than 'machine'-
based
A program written in a high-level language can be
translated into many machine languages and can run
on any computer for which there exists an
appropriate translator
The language is independent of the machine on
which it is used i.e. programs developed in a high-
level language can be run on any computer text

Types of High-Level Languages


Many languages have been developed for achieving a variety of different tasks. Some are fairly
specialized, and others are quite general.

These languages, categorized according to their use, are:

1) Algebraic Formula-Type Processing


These languages are oriented towards the computational procedures for solving mathematical
and statistical problems.

Examples include:

 BASIC (Beginners All Purpose Symbolic Instruction Code)


 FORTRAN (Formula Translation)
 PL/I (Programming Language, Version 1)
 ALGOL (Algorithmic Language)
 APL (A Programming Language)

2. Business Data Processing


These languages are best able to maintain data processing procedures and problems involved in
handling files. Some examples include:

 COBOL (Common Business Oriented Language)


 RPG (Report Program Generator)

3. String and List Processing


These are used for string manipulation, including search patterns and inserting and deleting
characters. Examples are:

 LISP (List Processing)


 Prolog (Program in Logic)

4. Object-Oriented Programming Language


In OOP, the computer program is divided into objects. Examples are:

 C++
 Java

5. Visual Programming Language


These programming languages are designed for building Windows-based applications.Examples
are:

 Visual Basic
 Visual Java
 Visual C
5 (B) Software Development
 Software development is a magical art of creating a program which can perform a
required task following a set of processes. Software development includes numerous
steps such as thinking of an idea, designing a rough idea, implementation of the blueprint,
testing, bug fixing and many more.
 The process of Software Development includes writing and maintaining the code in
particular language, in other words, we can say that it includes everything which is
involved in the creation of the desired software product via the desired process.
 Why Do We Need Software?
 Every Business firm or organization needs a software program to perform various tasks
which can ease out the work of a person and reduce the requirement of
manpower.Software Developers use a process known as Software Development Life
Cycle (SDLC) to Design, Develop and Review High-Quality Software. The purpose of
SDLC is to produce something which fulfills the expectations of the customer and
completes in estimated time and cost.
 Let's Learn About SDLC In Detail
 Software Development Life Cycle is a basically a detailed plan which describes how to
create, maintain, alter and improve a specific software product (program).

 Fig 1 : Diagram Depicting The Software Development Cycle


 Software Development Life Cycle (SDLC) consists of the following stages :
 1. Planning :
 Planning is most Important phage of SDLC, It is performed by the experienced people of
the organization as the output and information generated by this phase will be responsible
for creating a blueprint for product development. Planning helps a project to implement
flawlessly and affects its progress positively.
 2. Analysis :
 In this phase project managers, stake holders and user (Customer) discuss the
requirements of the system, and also discuss about the things like "Who is going to use
the system?", "How he will use the system?", "What type of data is needed?" Etc. After
gathering all the information about requirements for the system the process of
development moves forward in the direction of designing.
 3. Design :
 Based on the requirements generated in analysis and requirement phase a designed
approach is adopted to define the architectural modules of our system which are further
followed to create the product.
 4. Implementation :
 On receiving system design documents, the work is further classified into parts
(Modules) and actual development of products starts. This Is the longest phase of the
SDLC. If the design phase (previous phase) is implemented properly, code generation in
this phase is achieved without any problem. Once our software is developed properly it
goes for a proper review to check whether it is functioning properly or not.
 5. Testing :
 After the code is implemented completely it is checked against our requirements whether
it is addressing our needs which are gathered in the analysis phase or not. In this phase,
all the defects of our software are tracked and fixed until we obtain our desired product
with the defined quality standards.
 6. Deployment and Maintenance :
 When the products successfully pass the testing phase, it is deployed to the user for Beta
Testing for finding bugs so they can be resolved. When our targeted customers start using
the product on the basis of their feedback the system is improved for flawless working,
this process is known as maintenance.

You might also like