Answer 1: (A) : Instructions Browser Operating System
Answer 1: (A) : Instructions Browser Operating System
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.
Example:-DOS,Unix etc.
Example:-MS Office.
4)Presentation Software:-Presentation
Software are those software which are use to
create/make computer presentations.
Example PowerPoint.
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.
• 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
Answer 2 :
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.
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.
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.
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
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:
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.
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.
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
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.
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.
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.
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
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
Examples include:
C++
Java
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).