Commit Graph

264 Commits

Author SHA1 Message Date
Saleh Bubshait
9ee29ac40a Merge branch 'child-results-hash-table' into 'master'
Implement hash table for child process results

See merge request lab2425_autumn/pintos_22!48
2024-11-15 16:48:41 +00:00
2566948a32 Implement hash table for child process results 2024-11-15 16:45:04 +00:00
222aeff90f Merge branch 'task2/refactoring/saleh' into 'master'
Refactor System Calls and Process for Readability; Change FD to local counter and use it as hash

See merge request lab2425_autumn/pintos_22!47
2024-11-15 16:41:12 +00:00
sBubshait
ea3b3594ea Update fd_hash to use the fd itself as the hash value for performance, w/ G & E 2024-11-15 15:53:01 +00:00
sBubshait
6b1dbdd34f Update thread and syscall to use local fd counter instead global one, preventing overflow 2024-11-15 15:48:56 +00:00
sBubshait
7daf4fb079 Refactor process_exit to add more comments for readability 2024-11-15 15:35:07 +00:00
sBubshait
a7f1d519da Refactor process_wait to add more comments and improve readability 2024-11-15 15:09:24 +00:00
sBubshait
0f1bce2e88 Refactor process_init_stack to add asserts and comments 2024-11-15 14:52:21 +00:00
sBubshait
f4c900e56c Refactor process.c for comments, clarity and readability 2024-11-15 14:37:38 +00:00
sBubshait
82d45880f7 Update validate_user_pointer to start from the beginning of the page rather than the given ptr 2024-11-15 13:51:10 +00:00
sBubshait
1c757ecdfe Update syscall to add more helpful comments for clarity and readability 2024-11-15 13:51:10 +00:00
sBubshait
6a1d10a19b Refactor synch to follow PintOS curly braces indentation style in if statements 2024-11-15 13:51:10 +00:00
Demetriades, Themis
0e50603eef Merge branch 'stack-init-overflowfix' into 'master'
Remove args-ovf user program binary, replacing with source for testing

See merge request lab2425_autumn/pintos_22!44
2024-11-15 13:41:41 +00:00
Themis Demetriades
7947ac78e8 Remove args-ovf user program binary, replacing with source for testing 2024-11-15 13:40:21 +00:00
Demetriades, Themis
4b0d0a51f0 Merge branch 'stack-init-overflowfix' into 'master'
Update stack initialization code to handle all possible overflows and...

See merge request lab2425_autumn/pintos_22!43
2024-11-15 13:38:35 +00:00
Themis Demetriades
eff0837fdc Update stack initialization code to handle all possible overflows and implement a user program to test this 2024-11-15 13:35:58 +00:00
Demetriades, Themis
9b82947beb Merge branch 'stack-init-memfix' into 'master'
Fix memory leak in start_process

See merge request lab2425_autumn/pintos_22!42
2024-11-14 21:06:20 +00:00
Themis Demetriades
5e2e7199f2 Fix memory leak in start_process 2024-11-14 21:03:55 +00:00
Demetriades, Themis
bbe41e178d Merge branch 'stack-init-optimize' into 'master'
Optimize stack initialization by not using malloc, and remove use of 'goto' (for code review safety)

See merge request lab2425_autumn/pintos_22!41
2024-11-14 16:06:22 +00:00
Themis Demetriades
e4036c715f Refactor start_process to hold file system lock for less time 2024-11-14 16:05:15 +00:00
Themis Demetriades
3a46e0f73a Update user proc stack initialization comments to be more helpful 2024-11-14 15:54:34 +00:00
Themis Demetriades
8821851459 Refactor process_execute to remove use of 'goto' 2024-11-14 14:42:26 +00:00
Themis Demetriades
1a2ff35231 Refactor process_execute to pass process start data as a local reference rather than perform memory allocation on the heap 2024-11-14 14:32:48 +00:00
Saleh Bubshait
79b3b8fda7 Merge branch 'userprog-oom' into 'master'
Fix multi-oom

See merge request lab2425_autumn/pintos_22!39
2024-11-13 22:09:11 +00:00
f5e498e0a9 explicit thread_exit () when process_start () fails 2024-11-13 21:58:41 +00:00
d02b956221 Merge branch 'system-calls' into 'userprog-oom'
Add Fixes to Memory Leaks, Memory Access Validation, Synchronised Processes and Refactoring

See merge request lab2425_autumn/pintos_22!38
2024-11-13 19:20:19 +00:00
Saleh Bubshait
927c376d02 Merge branch 'task2/system-calls/saleh' into 'system-calls'
Fix Memory Leaks, Synchronisation in Processes, and Refactoring

See merge request lab2425_autumn/pintos_22!37
2024-11-13 18:51:51 +00:00
sBubshait
fa2fb4a711 Refactor system call comments for accuracy and grammar 2024-11-13 18:48:23 +00:00
sBubshait
31ea215805 Refactor validate_user_string to remove unnecessary variable to track length of str 2024-11-13 18:30:24 +00:00
e7cb16b301 Fix child_results loop accessing next after free() 2024-11-13 18:29:05 +00:00
sBubshait
9549ca28e5 Refactor syscall: Use EXIT_FAILURE instead of magic numbers & close files on failure 2024-11-13 18:18:41 +00:00
sBubshait
b1c5819469 Avoid masking the struct syscall_arguments using typedef for consistency 2024-11-13 18:06:51 +00:00
sBubshait
287130ca7b Update syscall.c to use syscall_exit on failure instead of calling thread_exit directly 2024-11-13 18:02:08 +00:00
sBubshait
4f586bb4da Fix Bug: Free all entries in the fd hashtable when the process exits, w/ E 2024-11-13 17:42:25 +00:00
sBubshait
d890c2353e Add constant MAX_SYSCALL_ARGS to avoid magic numbers [Gleb] 2024-11-13 17:16:15 +00:00
sBubshait
eb4f23c290 Add validate_user_string helper function to validate that a string is fully conatined within user vm 2024-11-13 17:11:37 +00:00
sBubshait
26de38cdba Update validate_user_pointer to check if the memory block is mapped into a physical address 2024-11-13 16:39:45 +00:00
sBubshait
6e59e8c9f3 Update validate_user_pointer to be a void function 2024-11-13 16:22:16 +00:00
sBubshait
30e49846b5 Add more tests for system calls to deal with bad buffers given to read and write 2024-11-13 16:21:12 +00:00
005791edd2 Synchronise process_execute return with child process load 2024-11-13 11:05:09 +00:00
8bcd0a467c Tidy up a69b9c808e 2024-11-12 21:35:41 +00:00
dd979f34c8 Fix syn-read, syn-write, and always free elements from donors_list 2024-11-12 21:30:23 +00:00
ca9d23edf9 Always release filesys_lock when checking if file is valid in process_execute 2024-11-12 20:07:51 +00:00
Themis Demetriades
d878dbc132 Fix bug in userprog-merge where file writes were denied in the wrong thread 2024-11-12 16:22:32 +00:00
Themis Demetriades
b0400693ae Update process_execute to acquire lock when checking if file exists 2024-11-12 16:12:24 +00:00
Themis Demetriades
3418425f20 Don't acquire filesys lock when calling exec 2024-11-12 16:08:27 +00:00
Themis Demetriades
a69b9c808e Update start_process to acquire filesys lock when loading user process file 2024-11-12 14:21:33 +00:00
Demetriades, Themis
7d9900c6d8 Merge branch 'exec-missing-validation' into 'master'
Add validation to check for missing files in exec() args

See merge request lab2425_autumn/pintos_22!36
2024-11-11 23:25:26 +00:00
EDiasAlberto
72afecfbda Add validation to check for missing files in exec() args 2024-11-11 23:10:02 +00:00
Demetriades, Themis
9e692ced9e Merge branch 'userprog-merge' into 'master'
Update variable references between conflicting merges to refer to the same...

See merge request lab2425_autumn/pintos_22!35
2024-11-11 22:59:45 +00:00