Tanenbaum and Van Renesse  define an operating system as a program that controls the resources of a computer system and provides its users with an interface or virtual machine that is more convenient to use than the bare machine. According to this definition, the two primary tasks of an operating system are as follows:
1. To present users with a virtual machine that is easier to program than the underlying hardware.
2. To manage the various resources of the system. This involves performing such tasks as keeping track of who is using which resource, granting resource requests, accounting for resource usage, and mediating conflicting requests from different programs and users.
Xinu is an example of an embedded operating system. It does not support loading programs from disk, but still provides operating system functionality like semaphores and multiprogramming.