Andreas Kling
c70afd045e
Use a freelist for GDT entries.
...
Tweak the kmalloc space layout a bit. Get the spawn stress test up
and running again.
2018-11-01 16:23:12 +01:00
Andreas Kling
3a901ae36d
Way tighter locking in process creation.
...
We no longer disable interrupts around the whole affair.
Since MM manages per-process data structures, this works quite smoothly now.
Only procfs had to be tweaked with an InterruptDisabler.
2018-11-01 14:41:49 +01:00
Andreas Kling
52607aa086
Allow processes to go into a BeingInspected state (used by procfs.)
...
This ensures that the process won't get scheduled, and so inspecting
it is safe and easy without blocking interrupts.
2018-11-01 14:21:02 +01:00
Andreas Kling
fd03776443
Add a /proc/PID/fds text files that lists all the fds open in a process.
2018-11-01 14:00:28 +01:00
Andreas Kling
065f0aee35
Preallocate the maximum number of FileHandle pointers (fds) in every process.
...
This could even use a more specific data structure since it doesn't need the
grow/shrink capabilities of a vector.
2018-11-01 13:39:28 +01:00
Andreas Kling
fce81d376c
Move Region and Subregion out of Process and make them free classes.
2018-11-01 13:21:02 +01:00
Andreas Kling
3e532ac7b6
Process now maps regions immediately when they are allocated.
...
This avoids having to do a separate MM.mapRegionsForTask() pass.
Also, more Task => Process renaming that I apparently hadn't saved yet.
2018-11-01 13:15:46 +01:00
Andreas Kling
4e60551aec
Rename Task to Process.
2018-11-01 13:10:12 +01:00