Please discuss/answer the following questions:
Discuss the need for dividing an operating system into at least two modes, user and kernel. What are the advantages and disadvantages associated with this division of labor?
What properties of a program enable it to be divided into pages? How is it possible for a program to execute with only a subset of these pages residing in the main memory at any given time?