Set - 5

Question 1 :

In what way the Fault Handlers and the Interrupt handlers are different?

Answer :

Fault handlers are also an interrupt handler with an exception that the interrupt handlers cannot sleep. Fault handlers sleep in the context of the process that caused the memory fault. The fault refers to the running process and no arbitrary processes are put to sleep.

Question 2 :

What is validity fault?

Answer :

If a process referring a page in the main memory whose valid bit is not set, it results in validity fault. The valid bit is not set for those pages:
that are outside the virtual address space of a process,
that are the part of the virtual address space of the process but no physical address is assigned to it.

Question 3 :

What does the swapping system do if it identifies the illegal page for swapping?

Answer :

If the disk block descriptor does not contain any record of the faulted page, then this causes the attempted memory reference is invalid and the kernel sends a "Segmentation violation" signal to the offending process. This happens when the swapping system identifies any invalid memory reference.

Question 4 :

What are states that the page can be in, after causing a page fault?

Answer :

On a swap device and not in memory,
On the free page list in the main memory,
In an executable file,
Marked "demand zero",
Marked "demand fill".

Question 5 :

In what way the validity fault handler concludes?

Answer :

It sets the valid bit of the page by clearing the modify bit.
It recalculates the process priority.

Question 6 :

At what mode the fault handler executes?

Answer :

At the Kernel Mode.

Question 7 :

What do you mean by the protection fault?

Answer :

Protection fault refers to the process accessing the pages, which do not have the access permission. A process also incur the protection fault when it attempts to write a page whose copy on write bit was set during the fork() system call.

Question 8 :

How the Kernel handles the copy on write bit of a page, when the bit is set?

Answer :

In situations like, where the copy on write bit of a page is set and that page is shared by more than one process, the Kernel allocates new page and copies the content to the new page and the other processes retain their references to the old page. After copying the Kernel updates the page table entry with the new page number. Then Kernel decrements the reference count of the old pfdata table entry. In cases like, where the copy on write bit is set and no processes are sharing the page, the Kernel allows the physical page to be reused by the processes. By doing so, it clears the copy on write bit and disassociates the page from its disk copy (if one exists), because other process may share the disk copy. Then it removes the pfdata table entry from the page-queue as the new copy of the virtual page is not on the swap device. It decrements the swap-use count for the page and if count drops to 0, frees the swap space.

Question 9 :

For which kind of fault the page is checked first?

Answer :

The page is first checked for the validity fault, as soon as it is found that the page is invalid (valid bit is clear), the validity fault handler returns immediately, and the process incur the validity page fault. Kernel handles the validity fault and the process will incur the protection fault if any one is present.

Question 10 :

In what way the protection fault handler concludes?

Answer :

After finishing the execution of the fault handler, it sets the modify and protection bits and clears the copy on write bit. It recalculates the process-priority and checks for signals.

Question 11 :

How the Kernel handles both the page stealer and the fault handler?

Answer :

The page stealer and the fault handler thrash because of the shortage of the memory. If the sum of the working sets of all processes is greater that the physical memory then the fault handler will usually sleep because it cannot allocate pages for a process. This results in the reduction of the system throughput because Kernel spends too much time in overhead, rearranging the memory in the frantic pace.

Question 12 :

Explain different types of Unix systems.

Answer :

The most widely used are: 1. System V (AT&T) 2. AIX (IBM) 3. BSD (Berkeley) 4. Solaris (Sun) 5. Xenix ( A PC version of Unix)

Question 13 :

Explain kernal and shell.

Answer :

Kernal: It carries out basic operating system functions such as allocating memory, accessing files and handling communications. Shell:A shell provides the user interface to the kernal.There are 3 major shells : C-shell, Bourne shell , Korn shell

Question 14 :

What is ex and vi ?

Answer :

ex is Unix line editor and vi is the standard Unix screen editor.

Question 15 :

Which are typical system directories below the root directory?

Answer :

(1)/bin: contains many programs which will be executed by users
(2)/etc : files used by administrator
(3)/dev: hardware devices
(4)/lib: system libraries
(5)/usr: application software
(6)/home: home directories for different systems.

Question 16 :

Construct pipes to execute the following jobs.?

Answer :

1. Output of who should be displayed on the screen with value of total number of users who have logged in displayed at the bottom of the list.
2. Output of ls should be displayed on the screen and from this output the lines containing the word 'poem' should be counted and the count should be stored in a file.
3. Contents of file1 and file2 should be displayed on the screen and this output should be appended in a file.
From output of ls the lines containing 'poem' should be displayed on the screen along with the count.
4. Name of cities should be accepted from the keyboard . This list should be combined with the list present in a file. This combined list should be sorted and the sorted list
should be stored in a file 'newcity'.
5. All files present in a directory dir1 should be deleted any error while deleting should be stored in a file 'errorlog'.