EnderIce2
86a119ea51
scheduler: Fix page table switch for scheduler
...
The userspace process may map pages where the kernel has allocated data and cause a crash.
This patch fixes this issue by having a separate IRQ handler which sets the kernel page table at the start of SchedulerInterruptHandler() and restores it in SchedulerHandlerStub() function.
2024-11-17 03:11:20 +02:00
EnderIce2
99292467ed
task: Remove redundant code
...
NewLock(SchedulerLock);
2024-10-26 03:54:46 +03:00
EnderIce2
f57ad7fc81
task: Implement new process state
...
Added "Frozen" for vfork implementation.
2024-10-20 03:00:34 +03:00
EnderIce2
396ad681ba
tty: Fix kcon & tty implementation; Add stub ptmx
2024-10-13 13:00:22 +03:00
EnderIce2
93e8e3f354
linux: Fix broken process limits implementation
2024-10-13 02:19:26 +03:00
EnderIce2
6801475243
Refactor filesystem & stl code
2024-05-18 07:42:01 +03:00
EnderIce2
daccdaeeae
Implement process resource limits
2024-04-02 05:52:43 +03:00
EnderIce2
473821bfa8
Implement process file mode creation mask
2024-04-01 00:47:33 +03:00
EnderIce2
3dc1981820
Implement VirtualAllocation class
2024-03-27 19:51:15 +02:00
EnderIce2
3d1ecc3db0
Rework signal handling code
2024-03-25 23:21:27 +02:00
EnderIce2
ab8ca388bb
Add GetThread() function to PCB class
2024-03-25 15:12:21 +02:00
EnderIce2
2ffd8e3c34
Refactor gsTCB struct for debugging and update usage in related files
2024-03-13 03:41:12 +02:00
EnderIce2
0c0ee01f35
Add Flags field to gsTCB struct
2024-03-10 22:05:22 +02:00
EnderIce2
7c4adccf8d
Fix stack align
2024-03-05 00:47:08 +02:00
EnderIce2
d3a16469ad
Revise PID and TID generation to align with standards
2024-03-02 00:51:06 +02:00
EnderIce2
df457e8097
Refactor task scheduler
2024-03-01 22:56:50 +02:00
EnderIce2
ddad5ca38a
Remove ELFSymbolTable from PCB
2024-02-28 06:11:31 +02:00
EnderIce2
96daa43d38
Update kernel
2024-01-19 06:47:42 +02:00
Alex
889e1522a3
Restructured and rewritten entire codebase
2023-10-09 01:16:24 +03:00
Alex
446a571018
Tasking is now working under 32-bit
2023-09-07 04:22:34 +03:00
Alex
6d95cd5261
Rework for APIC & added support for x2APIC
2023-08-31 01:07:55 +03:00
Alex
8898791257
Update kernel code
2023-08-22 06:21:17 +03:00
Alex
2c51e4432f
Update kernel
2023-08-06 04:53:14 +03:00
Alex
85c0de688d
Fix sleep syscall
2023-06-11 01:36:39 +03:00
Alex
41db477173
Update kernel
2023-06-10 13:11:25 +03:00
Alex
061363d85d
Fix fork() syscall
2023-05-22 00:43:45 +03:00
Alex
80980ecfaf
Move drivers to kernel
2023-05-19 07:27:42 +03:00
Alex
b68c8c18a5
Implement mb2 stub support
2023-05-09 04:57:17 +03:00
Alex
7d939c001b
Add process cwd
2023-05-05 19:40:01 +03:00
Alex
b0e0415b3e
Track which core was used to schedule
2023-05-05 18:45:28 +03:00
Alex
533b945e84
Save/Restore shadow GS too while scheduling tasks
2023-05-04 22:39:37 +03:00
Alex
61aea6aa8d
fork() stub and QoL improvements
2023-05-03 06:37:39 +03:00
Alex
299c919d1d
Add UserTime and KernelTime tracker
2023-04-25 05:12:58 +03:00
Alex
fcbb298077
Fix compiler warnings
2023-04-23 07:02:24 +03:00
Alex
70e11f17e7
Implement std::atomic and remove the old implementation Atomic and rename vector.hpp to vector
2023-04-10 05:29:41 +03:00
Alex
4e20d4d9f4
Enable compilation of project on AArch64 architecture
2023-04-04 16:06:54 +03:00
Alex
25256d81a8
Added license headers to all project files
2023-04-04 02:19:05 +03:00
Alex
bb862bf600
Move PEXIT and TEXIT to task.hpp
2023-03-27 20:37:58 +03:00
Alex
1266764aec
Process cleanup should be done by a thread
2023-03-27 02:50:57 +03:00
Alex
f86f3d9293
Rename std functions to match the standard
2023-03-23 04:56:49 +02:00
Alex
5c91f23527
x32 is now compiling
2023-03-04 21:17:19 +02:00
Alex
75883030ad
Renamed "interrupts.hpp" to "ints.hpp"
2023-02-28 12:58:09 +02:00
Alex
df24131e48
Added last task ticks counter
2023-02-27 17:44:10 +02:00
Alex
51b0e3b5a8
Changed scheduler priorities
2023-02-15 07:21:08 +02:00
Alex
47a10df568
Added GetSchedulerTicks()
2023-02-14 03:52:42 +02:00
Alex
b104511241
Added GetProcessByID and GetThreadByID
2023-02-07 04:55:26 +02:00
Alex
a592b85ce5
Updated kernel (tl;dr: improved filesystem, tasking, loading files, etc..)
2023-02-06 19:35:44 +02:00
Alex
1297aecc8a
Added "DoNotCreatePageTable" boolean to CreateProcess
2023-01-09 17:19:06 +02:00
Alex
4501826025
Kernel now uses SSE instructions properly
2023-01-03 06:36:15 +02:00
Alex
3f166b97c7
Improved shutting down procedure
2022-12-29 05:25:43 +02:00