Smetana
Version One Beta
|
|
One kernel, One terminal
About
An OS using the x86_64 architecture, in Assembly and C. Designed for performance and it's lightweight size. It is a work in progress, and is not recommended for daily use.
I chose to name it "Smetana" because I don't fucking know.
Core Hardware Concept
The OS is equiped with GDT (Global Descriptor Table) initialization, IDT (Interrupt Descriptor Table) automatic setup and a very bad keyboard driver implementation, that kinda works.
It skips ticks sometimes and can cause to skip some keys you typed. Perfect, I love this feature. It also has a CPU identification and hardware detection logic (QEMU and VirtualBox support). Simple but useful. The purpose of the OS is to run it in a virtual machine anyway. I'll plan to write code for baremetal, intel as well as amd. If you want arm, quit.
Usage
The kernel can boot an Intel PC-compatible virtual machine in 32-bit protected mode, with support for VESA framebuffer graphics, ATA hard disks, ATAPI optical devices, process management, memory protection, simple graphics, and basic filesystem. From there, it's your job to write user-level programs and expand the system.