CSCI 4320 (Principles of Operating Systems), Fall 2009:
Homework X

Credit:
Up to 20 extra-credit points.

General Instructions

Answer as many (or few) of the following questions as you like. (Notice, however, that you can receive at most 20 extra-credit points.)

I am also open to the possibility of giving extra credit for other work -- other problems from the textbook, a report on something course-related, etc. If you have an idea for such a project, let's negotiate (by e-mail or in person).

For this assignment, please work individually, without discussing the problems with other students. If you want to discuss problems with someone, talk to me.

Problems

For these problems, please submit hard copy (in my mailbox in the department office or under my door).

Problems from Chapter 9

Answer any or all of the following questions (from the textbook chapter on security).

  1. (Up to 2 points.) Answer question 1 on p. 713 of the textbook.

  2. (Up to 2 points.) Answer question 17 on p. 715 of the textbook. (Hint: What are the odds of being able to guess the password if you know its length? if you don't?)

  3. (Up to 2 points.) Answer question 18 on p. 715 of the textbook.

  4. (Up to 2 points.) Answer question 23 on p. 716 of the textbook.

  5. (Up to 2 points.) Answer question 27 on p. 716 of the textbook.

Essay Questions

Write a page or more of prose about one or more of the following questions, writing for an audience of fellow students. Include a short informal bibliography listing the source(s) of your information.

  1. (Up to 10 points) We talked briefly early in the semester about VM/370, an operating system that allows running multiple ``guest'' operating systems side by side. What are some other ways of accomplishing similar things? How do they work? (The discussion of virtualization in Chapter 8 of the textbook looks promising as a source of information.)

  2. (Up to 10 points) The computer industry has a history of guessing wrong about how much memory will be ``enough for anyone'' and therefore choosing a size for virtual/physical addresses that proves to be too restrictive -- with the result that at some point a transition to larger addresses must be made, while still allowing (as far as possible) programs using the older/smaller addresses to execute. Currently there are several features that allow processors to make use of more memory than can be addressed with 32 bits (e.g., PAE (``Physical Address Extensions'') and full 64-bit addressing). How do they work, and how do they (if they do) allow running programs that use 32-bit addressing?

Programming Problems

Do one or more of the optional programming problems from previous assignments. (No, you can't get credit again for ones you already did, and I'm trusting you not to turn in work based on sample solutions online.) Submit source code and other files by e-mail, as for previous assignments.



Berna Massingill
2009-12-14