Getting to userspace - and back !

1 · Johan Manuel · Sept. 28, 2019, 10 p.m.
Before now, SnowflakeOS ran entirely in kernel mode, or ring 0. Now, the time has come for it to move on to better places, those of userland, also called ring 3. The transition to having processes roam free in ring 3 was mostly made in the series of commits from here to there, and I encourage readers[1] to check them out. What’s a process, anyway? Well, as of right now, a process is described by the following structure: typedef struct _proc_t { struct _proc_t* next; uint32_t pid; /...