Merge implementations of priority scheduling by Themis and Saleh #11

Closed
td1223 wants to merge 14 commits from task1/priority-scheduling into task1/merged/priority-scheduling

14 Commits

Author SHA1 Message Date
Demetriades, Themis
fd5143110f Merge branch 'task1/merged/priority-scheduling' into 'task1/priority-scheduling'
# Conflicts:
#   .gitignore
#   src/threads/synch.c
#   src/threads/thread.c
2024-10-17 17:58:13 +00:00
Themis Demetriades
e38e1400a2 Update singleton_sema_priority_greater function description for clarity 2024-10-17 09:24:49 +01:00
Themis Demetriades
810a5376b9 Implement priority scheduling for condition variables 2024-10-17 08:55:29 +01:00
sBubshait
88967acdaa Update cond_wait to insert into waiters list in sorted order of priority 2024-10-17 08:53:53 +01:00
Themis Demetriades
c32a69a368 Update repository settings to ignore shell scripts 2024-10-15 17:00:02 +01:00
Themis Demetriades
163b7f9016 Update setting of priority of threads to only yield when current thread's priority has been lowered 2024-10-15 15:38:31 +01:00
Themis Demetriades
3c1a26b668 Update setting of thread priorities to yield in case a higher priority thread requires control 2024-10-15 15:14:05 +01:00
Themis Demetriades
54b46806ba Update thread creation to yield thread in case it's no longer the highest priority 2024-10-15 15:12:01 +01:00
Themis Demetriades
6855a48603 Update semaphore code to wake highest priority thread, and run if required 2024-10-15 13:53:48 +01:00
Themis Demetriades
79061fcb9b Update thread module to maintain list of ready threads in descending order of priority 2024-10-15 13:51:41 +01:00
Themis Demetriades
d4d5a7a937 Update thread_priority_greater function signature to explicitly signal unused parameter 2024-10-15 12:01:03 +01:00
Themis Demetriades
f1fa7d2ffb Reformat thread_priority_greater to fit code style 2024-10-15 11:51:40 +01:00
Themis Demetriades
1821d73b09 Add comparison function for thread list elements based on thread priority 2024-10-15 11:50:04 +01:00
Themis Demetriades
4ed64cf173 Add guard in thread_set_priority ensuring priority values are within correct range 2024-10-15 10:47:38 +01:00