Code: DC-14                                  Subject: SYSTEM SOFTWARE & OPERATING SYSTEM

Time: 3 Hours                                                                                                     Max. Marks: 100


NOTE: There are 9 Questions in all.

·      Question 1 is compulsory and carries 20 marks. Answer to Q. 1. must be written in the space provided for it in the answer book supplied and nowhere else.

·      Out of the remaining EIGHT Questions answer any FIVE Questions. Each question carries 16 marks.

·      Any required data not explicitly given, may be suitably assumed and stated.



Q.1       Choose the correct or best alternative in the following:                                         (2x10)


a.       The term ‘page traffic’ describes


                   (A) number of pages in memory at a given instant.

                   (B) number of papers required to be brought in at a given page request.

(C)   the movement of pages in and out of memory.

(D)  number of pages of executing programs loaded in memory.


b.      The “turn-around” time of a user job is the


(A)    time since its submission to the time its results become available.

(B)    time duration for which the CPU is allotted to the job.

(C)    total time taken to execute the job.

(D)    time taken for the job to move from assembly phase to completion phase.


             c.   Which of the following can be used as a criteria for classification of data structures used in language processing.


(A)    nature of  a data structure             (B)  purpose of a data structure

(C)  lifetime of a data structure             (D)  all of the above.


             d.   Memory utilization factor shall be computed as follows


(A)   memory in use/allocated memory.

(B)   memory in use/total memory connected.

(C) memory allocated/free existing memory.

(D) memory committed/total memory available.    


             e.   Program ‘preemption’ is


(A)     forced deallocation of the CPU from a program which is executing on the CPU.

(B)     release of CPU by the program after completing its task.

(C)     forced allotment of CPU by a program to itself.

(D) a program terminating itself due to detection of an error.




             f.    An assembler is


(A)     programming language dependent.

(B)     syntax dependant.

(C)     machine dependant.

(D)    data dependant.


             g.   Which of the following is not a fundamental process state


(A)     ready                                           (B)  terminated

(C)  executing                                      (D)  blocked


             h.   ‘LRU’ page replacement policy is


(A)    Last Replaced Unit.                      (B) Last Restored Unit.

(C)  Least Recently Used.                    (D) Least Required Unit.


             i.    Which of the following is true?


(A)   Block cipher technique is an encryption technique.

(B)   Steam cipher technique is an encryption technique.

(C)   Both (A) and (B).

(D)  Neither of (A) and (B).                


             j.    Which of the following approaches do not require knowledge of the system state?


(A)  deadlock detection.                      (B)  deadlock prevention.

(C)  deadlock avoidance.                     (D)  none of the above.



Answer any FIVE Questions out of EIGHT Questions.

Each question carries 16 marks.


  Q.2     a.   List the properties which a hashing function should possess to ensure a good search performance. What approaches are adopted to handle collision.                                                                       (8)


             b.   What is assembly language? What kinds of statements are present in an assembly language program? Discuss. Also highlight the advantages of assembly language.                                              (8)


  Q.3     a.   What is an expression tree? How is an expression evaluated using an expression tree? Discuss its advantages over the other evaluation techniques.                                                                   (8)          


             b.   Draw an expression tree for the string.


                   f + (x+y) *((a+b)/(c-d))


                   Indicate the register requirement for each node and list out the evaluation order for the expression tree.                                                                  (8)



  Q.4           Explain the following:-                         


(i)                  Elimination of common sub expressions during code optimisation.

(ii)                Pure and impure interpreters.

(iii)               Lexical substitution during macro expansion.

(iv)              Overlay structured program.

(v)                Facilities of a debug monitor.

(vi)              Actions of an interrupt processing routine.

(vii)             Real time operating system.

(viii)           Fork-join.                                                                        (2x8=16)


  Q.5     a.   List and explain the three events concerning resource allocation. Define the following:

(i)                  Deadlock.

(ii)                Resource request and allocation graph.(RRAG)

(iii)               Wait for graph (WFG) (6)


             b.   Compare pre-emptive and non-preemptive scheduling policies.                           (4)


             c.   A system contains 10 units of resource class Ru. The resource requirements of three user processes P1, P2 and P3 are as follows


                                                                              P1                  P2                P3

                   Maximum requirements                        8                     7                   5                    

                   Current allocation                                3                     1                   5

                   Balance requirements                           5                     6                   2

                   New request made                              1                     0                   0


                   Using Banker’s algorithm determine if the projected allocation state is safe and whether the request of P1 will be granted or not.                                (6)


  Q.6     a.   What is a race condition? Explain how does a critical section avoid this condition. What are the properties which a data item should possess to implement a critical section?                                        (6)


             b.   Describe a solution to the Dining philosopher problem so that no races arise.                      (4)


             c.   Discuss two main approaches to identify and reuse free memory area in a heap.                  (6)


  Q.7     a.   List the steps needed to perform page replacement. Explain the different page replacement policies. Also list out the main requirements, which should be satisfied by a page replacement policy. (8)


             b.   What is a protocol with respect to communicating processes? Describe blocking and non-blocking protocols. Give their respective advantages and disadvantages.                                           (8)

  Q.8     a.   What is an I/O buffer? What is the advantage of buffering? Is buffering always effective? Justify your answer with help of an example.                       (8)


             b.   Discuss the different techniques with which a file can be shared among different users.                     (8)


  Q.9     a.   Differentiate between protection and security. Explain the techniques used for protection of user files.                                                                     (8)


             b.   Discuss the issues, which need to be looked into in designing a distributed operating system.                                                                      (8)