Saturday, December 18, 2010

System Software 2004

Gujarat University
MCA Semester III
System Software

Date: Tuesday, 6th January, 2004                       Marks:50


Instructions:   1. Answer both section In separate answer-books.
2. If necessary make assumptions and state clearly.

 

SECTION I



Q-1      What is the need to compute FIRST and FOLLOW sets? Give a suitable algorithm to compute the two sets. Using the given algorithm, compute for the following grammar the FIRST and FOLLOW set as specified:    9 
            E à TE’
            E’ à +TE’ | e
            T à FT’
            T à *FT’ | e
            T à (E) | id
            (i)         FIRST (E)       (ii)        FIRST (E’)      (iii)       FIRST (T’)
            (iv)       FOLLOW (E) (v)        FOLLOW (T) (vi)       FOLLOW (F)

Q-2      Attempt any three of the following:         8
a.       Compare load-time dynamic linking and run-time dynamic linking.
b.      Discuss briefly the phases in the compilation process.
c.       Discuss various addressing modes with example.
d.      Discuss functionality and processing of re-entrant procedures.

Q-3      Write short notes on (Any Three):          8
a.       Data Structures maintained by the complier and their usage in different phase of the compiler.
b.      Comparison between 2-pass assembler and 1-pass assembler.
c.       Compare processing of macros written in assembly program with that of pre-processor directives used in higher level language like C.

SECTION II


Q-4      Write short notes on:                9
a.       Compare absolute loading, re-locatable loading and dynamic run-time loading.
b.      Major steps in designing of a device driver under UNIX.
c.       Functionality of a 2-pass assembler.
d.      Data structures for a linker module.

Q-5      Attempt any three of the following:            8
a.       Discuss functionality of a linker.
b.      Discuss symbol-table management techniques used with assembler and compilers.
c.       Discuss concept of macros. How are they expanded and what data structures are needed in processing macros?
d.      Discuss using proper block diagram the relationship between a device, a controller, a bus and memory. Show the role of a device driver in this scenario.

Q-6      Attempt any three of the following:             8
a.       Demonstrate the functionality of assembler taking an example of a small program to find greater of two integers written in 8085 assembly.
b.      Demonstrate using block-diagram the usage of complier, linker and loader in the process of making and running executable program from a source program in C program.
c.       Demonstrate the interface of C and assembly language programs. Show how they are complied/assembled and made to run and what roles are played by each of the complier and the assembler.
d.      Using the file system and the device driver, construct a complete picture as to how an operating system can perform the read/write operations on behalf of the application program.