Handling concurrency
Traditional operating system
- multiple threads or processes
- file system
- virtual memory and paging
- input/output (buffering between CPU, memory, and I/O devices)
- interrupt handling (mostly with I/O devices)
- resource allocation and arbitration
- command interface (execution of programs)
Embedded operating system
- lightweight threads
- input/output
- interrupt handling
- real-time guarantees