dOS
Research OS written from scratch
Retro look, new code
![](assets/scr_2.png)
![](assets/scr_1.png)
OS Features
- Modern 64-bit Kernel
- Graphical User Interface
- 3D Graphics stack (DirectX 12, Vulkan, OpenGL)
- Network stack (TCP, UDP, IP, DHCP)
- USB stack (USB 3.0, USB 2.0)
- Audio stack (Server, Mixer)
- Win32 Subsystem (Run Windows applications!)
- Virtualization Hypervisor (Type-2)
- Terminal and Command Line Utilities
- FAT32 and NTFS
Supported Hardware
Videos and Screenshots
Kernel Features
- Pre-emptive multithreaded kernel
- Multi-core with hyperthreading (SMP, SMT)
- Virtual Memory
- Swap and copy-on-write support
- Mapped files and shared memory
- Automatic background paging (swapper)
- Process and memory protection (Kernel, User)
- Exception Handling (SEH, custom, try-catch)
- Virtual file systems with symbolic links
- Infinite file system cache
- Pipes and interprocess communication (IPC)
- Mountable and networked file systems
- DeviceFS, NetworkFS, PipeFS, RamDisk
- Extensible synchronization primitives
- Spinlock, Mutex, Futex, Event, Semaphore
- Asynchronous multiprocessing
- Deferred Procedure Calls (DPC)
- Asynchronous Procedure Calls (APC)
- PE executables and DLLs
- Loadable drivers and plugins
- WOW64: Running 32bit processes on 64bit systems
- Kernel Profiling
- Debugging
- Breakpoints and stack traces
- Symbols and source level debugging (PDB)
- Debugger support (LLDB)
Graphical User Interface
- Fast Window Manager
- DPI Scaling
- Shell and File Explorer
- Native UI controls and menus
- Optimized AVX/SSE drawing
- Transparent Windows
- Window Regions
- Themes
Transparent Windows with Complex Regions
![](assets/gui_1.png)
3D Graphics APIs
- DirectX 12 + Raytracing
- Vulkan 1.3 + Raytracing
- DirectX 11
- OpenGL
DirectX 12 (Raytracing)
![](assets/dx12_1.png)
Doom 3: BFG (OpenGL)
![](assets/doom3_1.png)
![](assets/doom3_4.png)
Win32 Subsystem
- Run Windows applications
- Apps work on dOS and Windows
- Most dOS apps are standard Windows apps!
- Native performance
- Win32 syscalls translated to native APIs
- Supported APIs
- UI: Win32 controls (partial)
- 3D: DirectX, Vulkan, OpenGL
- Audio: XAudio2
- Network: Winsock2
- Win32 and Win64 support
Virtualization Hypervisor
- Type-2 Hypervisor
- Emulated HW
- APIC, PIC, PIT, CMOS
- IDE Controllers
- Intel E1000 Network
- VirtIO (Disk, Console)
- KVM like interface
- Virtualized Ubuntu Linux (ala WSL2)
- Supported OS: Linux, Windows, FreeDOS
Ubuntu 64bit VM running on dOS
![](assets/ubuntu_2.png)
Windows VM running on dOS
![](assets/win_2.png)
Terminal and Command Line
- Terminals
- VT100 support
- Console attachments
- Command line utilities
- Cmd.exe + Base Utils
- Pipes
- Batch files
- Development Tools
- GCC, MAKE, NASM/YASM
- C# Native AOT
- Python 3
- clang, lldb
- Remote debugging with VS Code (LLDB)
Development Tools
dOS compiling itself, Python 3, C#
![](assets/dev_1.png)
Supported Hardware
- CPU: x64 / x86
- PCI, MSI, MSI-X
- Boot: UEFI, BIOS
- Disk: AHCI, IDE
- USB: XHCI (3.0), EHCI (2.0)
- Network: Intel E1000, Realtek 8169, Broadcom (BCM5722D)
- Sound: Intel HDA, Ensoniq ES3171
- Hypervisor: Intel VMX
Videos and Screenshots
(Please reload the page if any videos appear unavailable)
DirectX 12 Raytracing
Doom 3: BFG Edition
Demos
Self-hosting (compiling itself)