RSSAmplifier

Blog

www.CodeRancher.Us

Code Wrangling at its Best

coderancher.usRSS feed ↗10 posts

Latest posts

Chapter 40 — Shell Job References with %1

Before reading the shell examples in this chapter, be explicit about the prompt transition: toyix is the kernel monitor. ush is the user shell. So when this chapter shows commands like: those commands must be typed inside the user shell after toyix run shell. Chapter 39 made /programs/ name usable as a launch target. That fixed Continue Reading "Chapter 40 — Shell Job References with %1"

Chapter 39 — Path-Based Program Launching with /programs

Before reading the shell examples in this chapter, be explicit about the prompt transition: toyix is the kernel monitor. ush is the user shell. So when this chapter shows commands like: those commands must be typed inside the user shell after toyix run shell. Two other constraints still apply in this chapter: So cat README Continue Reading "Chapter 39 — Path-Based Program Launching with /programs"

Chapter 38 — Turning /programs into a Real Directory

Before reading the shell examples in this chapter, be explicit about the prompt transition: toyix is the kernel monitor. ush is the user shell. So when this chapter shows commands like: those commands must be typed inside the user shell after toyix run shell. In Chapter 37, Toyix gained its first real directory support at Continue Reading "Chapter 38 — Turning /programs into a Real Directory"

Chapter 37 — Directories, SYS_READDIR, and ls

In Chapter 36, Toyix gained file metadata: The shell could now do: Now we are ready for the next filesystem milestone: This chapter adds: After this chapter: For compatibility with the previous chapters, /programs will remain a regular text file for now: The root directory / becomes the first actual directory. 1. What this chapter Continue Reading "Chapter 37 — Directories, SYS_READDIR, and ls"

Chapter 36.5 – A Testing Detour and a Real Smoke Harness

Chapter 36 added SYS_STAT, which was the right filesystem step. But it also exposed a testing problem that has been growing for a while. Right now, Toyix testing is split across three awkward places: That worked while the system was small. It does not scale well now that Toyix has: The biggest smell is that Continue Reading "Chapter 36.5 A Testing Detour and a Real Smoke Harness"

Chapter 35 — SYS_SEEK and Rewindable File Descriptors

In Chapter 34, Toyix gained its first tiny file layer: The shell could now do: But file descriptors were strictly forward-only. Once a file was read, its offset moved forward. There was no way to rewind, skip, or query position. This chapter adds: After this chapter, userland can do: And the shell gains a small Continue Reading "Chapter 35 — SYS_SEEK and Rewindable File Descriptors"

Chapter 34 — First RAMFS and Core File APIs

By the end of Chapter 33, Toyix could launch child processes, inspect child state from the shell, and request cooperative termination: At this point, Toyix can: The next major subsystem is files. This chapter adds the first tiny filesystem path: After this chapter, the user shell can do: This is not a disk filesystem yet. Continue Reading "Chapter 34 — First RAMFS and Core File APIs"

Chapter 33 — Process Termination and Kill Checks

By the end of Chapter 32, Toyix could launch child processes, wait for them, and keep exited children around as zombies until the parent collected them. For this chapter, we also extend the shell and syscall ABI just enough to inspect child state from user mode: That gives the shell basic process ownership and job-state Continue Reading "Chapter 33 — Process Termination and Kill Checks"

Chapter 32 — Process Ownership, Waiting, and Job State

In Chapter 32, the user shell gained: That let a user process launch another user process: The flow worked: But the process model was too loose. Any process could wait for any PID. This chapter tightens that up. We will add: After this chapter, a child process belongs to the process that launched it: Then: Continue Reading "Chapter 32 — Process Ownership, Waiting, and Job State"

Chapter 31 — SYS_EXEC, SYS_WAITPID, and Shell-Launched Programs

In Chapter 30, Toyix gained its first user-mode shell: But the shell could not launch programs yet. The kernel monitor could run programs: but the user shell could not. This chapter adds the first user-facing process-control syscalls: At first, SYS_EXEC still launches programs from the embedded program registry. We are not loading from a filesystem Continue Reading "Chapter 31 — SYS_EXEC,…