UNIX Interview Questions and Answers Part D

26.  What are the bits that support the demand paging?

Valid, Reference, Modify, Copy on write, Age. These bits are the part of the page table entry, which includes physical address of the page and protection bits.

Page address
Age
Copy on write
Modify
Reference
Valid
Protection

27.  How the Kernel handles the fork() system call in traditional Unix and in the System V Unix, while swapping?

            Kernel in traditional Unix, makes the duplicate copy of the parent’s address space and attaches it to the child’s process, while swapping. Kernel in System V Unix, manipulates the region tables, page table, and pfdata table entries, by incrementing the reference count of the region table of shared regions.

28.  Difference between the fork() and vfork() system call?

            During the fork() system call the Kernel makes a copy of the parent process’s address space and attaches it to the child process.

      But the vfork() system call do not makes any copy of the parent’s address space, so it is faster than the fork() system call. The child process as a result of the vfork() system call executes exec() system call. The child process from vfork() system call executes in the parent’s address space (this can overwrite the parent’s data and stack ) which suspends the parent process until the child process exits.

29.  What is BSS(Block Started by Symbol)?

            A data representation at the machine level, that has initial values when a program starts and tells about how much space the kernel allocates for the un-initialized data. Kernel initializes it to zero at run-time.

30.  What is Page-Stealer process?

            This is the Kernel process that makes rooms for the incoming pages, by swapping the memory pages that are not the part of the working set of a process. Page-Stealer is created by the Kernel at the system initialization and invokes it throughout the lifetime of the system. Kernel locks a region when a process faults on a page in the region, so that page stealer cannot steal the page, which is being faulted in.

31.  Name two paging states for a page in memory?

The two paging states are:

        >      The page is aging and is not yet eligible for swapping,

        >      The page is eligible for swapping but not yet eligible for reassignment to other virtual address space.

32.  What are the phases of swapping a page from the memory?

        >      Page stealer finds the page eligible for swapping and places the page number in the list of pages to be swapped.

        >      Kernel copies the page to a swap device when necessary and clears the valid bit in the page table entry, decrements the pfdata reference count, and places the pfdata table entry at the end of the free list if its reference count is 0.

33.  What is page fault? Its types?

            Page fault refers to the situation of not having a page in the main memory when any process references it.

There are two types of page fault :

        >      Validity fault,     

        >      Protection fault.

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

            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.

35.  What is validity fault?

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.

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

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.


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

        >      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”.



38.  In what way the validity fault handler concludes?

        >      It sets the valid bit of the page by clearing the modify bit.

        >      It recalculates the process priority.



39.  At what mode the fault handler executes?

            At the Kernel Mode.

40.  What do you mean by the protection fault?

            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.

No comments:

Post a Comment