Set - 4

Question 1 :

What do you mean by nice value?

Answer :

Nice value is the value that controls {increments or decrements} the priority of the process. This value that is returned by the nice () system call. The equation for using nice value is: Priority = ("recent CPU usage"/constant) + (base- priority) + (nice value) Only the administrator can supply the nice value. The nice () system call works for the running process only. Nice value of one process cannot affect the nice value of the other process.

Question 2 :

What are conditions on which deadlock can occur while swapping the processes?

Answer :

All processes in the main memory are asleep.
All 'ready-to-run' processes are swapped out.
There is no space in the swap device for the new incoming process that are swapped out of the main memory.
There is no space in the main memory for the new incoming process.

Question 3 :

What are conditions for a machine to support Demand Paging?

Answer :

Memory architecture must based on Pages, The machine must support the 'restartable' instructions.

Question 4 :

What is 'the principle of locality'?

Answer :

It's the nature of the processes that they refer only to the small subset of the total data space of the process. i.e. the process frequently calls the same subroutines or executes the loop instructions.

Question 5 :

What is the working set of a process?

Answer :

The set of pages that are referred by the process in the last 'n', references, where 'n' is called the window of the working set of the process.

Question 6 :

What is the window of the working set of a process?

Answer :

The window of the working set of a process is the total number in which the process had referred the set of pages in the working set of the process.

Question 7 :

What is called a page fault?

Answer :

Page fault is referred to the situation when the process addresses a page in the working set of the process but the process fails to locate the page in the working set. And on a page fault the kernel updates the working set by reading the page from the secondary device.
What are data structures that are used for Demand Paging?
Kernel contains 4 data structures for Demand paging. They are,
Page table entries,
Disk block descriptors,
Page frame data table (pfdata),
Swap-use table.

Question 8 :

What are the bits that support the demand paging?

Answer :

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
Copy on write

Question 9 :

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

Answer :

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.

Question 10 :

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

Answer :

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.

Question 11 :

What is BSS(Block Started by Symbol)?

Answer :

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.

Question 12 :

What is Page-Stealer process?

Answer :

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.

Question 13 :

Name two paging states for a page in memory?

Answer :

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.

Question 14 :

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

Answer :

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.

Question 15 :

What is page fault? Its types?

Answer :

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.