Compare commits

..

2 Commits

Author SHA1 Message Date
ab8093cc6c CI install pymdown-extensions from pip
All checks were successful
Build documentation / build-and-deploy (push) Successful in 26s
2026-01-16 20:28:26 +01:00
ddbb66b5e4 Docs processes overview 2026-01-16 20:26:23 +01:00
5 changed files with 37 additions and 2 deletions

View File

@@ -25,7 +25,7 @@ jobs:
- name: Install mkdocs - name: Install mkdocs
run: | run: |
pip install --upgrade pip pip install --upgrade pip
pip install mkdocs mkdocs-material pip install mkdocs mkdocs-material pymdown-extensions
- name: Build - name: Build
run: make docs run: make docs

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

@@ -0,0 +1,30 @@
# Overview of processes in MOP3
## What is a process?
A process is a structure defined to represent an internal state of a user application's environment. This includes
the necessary stacks, code, data and other resources. A process (usually) has it's own address, but in certain
circumstances may share it with another process.
## Only processes vs. processes-threads model
### Overview
MOP3 doesn't have a process-thread separation. Ususally in operating systems you'd have a "process", which consists
of multiple worker threads. For eg. a single-threaded application is a process, which consists of one worker. In MOP3
we do things a little differently. We only have processes, but some processes may work within the same pool of (generally speaking)
"resources", such as a shared address space, shared memory allocations, mutexes and so on. An application then consists of
not threads, but processes, which are loosely tied together via shared data.
#### Processes-threads model diagram
![Processes-threads model](assets/images/processes-threads.png)
#### Only processes model diagram
![Only processes model](assets/images/only-processes.png)
## 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)

View File

@@ -1,7 +1,12 @@
site_name: MOP3 documentation site_name: MOP3 documentation
theme: theme:
name: readthedocs name: material
highlightjs: true highlightjs: true
repo_url: https://git.kamkow1lair.pl/kamkow1/mop3.git repo_url: https://git.kamkow1lair.pl/kamkow1/mop3.git
markdown_extensions:
- attr_list
- md_in_html
- pymdownx.blocks.caption