Homework 2: OS Kernels, Booting and System Calls, and C.

Assignment Day January 17, 2018
Due Date January 25, 2018 (Thursday)

Question 1 The Root of Mainstream OS Kernel Design:

Please read the 1992 Andrew Tanenbaum & Linus Torvald debate (see link).

  1. What was Tanenbaum's initial complaint(s) about the Linus kernel?
  2. What problem(s) did Linus have with MINIX?
  3. What is the conclusion - what is better - micro- or monolithic kernels (and why)?
  4. Read the "next" of the above and find out about open source and its contributors, interesting read. Add a paragraph on your thoughts after reading the link - thoughts should demonstrate some depth and that you read the text.
  5. Read the 2006/2008 (slash dot) and Part II of the debate - it is an ever ending debate, add another a paragraph on your thoughts after reading this text.

Question 2 Micro/Monolithic kernels of Mainstream Operating Systems.

a1) What are differences between Linux Mint, and Ubuntu which do you favor and why?
a2) Are they micro or monolithing kernels?

b1) What is the latest version of Mac?
b2) Is it a micro or a monolithic kernel?
b3) Outline Mac a timeline of MAC system going through major designs (in terms of the OS structure being micro or monolitithic)?

c1) What is the latest version of Windows?
c2) Is it a micro or a monolithic kernel?
c3) Outline a Windows a timeline going through major designs (in terms of being micro or monolitithic)?

Question 3 (Booting)

a. Outline the boot sequence with simple and brief bullet points - each step should be
one or two brief sentence[s]. include a diagram.

b. What is a typical size of the Master Boot Record - why this aconstraint?

Some useful web pages as a starting point:
http://en.wikipedia.org/wiki/Booting
http://www.goodells.net/multiboot/

Question 4 (System Call)


Contrast the mechanics of a system call in Linux and Microsoft Windows OS (you can pick any Windows System XP and newer). Highlight differences and similarities. You may discuss references/resources on the class list (Piazza).

Question 5


What are differences between standard (ANSI) C (current version C11), and POSIX C Library? Include discussing, open(), close(), threads, fopen() and fclose(), threads, and signals.

sumbit as a pdf file on nike in a folder called HW2.

submit HW2 csx730