-
-
Notifications
You must be signed in to change notification settings - Fork 5
Filesystem
Kazah edited this page Jul 5, 2026
·
10 revisions
Layered VFS over ramdisk and EXT2. POSIX-like API with 128-node pool.
See also: Drivers, Shell, GUI Subsystem, Architecture
Unified namespace with node pool (128 nodes). Path resolution relative to CWD.
-
vfs_open/read/write/close— file I/O -
vfs_readdir— directory listing (also on EXT2 mounts) -
vfs_getcwd/vfs_chdir— directory navigation (full absolute path) - Per-terminal CWD (each shell tracks its own directory)
Default filesystem from CPIO initramfs. Default tree:
/ bin/ dev/ etc/ home/user/ mnt/ root/ tmp/ usr/ var/
CPIO newc format (070701) embedded as C byte array. Generated by tools/mkinitramfs.py.
Read/write EXT2 driver via ATA PIO:
- Superblock, block groups, inode tables, directory entries
- Inode/block allocation, directory creation, file writes
- Mount at
/mntviavfs_mount - Fd-based I/O flushes to disk (persistent across reboot)
PIO mode, primary channel 0x1F0, IRQ 14, 28-bit LBA (up to 128 GB), polled I/O.
NyxOS v6.4.363 · GPL v2 · GitHub · uselessalter on Discord · nyxos@inbox.lv
NyxOS Wiki
Getting started
Kernel
Storage & network
Graphics & apps
Userspace
HOWTO
- HOWTO-Add-a-system-call
- HOWTO-Write-a-userspace-program
- HOWTO-Add-a-shell-command
- HOWTO-Add-a-GUI-application
Reference
- Syscall-Reference
- Command-Reference
- Hardware-Reference
- Format-Reference
- Kernel-Data-Structures
- Source-Tree-Reference
Project