Skip to content

NyxOS v5.7.0 — Per-fd offsets / streaming file I/O

Choose a tag to compare

@kazah-png kazah-png released this 03 Jul 03:19
· 1020 commits to master since this release

v5.7.0 — Per-fd offsets / streaming file I/O

New

  • Per-fd byte offsets: Userspace fd table tracks byte offset per open fd, advanced by each SYS_READ/SYS_WRITE — enables streaming reads and append writes from ring 3
  • vfs_pread / vfs_pwrite: Offset-aware variants that grow + zero-fill without discarding existing content. Kernel-internal vfs_read/vfs_write (offset 0) unchanged

Fixed

  • snprintf: Added missing format specifiers %%c, %%ld/%%lx/%%lu, %%p\ — fixes File Manager names showing as garbage (%%A) and calculator display (%%ld)
  • VFS readdir: Implemented (was stub returning NULL). Directories now browsable from File Manager
  • vfs_open: Now accepts directories (removed type != 0 check)
  • vfs_write_file: Auto-creates files if they don't exist
  • Calculator: Window height fixed to include missing top margin (204→212)
  • Editor: Default save path changed to absolute /home/user/untitled.txt
  • Heap bug: kmalloc fell back to heap on slab miss for sizes 505-1016 B; added missing 1024 slab class; dual magics for correct kfree routing
  • Process reaping: exec now frees page directory, stacks, and process_t on exit
  • SYS_WRITE: Routes file fds (≥3) through ufd table to vfs_write

Compositor

  • Workspace switching: Ctrl+1..4 (bare digits are passed to terminal/calculator)
  • Removed WASD mouse cursor debug movement
  • Reduced pause loop 2M→100K for better responsiveness
  • About window: NyxOS Nightfall text