You are on page 1of 10

SYSTEM SOFTWARE

UNIVERSITY TWO MARK QUESTIONS WITH ANSWERS


1. What is system software?
System software consists of variety of programs that supports the operation of the computer.
This software makes it possible for the user to focus on the application and other problems to be
solved without needing to know how the machine works internally.
E.g.: operating system, assembler, and loader.
2. What is compiler?
Compiler is a set of program which converts the whole high level language program to machine
language program.

3. Difference between compiler and assembler.


Compiler: It's a computer program(s) that transforms source code written in a programming language into
machine language that is the target language which usually has a binary form known as object code.

Assembler: It is a program that takes basic computer instruction(s) and converts then into a pattern of bits
that the computer's processor can use to perform its basic operations. The language used to program the
assembler is called assembly language.

4. What is multi-tasking OS and give examples.


Multitasking, in an operating system, is allowing a user to perform more than one
computer task (such as the operation of an application program) at a time. The operating system is able to
keep track of where you are in these tasks and go from one to the other without losing information.

Eg: Microsoft Windows 2000, IBM's OS/390, and Linux 

5. What is the byte code?


Byte code is computer object code that is processed by a program, usually referred to as a virtual
machine, rather than by the "real" computer machine, the hardware processor. The virtual machine
converts each generalized machine instruction into a specific machine instruction or instructions that this
computer's processor will understand. 

6. What is the function of loader?


Loading – brings the object program into memory for execution
Relocation – modifies the object program so that it can be loaded at an address different from the
location originally specified
Linking – combines two or more separate object programs and also supplies the information needed
to reference them.

7. What is DLL?
A dynamic link library (DLL) is a collection of small programs, any of which can be called when
needed by a larger program that is running in the computer.   DLL files that support specific device
operation are known as device drivers.

8. Give the difference between system virtual machine and process virtual machine
A Process virtual machine, sometimes called an application virtual machine, runs as a normal
application inside a host OS and supports a single process. It is created when that process is started
and destroyed when it exits. 
A System virtual machine provides a complete system platform which supports the execution
of a complete operating system (OS), just like you said Virtual Box is one example.
9. Define compiler boot strapping.
Bootstrapping is the process of writing a compiler (or assembler) in the source programming
language that it intends to compile. Applying this technique leads to a self-hosting compiler.
Eg: c, java compilers etc.

10. What is an assembler directive? Give an example.


These are the statements that are not translated into machine instructions, but they provide instructions to
assembler itself.
Example: START, END, BYTE, WORD, RESW and RESB.

11. What is the need of two passes in an assembler?


To resolve forward reference problem
Forward Reference: Symbols that are defined in the later part of the program are called forward
referencing. There will not be any address value for such symbols in the symbol table in single pass.

12. Give the use of LOCCTR.


This variable is used to assign addresses to the symbols. LOCCTR is initialized to the beginning
address specified in the START statement. After each source statement is processed the length
of the assembled instruction or data area to be generated is added to LOCCTR.

13. Give the disadvantage of load and go assembler.


Load-and-go assembler generates their object code in memory for immediate execution. No object
program is written out, no loader is needed.
Disadvantage: Programs are re-assembled nearly every time they are run; efficiency of the assembly
process is an important consideration.

14. What is a linkage editor?


A linkage editor produces a linked version of the program – often called a load module or an
executable image – which is written to a file or library for later execution.

15. What is the purpose of source code?


Source code consists of statements created with a text editor or visual programming tool and
then saved in a file. The source code is the most permanent form of a program, even though the
program may later be modified, improved or upgraded.

16. What is chain loading?


Chain loading is a method used by computer programs to replace the currently executing
program with a new program, using a common data area to pass information from the current
program to the new program.

17. Define literals.


A constant is a name that represents the same value throughout a program. But a literal is not a
name -- it is the value itself. A literal is defined with a prefix = followed by a specification of the literal
value.
Example: =C‟EOF‟ 454F46

18. What is meant by relocation?


Relocation - This modifies the object program so that it can be loaded at an address different from the
location originally specified

19. Write down the functions of the lexical analyzer.


 Breaks the source language into small pieces called Tokens.
 Each token is single atomic unit of the language such as keyword, identifier, or symbol name.
 Method is known as Scanning.

20. What is Intermediate code?


Intermediate code tends to be machine independent code. Intermediate code eliminates the need of a
new full compiler for every unique machine by keeping the analysis portions same for all the
compilers.

21. Define the term operating System? Where does it reside.


An Operating System (OS) is an interface between computer user and computer hardware. An
operating system is software which performs all the basic tasks like file management, memory
management, process management, handling input and output, and controlling peripheral devices
such as disk drives and printers. The operating system does permanently reside on the hard disk.

22. Write all the registers used in SIC.


There are five registers, each 24 bits in length.
 A – Accumulator
 X - Index Register
 L – Linkage Register
 PC – Program Counter
 SW – Status Word

23. List out various functions of an Assembler.


The basic assembler functions are:
 Translating mnemonic language code to its equivalent object code.
 Assigning machine addresses to symbolic labels.

24. What is meant by machine independent features?


Features which do not depend on the architecture of the machine. These are:
 Literals
 Expressions
 Program blocks
 Control sections

25. What are the different types of loaders?


The different types of loaders are,
 absolute loader
 bootstrap loader
 relocating loader (relative loader)
 Direct linking loader.

26. Distinguish between system software and application software.

Application Software System Software


Application software is computer System software is computer software designed to
software designed to help the user to operate the computer hardware and to provide a
perform specific tasks. platform for running application software.
It is specific purpose software. It is general-purpose software.

27. Draw the instruction format for SIC computer.


24-bits format

opcode (8) x address (15)

28. Define re-locatable program.


An object program that has the information necessary to perform this kind of modification is
called the relocatable program.

29. What is bootstrap Loader? Why is it required?


When a computer is first turned on or restarted, a special type of absolute loader, called bootstrap loader
is executed. This bootstrap loads the first program to be run by the computer -- usually an operating
system. The bootstrap itself begins at address 0. It loads the OS starting address 0x80.

30. List the statement present in a macro definition.


Two new assembler directives are used in macro definition
MACRO: identify the beginning of a macro definition
MEND: identify the end of a macro definition

31. Compare macros and subroutines.


The difference between Macros and Subroutines is that the statement s from the body of the Macro is
expanded the number of times the macro invocation is encountered, whereas the statement of the
subroutine appears only once no matter how many times the subroutine is called.

32. What are the various functions of Debugger?

Debugger is a program to help you see what is going on when your program runs. It can print the values of
variables, show what procedure called what procedure to get where you are, run up to a particular line, run
until a particular variables gets a special value etc.

33. What are the addressing modes used in VAX Architecture?

The various addressing modes in VAX architecture are


 Register direct,
 register deferred,
 auto increment and decrement,
 program counter relative,
 base relative,
 index register mode
 indirect addressing

34. What is the symbol defining structure generally used in assemblers?


EQU-it allows the programmer to define symbols and specify their values directly.
The general format is symbol EQU value
ORG-it is used to indirectly assign values to symbols. When this statement is encountered the assembler
resets its location counter to the specified value.
The general format is ORG value
In the above two statements value is a constant or an expression involving constants and previously
defined symbols.

35. Write a brief note on Microsoft intermediate language.


Microsoft Intermediate Language (MSIL) is a CPU-independent set of instructions that can be
efficiently converted to the native code. During the runtime the Common Language Runtime
(CLR)'s Just In Time (JIT) compiler converts the Microsoft Intermediate Language (MSIL)
code into native code to the Operating System.
36. Write the two passes of a linking loader.
Linking Loader uses two-pass logic. ESTAB (external symbol table) is the main data structure for a
linking loader.
Pass 1: Assign addresses to all external symbols
Pass 2: Perform the actual loading, relocation, and linking

37. List the machine independent macro processor features.


 Concatenation of Macro Parameters
 Generation of unique labels
 Conditional Macro Expansion
 Keyword Macro Parameters

38. What are the tasks performed in editing process?


Document-editing process in an interactive user-computer dialogue has four tasks:
 Select the part of the target document to be viewed and manipulated
 Determine how to format this view on-line and how to display it
 Specify and execute operations that modify the target document
 Update the view appropriately

39. List the basic types of computing environments used in editor’s functions?
Editors function in three basic types of computing environments:
1. Time sharing
2. Stand-alone
3. Distributed.

40. What is meant by single user operating system? Give example.


Single user mode is a mode in which a multiuser computer operating system boots into
a single super user. It is mainly used for maintenance of multi-user environments such as
network servers. 

41. What is JAVA byte code?


By using this approach, source code can be run on any platform once it has been compiled and
run through the virtual machine. Byte code is the compiled format for Java programs. Once
a Java program has been converted to byte code, it can be transferred across a network and
executed by Java Virtual Machine (JVM).

42. What is linker? Draw the linker diagram


Linking- which combines two or more separate object programs and supplies the information needed to
allow references between them - (Linker)

43. What is the function of a translator?

A translator is a computer program that performs the translation of a program written in a given


programming language into a functionally equivalent program in a different ways computer
language, without losing the functional or logical structure of the original code

44. What is a simplified Instructional Computer?


Simplified Instructional Computer (SIC) is a hypothetical computer that includes the hardware
features most often found on real machines. There are two versions of SIC, they are, standard
model (SIC), and, extension version (SIC/XE) (extra equipment or extra expensive).

45. Define an indexed addressing mode.


The address of the operand is obtained by adding to the contents of the general register
(called index register) a constant value. The number of the index register and the constant value
are included in the instruction code. Index Mode is used to access an array whose elements are
in successive memory locations.

46. Explain the function of the command INCLUDE briefly.


The general format of INCLUDE is
INCLUDE program name (library name)
This command directs the loader to read the designated object program from a library and treat
it as the primary loader input.

47. What is the function of OPTAB and SYMTAB in an assembler?

The symbol table includes the name and value for each symbol in the source program, together
with flags to indicate error conditions. Sometimes it may contain details about the data area.
SYMTAB is usually organized as a hash table for efficiency of insertion and retrieval.
The operation code table contains the mnemonic operation code and its machine language
equivalent. Some assemblers it may also contain information about instruction format and length.
OPTAB is usually organized as a hash table, with mnemonic operation code as the key.

48. State two ways to solve the relocation problem.


 Produce a Modification record to store the starting location and the length of the address
field to be modified.
 Use of relocation bit, each instruction is associated with one relocation bit and, these
relocation bits in a Text record is gathered into bit masks.

49. Give the data structures for a linking loader.


ESTAB (External Symbol Table): It is used to store the name and address of the each external
symbol. It also indicates in which control section the symbol is defined.
PROGADDR: It gives the beginning address in memory where the linked program is to be
loaded. The starting address is obtained from the operating system.

50. What is the purpose and advantages of dynamic linking?


If the subroutine is loaded and linked to the program during its first call (run time), then it is
called as dynamic loading or dynamic linking. The advantages are:
 It has the ability to load the routine only when they are needed
 The dynamic linking avoids the loading of entire library for each execution.

51. List the advantages of line-by-line approach in macro processing.


 Used as a sort of input routine for the assembler or compiler
 Avoid making an extra pass over the source program.
 It is easier to give diagnostic messages related to the source statements

52. What is macro expansion? State its use.


 A macro name is an abbreviation, which stands for some related lines of code. Macros
are useful for the following purposes:
o To simplify and reduce the amount of repetitive coding
o To reduce errors caused by repetitive coding
o To make an assembly program more readable.
 A macro consists of name, set of formal parameters and body of code. The use of macro
name with set of actual parameters is replaced by some code generated by its body. This
is called macro expansion.

53. State the need for debugging


Debugging, in computer programming and engineering, is a multistep process that involves identifying a
problem, isolating the source of the problem, and then either correcting the problem or determining a
way to work around it. The final step of debugging is to test the correction or workaround and make sure
it works.

54. What are the phases listed in the analysis phase of a compiler? What are their functions?
Phases of compiler can be categorized into

 Lexical Analysis: Breaks the source language into small pieces called Tokens. Each token is
single atomic unit of the language such as keyword, identifier, or symbol name.
 Syntax Analysis: Involves parsing the token sequence to identify the syntactic structure of the
program
 Semantic Analysis: Performs semantic checks such as Type checking to check type errors
 Intermediate Code Generation: Generates machine independent language that is close to
machine language
 Code Optimization: An optional phase which transforms intermediate code into functionally
equivalent but efficient form either in terms of time and/or space.
 Code Generation: Converts Intermediate Representation of source language into output
language (e.g. Assembly language) that can be readily executed by machine.

55. What are CISC and RISC?

CISC RISC
Emphasis on hardware Emphasis on software
Includes multi-clock Single-clock,
complex instructions reduced instruction only
Memory-to-memory: Register to register:
"LOAD" and "STORE" "LOAD" and "STORE"
incorporated in instructions are independent instructions
Small code sizes, Low cycles per second,
high cycles per second large code sizes
Transistors used for storing Spends more transistors
complex instructions on memory registers

56. What are interpreters?


Interpreter is a set of programs which converts high level language program to machine
language program line by line.

57. Describe the ANSI C implementation of Macro Processor.

The C Preprocessor is not a part of the compiler, but is a separate step in the compilation
process. In simple terms, a C Preprocessor is just a text substitution tool and it instructs the
compiler to do require pre-processing before the actual compilation. All preprocessor commands
begin with a hash symbol (#). 

58. What are the advantages of general purpose macro Processors?


Macro processors that do not dependent on any particular programming language, but can be
used with a variety of different languages
Pros
 Programmers do not need to learn many macro languages.
 Although its development costs are somewhat greater than those for a language specific
macro processor, this expense does not need to be repeated for each language, thus save
substantial overall cost.

59. State user interface criteria for debugging.


 The user interaction should make use of full-screen displays and windowing-systems as
much as possible.
 With menus and full-screen editors, the user has far less information to enter and
remember. There should be complete functional equivalence between commands and
menus – user where unable to use full-screen IDSs may use commands.
 The command language should have a clear, logical and simple syntax.
 Command formats should be as flexible as possible.

60. List the capabilities of an interactive debugging system.


 One important requirement of any IDS is the observation and control of the flow of
program execution
 Setting break points – execution is suspended, use debugging commands to analyze the
progress of the program, résumé execution of the program
 Setting some conditional expressions, evaluated during the debugging session, program
execution is suspended, when conditions are met, analysis is made, later execution is
resumed
 A Debugging system should also provide functions such as tracing and trace back.

61. List the additional registers provided in SIC/XE compared to SIC


 B- Base Register
 S-General Purpose Register
 T- General Purpose Register
 F- Floating Point Accumulator
62. What is literal? How does it differ from an immediate operand?
It is important to understand the difference between a constant defined as a literal and a constant
defined as an immediate operand. In case of literals the assembler generates the specified value as a
constant at some other memory location in immediate mode the operand value is assembled as part of
the instruction itself
63. Compare absolute expression and relative expression
If the result of the expression is an absolute value (constant) then it is known as absolute expression,
e.g.: BUFEND – BUFFER
If the result of the expression is relative to the beginning of the program then it is known as relative
expression. Label on instructions and data areas and references to the location counter values are relative
terms.
E.g.: BUFEND + BUFFER

64. When is an absolute loader useful?


The operation of absolute loader is very simple. The object code is loaded to specified locations in the
memory. At the end the loader jumps to the specified address to begin execution of the loaded program.

65. State the advantages of incorporating macro processor into pass 1 assembler.
 many functions do not have to be implemented twice

 Functions are combined and it is not necessary to create intermediate files as output from the
macro processor and input to the assembler

 more flexibility is available to the programmer in which he/she may use all the features of the
assembler in conjunction with macros

66. List the basic tasks of text editor.


An Interactive text editor has become an important part of almost any computing environment. Text
editor acts as a primary interface to the computer for all type of “knowledge workers” as they compose,
organize, study, and manipulate computer-based information.
An interactive editor is a computer program that allows a user to create and revise a target document.
Document includes objects such as computer diagrams, text, equations tables, diagrams, line art, and
photographs. In text editors, character strings are the primary elements of the target text.

67. What are the criteria to be followed to design a user interface?


 Keep the interface simple. 
 Create consistency and use common UI elements. 
 Be purposeful in page layout.  
 Strategically use color and texture. 
 Use typography to create hierarchy and clarity. 
 Make sure that the system communicates what’s happening.  
 Think about the defaults. 

68. What are the data formats of SIC?


Integers are stored as 24-bit binary numbers. 2’s complement representation is used for negative values;
characters are stored using their 8-bit ASCII codes. No floating-point hardware on the standard version
of SIC.

69. Define Program Relocation.


The concept of program relocation is, the execution of the object program using any part of the available
and sufficient memory. The object program is loaded into memory wherever there is room for it. The
actual starting address of the object program is not known until load time. Relocation provides the
efficient sharing of the machine with larger memory and when several independent programs are to be
run together. It also supports the use of subroutine libraries efficiently. Loaders that allow for program
relocation are called relocating loaders or relative loaders.

70. What do you mean by load and go assembler?


One pass assembler that generate their object code in memory for immediate execution is known as load
and go assembler. Here no object programmer is written out and hence no need for loader.

71. List the record types used in MS-DOS linker.


Record Types Description

THEADR Translator header similar to header record in SIC/XE


TYPDEF Type definitions of external symbols
PUBDEF Public Definitions of external symbols defined in object module.
EXTDEF Information about the data and external name.
LNAMES List of all the segments and class names used in the program.
SEGDEF Describes the segments in the object module, including name, length,
alignment.
GRPDEF Grouping of Segments.
LEDATA Similar to Text record (SIC/XE) contain translated instruction and data from
the  source program
LIDATA Translated Instruction and data that occur In repeated pattern
FIXUPP Resolve external references, contains relocation and linking information and
must immediately follow the LEDATA or LIDATA record to which it applies

MODEND End of object module.


72. What
is a
macro processor?
A macro processor - Essentially involve the substitution of one group of characters or lines for another.
Normally, it performs no analysis of the text it handles. It doesn’t concern the meaning of the involved
statements during macro expansion. The design of a macro processor generally is machine independent.

73. Compare line editor and screen editor.


A line editor is a text editor in which each editing command applies to one or more complete lines of text
in unix where as  a full-screen also known as screen editor in unix is a computer software which is used
to edit text files by using a textual or graphical user interface .

74. State the significance of user interface.


In information technology, the user interface (UI) is everything designed into an information
device with which a person may interact. This can include display screens, keyboards, a mouse and the
appearance of a desktop. It is also the way through which a user interacts with an application or a
website. The growing dependence of many companies on web applications and mobile applications has
led many companies to place increased priority on UI in an effort to improve the user's overall
experience.

You might also like