Commit Graph

  • fa6dac2108 Implement halt system call w/ S. EDiasAlberto 2024-11-03 22:34:50 +00:00
  • 0bf5fdb0e5 Add syscall_function type definition for the different syscall handlers, w/ E sBubshait 2024-11-03 22:28:17 +00:00
  • e26b11cce6 Update setup_stack skeleton to fake minimal stack set-up for testing purposes Themis Demetriades 2024-11-03 18:04:42 +00:00
  • eb458efa59 Update process_wait skeleton to loop infinitely for testing purposes Themis Demetriades 2024-11-03 17:38:38 +00:00
  • 74efa5e652 Merge branch 'task1/themis/thread-create-refactor' into 'master' Task_1_-_Scheduling Saleh Bubshait 2024-10-25 16:56:31 +00:00
  • 4066354f8a Refactor thread_create () to call thread_get_priority in order to retrieve priority Themis Demetriades 2024-10-25 17:03:18 +01:00
  • 4c33653369 Merge branch 'task1/saleh/priority-donation-refactoring' into 'master' Demetriades, Themis 2024-10-25 15:57:22 +00:00
  • c2414ec54d Add priority_less for comparing threads based on priority and Refactor sema up to use list_max for clarity sBubshait 2024-10-25 16:04:55 +01:00
  • 30ab3ae861 Update thread_create to only yield CPU to the new thread if necessary sBubshait 2024-10-25 15:47:19 +01:00
  • 81309dcda9 Refactor sema_up to follow PintOS styling of if statements sBubshait 2024-10-25 15:44:56 +01:00
  • bbb62d2ee7 Merge branch 'gleb/fix-non-busy-sleep-bug' into 'master' Demetriades, Themis 2024-10-25 14:19:36 +00:00
  • f8bdd30f09 Merge branch 'gleb/bsd-priority-donation' into 'master' Demetriades, Themis 2024-10-25 14:19:18 +00:00
  • 869571108d Remove from sleeping_threads immediately, instead of when thread is scheduled Gleb Koval 2024-10-25 14:10:59 +01:00
  • 6e072a557f Allow priority donation with BSD scheduler. - Recalculate priority with donations after BSD priority updates - Remove mlfqs checks from lock_acquire Gleb Koval 2024-10-25 14:03:55 +01:00
  • af31968e67 Merge branch 'gleb/fix-bsd-ready-list-order' into 'master' Saleh Bubshait 2024-10-25 08:32:08 +00:00
  • 093c6efd30 Re-sort ready_list when priorities update + PRI_UPDATE_FREQ - PRI_UPDATE_FREQ is a separate value from TIME_SLICE, they just happen to be set the same. Gleb Koval 2024-10-25 09:13:19 +01:00
  • c4cefbc2d5 Merge branch 'merged-complete' into 'master' sb3923 2024-10-24 22:15:24 +00:00
  • b88baede64 rename recent_cpu update function EDiasAlberto 2024-10-24 22:45:49 +01:00
  • 7d196ffc57 adjust spacing around brackets to fit styling conventions EDiasAlberto 2024-10-24 22:30:38 +01:00
  • 39f4edd5e6 remove unnecessary curly brace in thread_tick () EDiasAlberto 2024-10-24 22:09:28 +01:00
  • 60acc2e58d refactor thread_mlfqs checks in synch.c EDiasAlberto 2024-10-24 21:46:39 +01:00
  • a6a0c4ad25 remove empty lines in thread.c EDiasAlberto 2024-10-24 20:47:30 +01:00
  • 74657bbf9c reorder init_thread for clarity EDiasAlberto 2024-10-24 20:34:44 +01:00
  • 0b230131f1 refactor thread struct to keep all changes together EDiasAlberto 2024-10-24 20:17:39 +01:00
  • 49a9284f02 refactor fixed-point.h to match style standards EDiasAlberto 2024-10-24 20:16:40 +01:00
  • e749936b1f Merge branch 'merged-complete' into 'master' Dias Alberto, Ethan 2024-10-23 19:05:45 +00:00
  • 20be75748c replace thread_mlfqs checks in priority calculations with assertions EDiasAlberto 2024-10-23 19:57:17 +01:00
  • d8c843f16a add mlfqs condition checking in synchronisation primitives EDiasAlberto 2024-10-23 19:37:27 +01:00
  • 1fb101c365 remove repeated comparator and reorder thread_init operations EDiasAlberto 2024-10-23 18:56:48 +01:00
  • c357126cc1 fix missing curly brace EDiasAlberto 2024-10-23 17:51:48 +01:00
  • 176750282f Merge branch 'BSD-merged' into 'master' Dias Alberto, Ethan 2024-10-23 16:34:39 +00:00
  • ed11c61f87 Merge branch 'master' into 'BSD-merged', fixing merge conflicts Dias Alberto, Ethan 2024-10-23 16:30:24 +00:00
  • 0cbae2a2e5 Merge branch 'task1/priority-donation' into 'master' Dias Alberto, Ethan 2024-10-23 16:15:44 +00:00
  • 95386971e2 Update lock_release to disable interrupts in critical sections w/ S Themis Demetriades 2024-10-23 16:45:42 +01:00
  • 4879775d0b Update donate priority to add an assertion that intrrupts are disabled, w/ T sBubshait 2024-10-23 16:32:40 +01:00
  • 6223846fde Update lock_acquire to disable interrupts to eliminate race-conditions, w/ T sBubshait 2024-10-23 16:30:38 +01:00
  • f9d82c92de Update thread_recalculate_priority to disable interrupts preventing race conditions for access to donors and priorities w/ S Themis Demetriades 2024-10-23 16:16:25 +01:00
  • 25ca7b6522 Merge branch 'task1/themis/priority-donation' into 'task1/priority-donation' Demetriades, Themis 2024-10-23 15:03:07 +00:00
  • 5f8dea21be Fix donate_priority to disable interrupts for entire update of possibly-ready donatee's priority Themis Demetriades 2024-10-23 14:10:48 +01:00
  • b0074c80f0 Refactor ready_list_reinsert to require being called with interrupts disabled Themis Demetriades 2024-10-23 13:51:07 +01:00
  • 2cd4da17a4 Refactor donate_priority to only allow for the current thread to donate its priority Themis Demetriades 2024-10-23 13:42:36 +01:00
  • a875d5fcb4 Update donate_priority to only attempt to sort position of the donee that isn't waiting for a lock Themis Demetriades 2024-10-23 13:29:45 +01:00
  • d82176a2e2 Refactor lock release to follow PintOS indent style and use list functoins, w/ T sBubshait 2024-10-22 22:52:29 +01:00
  • 7aec2e6862 Refactor donate_priority to include comments explaining its purpose and logic w/ S Themis Demetriades 2024-10-22 21:15:30 +01:00
  • 78c6fd36e3 Refactor sema_up to add comments for clarity, w/ T sBubshait 2024-10-22 21:04:14 +01:00
  • 48104b3a41 Refactor cond_signal to add comment clarifying the logic w/ S Themis Demetriades 2024-10-22 20:57:18 +01:00
  • 5549b9c0cb Refactor thread recalculate priority to add comments for clarity, w/ T sBubshait 2024-10-22 20:52:52 +01:00
  • bf6104200c Refactor thread set priority to remove unused variable and add comment, w/ T sBubshait 2024-10-22 20:47:34 +01:00
  • 6983ccdd3b Update thread_get_priority description comment to be more specific w/ S Themis Demetriades 2024-10-22 20:41:44 +01:00
  • fc1691f994 Refactor thread.h to remove superfluous thread priority comparison function w/ S Themis Demetriades 2024-10-22 20:36:28 +01:00
  • 244db41434 Update condvar to use linear search due to changes in priority from donations, w/ T sBubshait 2024-10-22 20:25:13 +01:00
  • 21cbfc9fe0 Implement transfer of orphaned donors when releasing lock w/ S Themis Demetriades 2024-10-22 20:06:21 +01:00
  • d9b9572631 Fix Bug in recalculating priority, uses 'elem' instead of 'donor_elem', w/ T sBubshait 2024-10-22 19:49:53 +01:00
  • a19d40bcca Reformat priority_more to obey code style Themis Demetriades 2024-10-22 19:01:55 +01:00
  • f10514f4cc Update priority_more comment description to specify which list_elem member it is compatible with Themis Demetriades 2024-10-22 18:59:19 +01:00
  • dae5b0d097 Update semaphore priority scheduling to use linear search on unordered list w/ S Themis Demetriades 2024-10-20 22:50:31 +01:00
  • 840df8af78 Fix bug in donate_priority that wouldn't update the list of donors w/ S Themis Demetriades 2024-10-20 22:29:20 +01:00
  • 7f7b1648cd Fix indentation in recalculate priority to match pintos style, w/ T sBubshait 2024-10-20 22:28:29 +01:00
  • 44de31c0ff Fix Bug in Implementation of recalculate priority setting base priority, w/ T sBubshait 2024-10-20 20:54:48 +01:00
  • afcb12cef0 Reformat thread priority changing functions to follow style w/ S Themis Demetriades 2024-10-20 20:38:28 +01:00
  • b1dba1a0bd Add implementation for recalculate effective priority, w/ T sBubshait 2024-10-20 20:37:03 +01:00
  • 8e20884a23 Update releasing of locks to update donation information w/ S Themis Demetriades 2024-10-20 20:17:27 +01:00
  • ee0cf632b9 Fix attempt to donate priority within lock acquisition w/ S Themis Demetriades 2024-10-20 19:45:05 +01:00
  • 343ac55d37 Implement priority donation helper function with propagation, w/ T sBubshait 2024-10-20 19:42:35 +01:00
  • f98e4bc81c Update lock_acquire to attempt donation of priorities, w/ S Themis Demetriades 2024-10-20 19:19:43 +01:00
  • 5a651f1279 Update implementation of thread set priority to account for donations, w/ T sBubshait 2024-10-20 18:06:07 +01:00
  • fcc8cbb71e Implement initialization of new threads to track donation information, w/ S Themis Demetriades 2024-10-20 17:11:44 +01:00
  • 8b1e0b9559 Add donation-related information to the thread structure, w/ T sBubshait 2024-10-20 17:04:14 +01:00
  • cbb9d52455 Recover removed comment Gleb Koval 2024-10-17 20:09:43 +01:00
  • 6b9b671368 Update sema_up to properly yield during execution of an interrupt handler Themis 2024-10-17 20:01:39 +01:00
  • bfdedc53e2 Update set priority so not to yield if no ready threads sBubshait 2024-10-17 19:46:10 +01:00
  • 711efdc78a Implement priority scheduling for condition variables Themis 2024-10-17 19:43:35 +01:00
  • c9a9d57019 Merge branch 'task1/priority-scheduling' into task1/merged/priority-scheduling sBubshait 2024-10-17 19:30:19 +01:00
  • fd5143110f Merge branch 'task1/merged/priority-scheduling' into 'task1/priority-scheduling' task1/themis/priority-scheduling Demetriades, Themis 2024-10-17 17:58:13 +00:00
  • 044c383a0f fix mlfqs tests, complete BSD scheduling Gleb Koval 2024-10-17 02:38:57 +01:00
  • c5e41db9b0 Implement BSD calculations - load_avg, recent_cpu, priority calculations - reduce frac bits to 14 - ignore thread_set_priority when BSD enabled Gleb Koval 2024-10-16 22:50:46 +01:00
  • a7a6d0b9d4 Fix fixed-point returns Gleb Koval 2024-10-16 19:48:00 +01:00
  • d5f913de2b implement recent_cpu EDiasAlberto 2024-10-16 18:27:21 +01:00
  • 630fbaa3ab implement thread_get_nice & thread_get_recent_cpu Gleb Koval 2024-10-15 19:56:46 +01:00
  • 82cc108c38 inline funcs instead of macros for fixed-point Gleb Koval 2024-10-15 19:41:29 +01:00
  • 337f8828d9 implement thread_get_nice, thread_set_nice and skeleton for calculate_priority EDiasAlberto 2024-10-15 19:21:15 +01:00
  • 4e4b5fb83c modify gitignore to ignore vscode files EDiasAlberto 2024-10-15 17:27:16 +01:00
  • 112432dde0 define basic fixed-point macros EDiasAlberto 2024-10-15 15:13:40 +01:00
  • f969b02630 define fixed point arithmetic constants EDiasAlberto 2024-10-15 14:57:37 +01:00
  • 62cca87322 Merge branch 'gitlab-ci' into 'master' Gleb Koval 2024-10-17 17:30:41 +00:00
  • c24f9a2804 Merge branch 'BSD-merged' into 'ethan-BSD' ethan-BSD Dias Alberto, Ethan 2024-10-17 15:57:03 +00:00
  • 0b5d8b1bb8 Merge branch 'gleb/BSD' into 'BSD-merged' Dias Alberto, Ethan 2024-10-17 15:55:23 +00:00
  • e38e1400a2 Update singleton_sema_priority_greater function description for clarity Themis Demetriades 2024-10-17 09:19:09 +01:00
  • 810a5376b9 Implement priority scheduling for condition variables Themis Demetriades 2024-10-17 08:55:29 +01:00
  • 88967acdaa Update cond_wait to insert into waiters list in sorted order of priority task1/saleh/priority-scheduling sBubshait 2024-10-17 08:53:53 +01:00
  • e74ee59e17 Update sema priority compare to take aux optionally as priority of first sema sBubshait 2024-10-17 08:46:14 +01:00
  • 53b296d6c4 Add function to compare the priority of two semaphores sBubshait 2024-10-17 08:36:29 +01:00
  • 0d6fb2f167 Update sema_up to yield CPU if unblocked has higher priority sBubshait 2024-10-17 07:15:10 +01:00
  • 24900545d4 Update sema_down to insert into waiters list in priority sorted order sBubshait 2024-10-17 06:54:10 +01:00
  • fb268cdef0 Update thread make priority_more public sBubshait 2024-10-17 06:47:58 +01:00
  • dbb7fd56e3 Update set priority to reorder the list if priority is changed sBubshait 2024-10-17 06:38:27 +01:00
  • 949455aae5 Update set priority to eliminate race condition when accessing ready list sBubshait 2024-10-17 06:35:39 +01:00
  • 5c09ff0149 Updated set priority to yield if priority is lowered sBubshait 2024-10-17 06:27:59 +01:00
  • 9f53040d27 Update thread_set_priority to not do anything if priority is unchanged sBubshait 2024-10-17 06:00:34 +01:00
  • 1e09712cc2 fix mlfqs tests, complete BSD scheduling gleb/BSD Gleb Koval 2024-10-17 02:38:57 +01:00