Types of resources
Two general categories of resources: reusable and consumable.
Reusable resource: One that can be safely used by one process at a time and not depleted by the use. Later it can be used by some other process. Examples: processors, IOU channels, main and secondary memory, devices, files, databases, semaphores, locks.
Consumable resource: One that can be produced and consumed (destroyed). Examples: interrupts, signals, messages, information in IO buffers.