Skip to content

Commit b216ea8

Browse files
authored
Update README.md
1 parent 5f26fb4 commit b216ea8

File tree

1 file changed

+161
-2
lines changed

1 file changed

+161
-2
lines changed

README.md

Lines changed: 161 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,161 @@
1-
# 32-Bit-Oprating-System-Own-Kernel-V0.01a1
2-
lightweight 32-bit operating system built on a custom kernel XuNet.SYS, focused on simplicity and learning
1+
2+
# XuNet OS — Fast. Independent. Crafted in Bare Metal.
3+
4+
**XuNet OS** is a blazing-fast, 32-bit custom operating system designed from the ground up with its own **independent kernel** (`XuNet`), bootloader, memory manager, shell, and GUI. Targeting the **x86 architecture**, it is built using **pure C and Assembly**, delivering a hands-on system-level computing experience.
5+
6+
Whether you're into retro computing, OS development, or low-level hardware exploration — **XuNet OS** is your playground.
7+
8+
---
9+
10+
## Key Features
11+
12+
| Feature | Description |
13+
|--------|-------------|
14+
| Custom Kernel | `XuNet` kernel – fully handcrafted, monolithic, runs independently of any existing OS |
15+
| GUI Framework | Custom graphical subsystem with support for windows, wallpaper, icons, and task rendering |
16+
| Bootloader | Written in Assembly – direct MBR boot with protected mode switch and kernel load |
17+
| File System | Custom FS (WIP) with sector-based read/write support, basic file structuring |
18+
| Keyboard Support | Scancode handling for English + Chinese layout via interrupt-driven input |
19+
| Timer + Interrupts | PIT (Programmable Interval Timer) and hardware interrupt handling (IRQ 0–15) |
20+
| Shell Interface | Command line shell for low-level interaction and internal command execution |
21+
| Built-in APIs | System-call layer for custom app development & GUI component interaction |
22+
| Shutdown Support | ACPI/APM shutdown routine implemented at system and kernel level |
23+
| Universal Video | VESA-compatible graphics mode (320x200 and higher) with direct framebuffer access |
24+
25+
---
26+
27+
## Technical Architecture
28+
29+
```plaintext
30+
+------------------------------+
31+
| User Applications (GUI) |
32+
+------------------------------+
33+
| XuNet System APIs |
34+
+------------------------------+
35+
| GUI & Shell Layer |
36+
+------------------------------+
37+
| Memory Management |
38+
| Filesystem Manager (WIP) |
39+
| Keyboard / Timer / IO |
40+
+------------------------------+
41+
| XuNet Kernel (32-bit) |
42+
+------------------------------+
43+
| Bootloader (Assembly) |
44+
| Real Mode → Protected Mode |
45+
+------------------------------+
46+
| Hardware (x86) |
47+
+------------------------------+
48+
```
49+
## Low-Level Mathematical Foundations
50+
- XuNet OS is not just another OS project—it is a carefully crafted system built upon foundational low-level mathematical principles that are often hidden beneath modern abstractions:
51+
52+
- Binary & Hex Arithmetic: Used throughout the kernel for bit-level `hardware manipulation`, `memory paging`, and `instruction control`.
53+
54+
- Modular Arithmetic: Employed in implementing cyclic structures such as timers, `scheduling`, and `keyboard scancode parsing`.
55+
56+
- Matrix and Vector Concepts: Utilized in early-stage `graphics rendering`, `pixel placement`, and `GUI transformations`.
57+
58+
- Address Calculations: Logical to `physical address mapping`, `memory segmentation`, and `paging tables` all rely on precise arithmetic and offset computations.
59+
60+
- Timing and Frequency Math: For implementing hardware clock timers and CPU cycle estimations.
61+
62+
- This mathematical rigor ensures XuNet OS runs efficiently on `low-spec hardware`, making it ideal for education, `embedded systems`, or `vintage computing experiments`.
63+
64+
---
65+
66+
## Version: `1.1.1af1`
67+
68+
### Changelog:
69+
- **Added full shutdown via APM**
70+
- Improved shell command parsing and UI rendering engine
71+
- Refactored memory allocation routines (stack-safe)
72+
- Fixed major wallpaper rendering bug
73+
- Partial file I/O for experimental filesystem
74+
- Integrated XuNet System API v0.2 with demo apps
75+
- Enhanced system exception handling (division-by-zero, page fault)
76+
77+
---
78+
79+
## Build & Run
80+
81+
### Requirements
82+
- NASM
83+
- GCC (32-bit cross-compiler)
84+
- `qemu`, `bochs`, or `virtualbox`
85+
- z_tools (customized for XuNet OS)
86+
87+
### ⚠️ Warning
88+
> Some `z_tools` binaries are modified. **Compare** them with the original "30 Days OS" CD version before replacing. Run a virus scan to ensure a clean dev environment.
89+
90+
### Commands:
91+
```bash
92+
git clone https://github.com/InboraStudio/XuNetOS-32-bit.git
93+
cd XuNet-OS
94+
make all # Build kernel and bootable image
95+
make run # Launch in QEMU
96+
make iso # Build ISO for burning
97+
```
98+
99+
---
100+
101+
## Screenshots
102+
103+
> *(Add real screenshots here once your GUI renders windows, terminal, etc.)*
104+
105+
---
106+
107+
## Learning Goals
108+
109+
XuNet OS aims to be:
110+
- A **bare-metal development platform**
111+
- A **tool for learning protected mode**, paging, and BIOS/UEFI transition
112+
- A **sandbox for writing system calls**, GUIs, and device drivers
113+
- An **open experiment** for students, hobbyists, and OS engineers
114+
115+
---
116+
117+
## Internals (Implemented & WIP)
118+
119+
| Subsystem | Status | Notes |
120+
|-----------------|--------|-------|
121+
| Bootloader || Real mode → protected mode |
122+
| Memorys/ Storage| ✅ | 50 MB Storage, 7MB Ram
123+
| Kernel Core || Stack, IDT, GDT, exceptions |
124+
| Timer/IRQ || PIT, interrupt mapping |
125+
| Shell CLI || Basic commands, parser |
126+
| Filesystem | ⚠️ WIP | Basic sector access only |
127+
| Keyboard Input || English + Chinese layout |
128+
| GUI System || Desktop, windows, buttons |
129+
| Mouse Input | ⚠️ WIP | Basic polling version |
130+
| Memory Manager || Paging & physical allocator |
131+
| APIs for Apps | ⚠️ EXP | System API v0.2 implemented |
132+
| Shutdown (APM) || Supports QEMU shutdown |
133+
| Virtualization || Works on QEMU / Bochs |
134+
135+
---
136+
137+
## Planned Features
138+
139+
- [ ] Mouse cursor driver + GUI focus events
140+
- [ ] Advanced file manager with directory support
141+
- [ ] App launcher and multitasking
142+
- [ ] Custom scripting language for CLI
143+
- [ ] FAT12/16 filesystem support
144+
- [ ] Installer for bootable USB
145+
146+
---
147+
148+
## References
149+
150+
- *30 Days to Make an Operating System* (Tanaka Hiroshi)
151+
- [OSDev.org](https://wiki.osdev.org/) — invaluable community wiki
152+
- Intel® 80386 Programmer’s Manual
153+
154+
---
155+
156+
## 🧑‍💻 Author
157+
158+
> **XuNet OS** is developed by Me in Inbora Studio.
159+
> Independent kernel, tools, and drivers all crafted from scratch for educational and experimental purposes.
160+
161+
---

0 commit comments

Comments
 (0)