(55 points total)
After much hype and an initial public stock offering, MicroScape
Communications Corporation has raised 17 Billion Dollars in capital
to finance development of a new computer operating system and
application environment that they claim will rapidly replace all
existing operating systems and provide the base needed to run all of
the applications anyone might care to run for the next century.
If such claims were practical, and assuming you accepted a job with
this company to design their system, answer the following questions
about your design and justify your choices:
- (10 points) How would you structure the kernel? What services
will be provided by the kernel, what services will be provided by
servers outside the kernel, and what services will be provided by
application libraries? Why would you structure the kernel this way?
- (10 points) How would you distribute the functions of the system
across the different processors in the system? Would you have a
single distributed kernel, multiple independent kernels, or a
combination of the two approaches? What about non-kernel functions?
Why would you distribute the functions of the system in this manner?
- (25 points) What are the scalability issues that must be
addressed to provide such a system that will ``tie together all of the
world's computers into a single system''? Consider the effect of scale
on naming and security, as well as other parts of the system. How
would you address these problems? What new problems are introduced by
your solution, and how would you address those? Iterate (i.e. keep
solving the new problems introduced at each stage until no problems
remain to be solved).
- (10 points) How would you deploy such a system? In particular,
how would you make it easy for users of other systems to switch to
your system? Would the transition be gradual, or will users have to
buy into your system all at once? What are the advantages of your
approach? What are the disadvantages?