UEFI applications
- UEFI is a pre-OS environment, aka, BIOS
- Our execution phase (called "DXE") is:
- single threaded; no thread or process
- ring-0 and long-mode
- single flat address space
- Why
- Less waste of system resources
- OS agnostic deigns and dev environment
- No need to worry about compatibility with OS
- Easy to access hardware features
- Well documented API
- Why would we need an OS?