Marquette University logo      

COSC 125 / COEN 183 Operating Systems
Final Examination, May 2009

 

Directions:

Read and follow the directions.

  • Write on five of the six questions. Each question is worth 20 points. If you write more than five questions, only the first five will be graded. You do not get extra credit for doing extra problems.
  • Read the entire exam. If there is anything you do not understand about a question, please ask at once.
  • If you find a question ambiguous, begin your answer by stating clearly what interpretation of the question you intend to answer.
  • Begin your answer to each question at the top of a fresh sheet of paper. [Or -5]
  • Be sure I can read what you write.
  • Write only on one side of a sheet.
  • Be sure your name is on each sheet of paper you hand in. [Or -5]

Problem 1 Acronyms and Definitions

For each acronym,

  1. Give the phrase for which the acronym stands (in the context of computer operating systems)
  2. Give a careful definition

If there is more than one correct answer (in the context of computer operating systems), I will accept any one correct answer.

Warning: A definition that starts "Z is when ...," or "Z is where ..." earns -5 points.

  1. PCB
  2. IPC
  3. SJF
  4. LWP
  5. MUTEX
  6. VFS
  7. NFS
  8. SCAN
  9. FTP
  10. TCP/IP

 

Problem 2 CPU Scheduling

  1. What are the criteria for selecting a good CPU scheduling algorithm? What does each mean?
  2. List and describe three CPU scheduling algorithms
  3. Which is best? Why?

 

Problem 3 TCI/IP

Aaron explained that the TCP/IP "stack" consists of four layers:

  1. Application (or Process) Layer
  2. Transport (or Host-to-Host) Layer
  3. Network (or Internet) Layer
  4. Physical (or Network Access) Layer

Assume that you are the programmer of an application that wants to send a message to some application on another machine whose IP address you know.

Describe what the TCP/IP stack does with your message from the point at which you make the operating system call send(...) until the message becomes signals in the Ethernet cable.

 

Problem 4 File Allocation

Figure 11.8 from our textbook illustrates indexed allocation of disk space.

[Insert Figure 11.8 here]

Explain disk file management using indexed allocation.

  1. Discuss the overall strategy of indexed allocation.
  2. What constitutes a file?
    Where is a file stored?
    How is a file accessed?
  3. What constitutes a directory?
    Where is a directory stored?
    How is a directory accessed?
  4. How is free disk space is managed?
  5. What are the advantages and disadvantages of indexed allocation?

If you don't know, make intelligent guesses based on the figure and your understanding of file management.

 

Problem 5 Tricky C Program

Here is a tricky C function that might appear in the context of XINU memory management:

     struct memblock
     {
             struct memblock *next;  // pointer to next memory block
             ulong           length; // size of memory block (incl. struct)
     };                     

     // Allocates space using getmem(), and automatically hides accounting
     //  info in the two words below the memory region.  This allows a
     //  corresponding call to free() not to require a request size parameter.
     void *malloc(ulong nbytes)
     {
             struct memblock *block;

             // Round request size to multiple of struct memblock.
             nbytes = (nbytes + 7) % sizeof(struct memblock);
             block  = getmem(nbytes);
             if (block = SYSERR ) return SYSERR;
             // Back point up one slot.
             block  = block - sizeof(struct memblock);
             // Store accounting info.
             block.next   = block;
             block.length = nbytes;
             // Return pointer to useful part of memory block.
             return (block + sizeof(struct memblock));
     }

What is wrong with this code?

Hint: The errors are many and varied. identify as many as you can.

 

Problem 6 Computer System Design

Design a computer system for an open computer laboratory such as Haggerty 482 or Cudahy 101.

You have a room with electrical power and furniture. You get one high-speed ethernet line to an ITS router. Everything else, you must specify, including computers, servers, operating systems, [application software], network, network protocol, file storage, printers, etc. Tell what you will specify, why, and give an approximate budget.

Hint: As in any design activity, you should begin by formulating requirements.

Yes, that question is far too large for this exam. What I really want you to do is

  1. Who are the customers/stakeholders in this design?
  2. List five customer requirements that are related to topics studied in this class.
  3. List five design questions/choices that are related to topics studied in this class.
    Give the design question and at least two alternative concepts.
    You do not have to make a choice.
    An example of a design question: Where are users' files stored?
  4. Choices: Give at least three alternative concepts for where users' files might be stored, including a couple sentence description of each.
    For each alternative, list advantages and disadvantages.
  5. Choices: Which of your alternative concepts for where users' files might be stored do you prefer?
    Why? (Should cite at least some of the customer requirements in part b)

 

 

 
  Marquette University. Be The Difference. Marquette | Corliss |