Commit Graph
46 Commits
Author SHA1 Message Date
Themis Demetriades 1ca9d09512 Update exit () syscall to print correct termination message 2024-11-06 23:01:10 +00:00
Themis Demetriades b2764cfa0c Revert setup_stack pointer decrement 'hack' faking stack initialization 2024-11-06 22:46:11 +00:00
Themis Demetriades 4020a140d2 Fix removal of 'timer.h' include needed for calling timer_sleep in process module 2024-11-06 22:36:43 +00:00
Themis Demetriades b0c1923d44 Update stack argument initialization behaviour to terminate creation of process on failing memory allocations 2024-11-06 12:28:58 +00:00
Themis Demetriades b4c41b0a6a Remove superfluous include in process.c 2024-11-04 12:57:29 +00:00
Themis Demetriades 2a890d5bd2 Reformat calculation of padding size in stack set-up to increase clarity 2024-11-04 12:54:18 +00:00
Themis Demetriades 6c6ce77824 Implement complete stack initialization for user processes, without accounting for overflow 2024-11-04 01:11:19 +00:00
Themis Demetriades 6f9c911ebe Update start_process to pad process stack before pushing argv elements for performance 2024-11-04 00:19:36 +00:00
Themis Demetriades 62d2cb54e5 Update start_process to push pointers to process arguments onto the process thread's stack 2024-11-04 00:16:04 +00:00
Themis Demetriades 92c681ff02 Reformat start_process stack initialization code to follow style 2024-11-04 00:04:08 +00:00
Themis Demetriades 34d6c15d73 Update start_process to push process argument values to its thread's stack 2024-11-04 00:00:56 +00:00
Themis Demetriades e26b11cce6 Update setup_stack skeleton to fake minimal stack set-up for testing purposes 2024-11-03 18:04:42 +00:00
Themis Demetriades eb458efa59 Update process_wait skeleton to loop infinitely for testing purposes 2024-11-03 17:38:38 +00:00
Themis Demetriades 4066354f8a Refactor thread_create () to call thread_get_priority in order to retrieve priority 2024-10-25 17:03:18 +01:00
Themis Demetriades 95386971e2 Update lock_release to disable interrupts in critical sections w/ S 2024-10-23 16:45:42 +01:00
Themis Demetriades f9d82c92de Update thread_recalculate_priority to disable interrupts preventing race conditions for access to donors and priorities w/ S 2024-10-23 16:16:25 +01:00
Themis Demetriades 5f8dea21be Fix donate_priority to disable interrupts for entire update of possibly-ready donatee's priority 2024-10-23 14:10:48 +01:00
Themis Demetriades b0074c80f0 Refactor ready_list_reinsert to require being called with interrupts disabled 2024-10-23 13:51:07 +01:00
Themis Demetriades 2cd4da17a4 Refactor donate_priority to only allow for the current thread to donate its priority 2024-10-23 13:42:36 +01:00
Themis Demetriades a875d5fcb4 Update donate_priority to only attempt to sort position of the donee that isn't waiting for a lock 2024-10-23 13:37:43 +01:00
Themis Demetriades 7aec2e6862 Refactor donate_priority to include comments explaining its purpose and logic w/ S 2024-10-22 21:15:30 +01:00
Themis Demetriades 48104b3a41 Refactor cond_signal to add comment clarifying the logic w/ S 2024-10-22 20:57:18 +01:00
Themis Demetriades 6983ccdd3b Update thread_get_priority description comment to be more specific w/ S 2024-10-22 20:41:44 +01:00
Themis Demetriades fc1691f994 Refactor thread.h to remove superfluous thread priority comparison function w/ S 2024-10-22 20:36:37 +01:00
Themis Demetriades 21cbfc9fe0 Implement transfer of orphaned donors when releasing lock w/ S 2024-10-22 20:06:21 +01:00
Themis Demetriades a19d40bcca Reformat priority_more to obey code style 2024-10-22 19:01:55 +01:00
Themis Demetriades f10514f4cc Update priority_more comment description to specify which list_elem member it is compatible with 2024-10-22 18:59:19 +01:00
Themis Demetriades dae5b0d097 Update semaphore priority scheduling to use linear search on unordered list w/ S 2024-10-20 22:50:31 +01:00
Themis Demetriades 840df8af78 Fix bug in donate_priority that wouldn't update the list of donors w/ S 2024-10-20 22:29:20 +01:00
Themis Demetriades afcb12cef0 Reformat thread priority changing functions to follow style w/ S 2024-10-20 20:38:28 +01:00
Themis Demetriades 8e20884a23 Update releasing of locks to update donation information w/ S 2024-10-20 20:17:27 +01:00
Themis Demetriades ee0cf632b9 Fix attempt to donate priority within lock acquisition w/ S 2024-10-20 19:45:05 +01:00
Themis Demetriades f98e4bc81c Update lock_acquire to attempt donation of priorities, w/ S 2024-10-20 19:20:26 +01:00
Themis Demetriades fcc8cbb71e Implement initialization of new threads to track donation information, w/ S 2024-10-20 17:11:44 +01:00
Themis 6b9b671368 Update sema_up to properly yield during execution of an interrupt handler 2024-10-17 20:01:55 +01:00
Themis 711efdc78a Implement priority scheduling for condition variables 2024-10-17 19:43:35 +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