CSCI 3323 (Principles of Operating Systems), Fall 2021:
Reading Quiz 7

Credit:
15 points.

Reading

Be sure you have read, or at least skimmed, Chapters 35, 36, 37, 39, 40, and 46 of the textbook.

Instructions

Answer the questions below using only the course textbook -- no Web searches. It's okay to talk to classmates about this assignment as you usually do, but I want each person to do all the reading. Include the Honor Code pledge in what you turn in, either the full pledge or just the word “pledged”. (Please put this in the same document as your answers, so I don't overlook it.) For these quizzes by doing this you are also saying you have at least attempted all the reading it covers.

You may write out your answers by hand and scan them, or you may use a word processor or other program, but please submit PDF or plain text in the “turn-in” folder I set up for you on Google Drive. (So, no word-processor files and no links to other Google Docs. This is a change from how I've asked students to turn in work in previous semesters, meant to reduce both the chance of mistakes on my part and the amount of time I spend managing multiple file formats.)

Questions

  1. (2.5 points) In the simplified canonical model of an I/O device presented in the textbook, how does the O/S or other software tell the device what to do? how does it check device status? (I'm looking for something very high-level here.)

  2. (2.5 points) One way for the O/S to “do I/O” is for it to make a request and busy-wait until it's been completed. What are two alternatives and when are they preferable?

  3. (2.5 points) At the level of assembly-language code, there are two ways processors might communicate with I/O devices. What are they?

  4. (2.5 points) “Virtualizing storage” (i.e., managing the content of persistent devices) currently involves two key abstractions. What are they?

  5. (2.5 points) What system call is used in Linux/UNIX to create a file? What does the corresponding C library function return? How does it signal an error? (Hint: You may find it helpful to read the function's man page.)

  6. (2.5 points) In Linux/UNIX, what's the difference between a “hard link” and a “soft link”?




2021-12-09