Commit Graph

134 Commits

Author SHA1 Message Date
sBubshait
01933cb5de Implement the write system call, w/ E 2024-11-05 23:07:07 +00:00
EDiasAlberto
b3e23eb1cc Implement system call wait w/ S. 2024-11-05 22:48:35 +00:00
EDiasAlberto
421f2c1206 Refactor function names and includes in syscall.c to avoid conflicts w/ S. 2024-11-05 22:46:21 +00:00
sBubshait
e9c4061531 Implement the exit system call, w/ E 2024-11-05 22:38:45 +00:00
sBubshait
2dccd87a76 Update thread to add exit_status, intialised to -1, into the thread structure, w/ E 2024-11-05 22:38:09 +00:00
EDiasAlberto
f8e529e877 Add UNUSED tag to system call function skeletons w/ S. 2024-11-04 01:02:04 +00:00
EDiasAlberto
2a9ab5ec97 fix merge conflicts 2024-11-04 01:00:33 +00:00
EDiasAlberto
4c27aa0203 Complete syscall lookup table, and syscall stubs and skeletons w/ S. 2024-11-04 00:57:19 +00:00
sBubshait
5e2342fad7 Update syscall to make syscall_number an unsigned integer instead of an int 2024-11-04 00:49:47 +00:00
sBubshait
0d057da3dc Refactor syscall to follow PintOS style in adding space after after function name in calls 2024-11-04 00:48:36 +00:00
sBubshait
79f6a8e808 Fix Bug in syscall handler related to pointer arithmetic: add sizeof uintptr_t instead of 1 2024-11-04 00:44:55 +00:00
sBubshait
3a258cf064 Update validate_user_pointer to perform no memory checks when size is 0 2024-11-04 00:38:58 +00:00
sBubshait
e718159ed8 Update syscall to use screaming uppercase casing for a constant 2024-11-04 00:29:07 +00:00
sBubshait
ade8faf0f4 Update syscall to add more comments explaining the basic handler 2024-11-04 00:20:09 +00:00
sBubshait
d626b7a392 Implement basic syscall_handler using the lookup table, w/ E 2024-11-03 23:47:22 +00:00
EDiasAlberto
87126237ad Implement function to validate user memory pointers w/ S. 2024-11-03 23:20:42 +00:00
sBubshait
62453ef432 Add a look up table from system call numbers to their handler functions, w/ E 2024-11-03 22:54:03 +00:00
EDiasAlberto
c0f85a6bcc Implement skeleton for exit command w/ S. 2024-11-03 22:36:22 +00:00
EDiasAlberto
fa6dac2108 Implement halt system call w/ S. 2024-11-03 22:34:50 +00:00
sBubshait
0bf5fdb0e5 Add syscall_function type definition for the different syscall handlers, w/ E 2024-11-03 22:28:17 +00:00
Saleh Bubshait
74efa5e652 Merge branch 'task1/themis/thread-create-refactor' into 'master'
Refactor thread_create () to call thread_get_priority in order to retrieve priority

See merge request lab2425_autumn/pintos_22!21
Task_1_-_Scheduling
2024-10-25 16:56:31 +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
Demetriades, Themis
4c33653369 Merge branch 'task1/saleh/priority-donation-refactoring' into 'master'
priority donation refactoring

See merge request lab2425_autumn/pintos_22!20
2024-10-25 15:57:22 +00:00
sBubshait
c2414ec54d Add priority_less for comparing threads based on priority and Refactor sema up to use list_max for clarity 2024-10-25 16:04:55 +01:00
sBubshait
30ab3ae861 Update thread_create to only yield CPU to the new thread if necessary 2024-10-25 15:47:19 +01:00
sBubshait
81309dcda9 Refactor sema_up to follow PintOS styling of if statements 2024-10-25 15:44:56 +01:00
Demetriades, Themis
bbb62d2ee7 Merge branch 'gleb/fix-non-busy-sleep-bug' into 'master'
Remove unnecassary inter_disable from non-busy sleep

See merge request lab2425_autumn/pintos_22!19
2024-10-25 14:19:36 +00:00
Demetriades, Themis
f8bdd30f09 Merge branch 'gleb/bsd-priority-donation' into 'master'
Allow priority donation with BSD scheduler.

See merge request lab2425_autumn/pintos_22!18
2024-10-25 14:19:18 +00:00
869571108d Remove from sleeping_threads immediately, instead of when thread is scheduled 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
2024-10-25 14:03:55 +01:00
Saleh Bubshait
af31968e67 Merge branch 'gleb/fix-bsd-ready-list-order' into 'master'
Re-sort ready_list when priorities update + PRI_UPDATE_FREQ

See merge request lab2425_autumn/pintos_22!17
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.
2024-10-25 09:13:27 +01:00
sb3923
c4cefbc2d5 Merge branch 'merged-complete' into 'master'
Merge code refactors into main branch

See merge request lab2425_autumn/pintos_22!16
2024-10-24 22:15:24 +00:00
EDiasAlberto
b88baede64 rename recent_cpu update function 2024-10-24 22:45:49 +01:00
EDiasAlberto
7d196ffc57 adjust spacing around brackets to fit styling conventions 2024-10-24 22:30:38 +01:00
EDiasAlberto
39f4edd5e6 remove unnecessary curly brace in thread_tick () 2024-10-24 22:09:28 +01:00
EDiasAlberto
60acc2e58d refactor thread_mlfqs checks in synch.c 2024-10-24 21:46:39 +01:00
EDiasAlberto
a6a0c4ad25 remove empty lines in thread.c 2024-10-24 20:47:30 +01:00
EDiasAlberto
74657bbf9c reorder init_thread for clarity 2024-10-24 20:34:44 +01:00
EDiasAlberto
0b230131f1 refactor thread struct to keep all changes together 2024-10-24 20:17:39 +01:00
EDiasAlberto
49a9284f02 refactor fixed-point.h to match style standards 2024-10-24 20:16:40 +01:00
Dias Alberto, Ethan
e749936b1f Merge branch 'merged-complete' into 'master'
Merge complete code base into master

See merge request lab2425_autumn/pintos_22!15
2024-10-23 19:05:45 +00:00
EDiasAlberto
20be75748c replace thread_mlfqs checks in priority calculations with assertions 2024-10-23 19:57:17 +01:00
EDiasAlberto
d8c843f16a add mlfqs condition checking in synchronisation primitives 2024-10-23 19:37:27 +01:00
EDiasAlberto
1fb101c365 remove repeated comparator and reorder thread_init operations 2024-10-23 18:56:48 +01:00
EDiasAlberto
c357126cc1 fix missing curly brace 2024-10-23 17:51:48 +01:00
Dias Alberto, Ethan
176750282f Merge branch 'BSD-merged' into 'master'
BSD Scheduler implementation

See merge request lab2425_autumn/pintos_22!9
2024-10-23 16:34:39 +00:00
Dias Alberto, Ethan
ed11c61f87 Merge branch 'master' into 'BSD-merged', fixing merge conflicts
# Conflicts:
#   src/threads/thread.c
2024-10-23 16:30:24 +00:00
Dias Alberto, Ethan
0cbae2a2e5 Merge branch 'task1/priority-donation' into 'master'
Merge 'task1/priority-donation' into 'master'

See merge request lab2425_autumn/pintos_22!14
2024-10-23 16:15:44 +00:00
Themis Demetriades
95386971e2 Update lock_release to disable interrupts in critical sections w/ S 2024-10-23 16:45:42 +01:00