Commit Graph

44 Commits

Author SHA1 Message Date
Matheus 7a533242ad scheduler: make idle cpus steal work 2026-09-16 00:22:05 -03:00
Matheus a11406a600 scheduler: load balancing initial implementation 2025-08-25 22:41:20 -03:00
Matheus 7a890ac41d scheduler: continue work 2025-08-23 13:54:45 -03:00
Matheus dbebef0e03 scheduler: implement nice 2025-08-21 18:46:58 -03:00
Matheus 136c86354c scheduler: continue rework 2025-08-20 22:00:25 -03:00
Matheus 5098c09f26 scheduler: begin rework 2025-08-19 00:44:14 -03:00
Matheus 0bff52b41e sched: finish preparing scheduler for rewrite 2024-09-21 23:06:37 -03:00
Matheus cc6477d46d proc: separate from sched 2024-09-21 22:43:16 -03:00
Matheus a56bfd2134 scheduler: sched_reschedule_on_cpu 2024-09-17 23:23:11 -03:00
Matheus e058d62261 cpu: change _cpu()->thread calls to current_thread() to fix smp race 2024-09-15 17:47:26 -03:00
Matheus 31c7cf881c signal: add signal_returnmask and other fixes 2024-09-12 22:08:57 -03:00
Matheus caec7d4daa sigsuspend: proper behaviour 2024-09-09 18:05:54 -03:00
Matheus 909ef74597 signals: signal_wait 2024-09-08 15:41:54 -03:00
Matheus 2e302a4d38 signal: way to signal all processes 2024-09-05 16:36:52 -03:00
Matheus 50b4b45d00 kernel: usercopy functions 2024-06-09 19:31:26 -03:00
Matheus 9260c8cb96 scheduler: use a linked list for threads in a process instead of a table 2024-05-29 12:55:10 -03:00
Matheus 5f7791cd08 syscalls: fchdir, setitimer, getitimer 2024-05-29 11:14:07 -03:00
Matheus 6bc3747856 scheduler: sched_terminateprogram() 2024-05-22 17:10:33 -03:00
Matheus 8e1033f170 waitpid: implement WSTOPPED and WCONTINUED 2024-05-22 13:48:21 -03:00
Matheus 7b0cc4c51b initial signal implementation 2024-05-14 15:04:48 -03:00
Matheus bf841406d5 semaphore: signal safety 2024-05-08 20:13:12 -03:00
Matheus f2f7a629cc file: use mutex for locking rather than spinlock 2024-05-07 18:52:05 -03:00
Matheus 05049a091f job control: sessions and process groups 2024-05-01 21:42:38 -03:00
Matheus e0c2cd9a2a scheduler: pid refcount 2024-04-28 18:45:43 -03:00
Matheus 6d04deeac9 kernel: expose threads to userspace (newthread and threadexit syscalls) 2024-04-14 16:12:52 -03:00
Matheus d33ef16f87 scheduler: sched_stopotherthreads() 2024-04-14 13:21:54 -03:00
Matheus d3b17b90b9 exit syscall: stop other threads 2024-04-14 13:12:28 -03:00
Matheus 55f407da08 scheduler: handle interruptions in sched_yield() when sleeping as to prevent lost wakeup 2024-04-14 12:42:43 -03:00
Matheus 52ab80bc9a scheduler: better define wakeup reasons 2024-03-30 18:39:26 -03:00
Matheus 57c94ebf15 smp: let other processors run threads 2023-11-30 17:54:32 -03:00
Matheus 6d8c0c30cf scheduler: sched_usleep 2023-10-15 20:58:10 -03:00
Matheus e4d2b8f657 scheduler: cpu target 2023-07-09 12:00:29 -03:00
Matheus 300e77e36d syscalls: umask 2023-07-06 21:17:54 -03:00
Matheus 7e7504cde7 scheduler: sched_setroot and sched_setcwd 2023-06-27 19:34:45 -03:00
Matheus 1256960e78 scheduler: fix newproc() unitialized variable 2023-06-12 21:13:55 -03:00
Matheus b9fe4cc3b1 kernel: exit syscall 2023-05-30 10:32:58 -03:00
Matheus 311fd65a1c scheduler: add STACK_TOP and INTERP_BASE definitions to header 2023-05-29 07:51:16 -03:00
Matheus 8e59a38e4c scheduler: thread sleep queue pointers 2023-05-15 22:38:03 -03:00
Matheus cfdab9598d scheduler: getcwd, getroot, and initialise process cwd and root to vfsroot 2023-05-09 23:25:56 -03:00
Matheus e785da6cb3 kernel: file_t, fd_t and a few helper functions 2023-05-09 00:13:51 -03:00
Matheus 8c3b2f4947 kernel: syscalls 2023-05-07 20:22:51 -03:00
Matheus 433155bb74 scheduler: sleeping support 2023-05-03 20:19:05 -03:00
Matheus b4c98c4a47 vfs: initial implementation 2023-04-30 21:13:59 -03:00
Matheus 5d33fe828f scheduler: initial implementation 2023-04-27 23:34:57 -03:00