Files
mop3/docs/processes_overview.md
kamkow1 360080b44e
All checks were successful
Build documentation / build-and-deploy (push) Successful in 1m18s
Generate docs for libs, update docs build process
2026-02-13 00:23:15 +01:00

22 lines
849 B
Markdown

# Overview of processes in MOP3
## What is a process?
A process represents a piece of executing code, has it's own stack and CPU state. Think of it as a "task". There are no
kernel processes, only userspace processes.
A process must be a member of a broader process group or procgroup for short.
## Procgroups
A procgroup owns things like memory, kernel resources and such. Processes work within the scope of a procgroup. Once all
procgroup's members die, the procgroup is considered unreachable and thus cleaned up.
## Scheduling
MOP3 uses a round-robin based scheduler. For now priorities are left unimplemented, ie. every processes has
equal priority, but this may change in the future.
A good explaination of round-robin scheduling can be found on the OSDev wiki: [the article](https://wiki.osdev.org/Scheduling_Algorithms#Round_Robin)