Resources

Resources

Resource Management

  • in general, the kernel does not track resources, except for specific situations
  • does not keep track of tasks, unless they are active (care of taken by the scheduler) or blocked (care of taken indirectly by an alarm, if any).
  • advantage: save time and memory, no need for create() and delete() methods, memory for resources can be allocated automatically or manually –> freedom
  • disadvantage: resources must be tracked by the application.

Allocation and Deallocation

  • up to the application, see memory

Initialization

  • kernel assumes, that resources provided by the application are always in a valid state.
  • initialization is zeroing plus setting some members

Resource Leaks

  • must be prevented by the application

Resource Contention

  • must be resolved by the application
  • the kernel simply provides the means therefore, such as mutexes.