Overview



user software I/O



deadlocks



conditions for deadlock



solutions for deadlock

  1. don't try too hard to avoid it. E.g. if the situation is really unlikely, and other things cause greater unreliability, don't waste effort trying to avoid deadlock
  2. prevent processes holding resources from waiting, e.g. by requesting all resources at once, or by failing (gracefully) any process whose request cannot be granted
  3. allocate all resources in a fixed order, e.g. all printers before all disk drives, and devices of one class in ascending order. This works if (a) all processes obey this, and (b) such an order can be defined
  4. if resource requests are known in advance, can compute in advance (using the Banker's algorithm whether granting a request would make the system unsafe, and therefore refusing or delaying the request



PC Clock Hardware



Minix Clock Driver



Time of day support



Supporting Alarms and Watchdogs



Minix System Task



Supporting Fork and Exec



Minix kernel tasks



Virtual Memory in Minix



Minix I/O



Minix device drivers



Minix device driver threading



Minix device driver structure



Minix block driver



File and Block I/O structure



Block I/O operations



Scattered I/O operations



Partition Table

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 License.