Commit Graph

46 Commits

Author SHA1 Message Date
Themis Demetriades
e8713e26c6 Update variable references between conflicting merges to refer to the same data in stack initialization 2024-11-11 22:51:19 +00:00
Demetriades, Themis
47c3657b65 Merge branch 'process-wait' into 'userprog-merge'
Fix race-condition in process result (memory leak), fix infinite loop in donors_list

See merge request lab2425_autumn/pintos_22!33
2024-11-11 22:24:39 +00:00
Demetriades, Themis
4eafdf10ba Merge branch 'read-only-exec' into 'userprog-merge'
Combine syscall code with final stack initialization code

See merge request lab2425_autumn/pintos_22!32
2024-11-11 22:23:20 +00:00
Themis Demetriades
14a4841772 Fix bug where size of file name buffer was less than maximum file name size 2024-11-11 22:13:10 +00:00
Themis Demetriades
52fdd47e0c Fix race condition in the passing of data from thread executing process_execute to its child 2024-11-11 21:51:38 +00:00
Themis Demetriades
049fc5559c Reformat stack initialization code to follow style for length and spacing 2024-11-11 21:20:53 +00:00
EDiasAlberto
98a5818406 add file_deny_write and file_allow_write to process creation and exiting to make executable read-only 2024-11-11 17:55:24 +00:00
18c884234d Fix race-condition in process result (memory leak), fix infinite loop in donors_list 2024-11-11 17:35:49 +00:00
Themis Demetriades
b8d358ecb2 Update stack initialization to handle overflow by allocating a second page for argument pointers 2024-11-11 13:13:21 +00:00
Themis Demetriades
8b2fc86b51 Refactor process_init_stack to reduce code duplication 2024-11-10 14:34:38 +00:00
Themis Demetriades
324301e7b3 Update process_execute function comment to reflect new function arguments 2024-11-10 13:43:22 +00:00
Themis Demetriades
0ac46db2e4 Refactor process initialization to obtain name of process file in process_execute 2024-11-10 13:41:08 +00:00
Themis Demetriades
795d81b7ad Update process_init_tack saveptr argument name to cmd_savetpr for clarity 2024-11-10 11:33:29 +00:00
Themis Demetriades
6018c0f6ec Refactor process_init_stack to not surpass 80 character limit 2024-11-10 11:25:20 +00:00
Themis Demetriades
f0dae74cf3 Update stack initialization alignment calculation to use WORD_SIZE constant for clarity 2024-11-10 11:24:51 +00:00
Themis Demetriades
a165107f5f Update process execution related function argument names to be more accurate 2024-11-10 11:17:22 +00:00
Themis Demetriades
b37f205334 Update process_init_stack to return success, refactoring error handling to occur inside start_process 2024-11-10 11:13:11 +00:00
7778e05aa4 Fix deadlock by release of lock and semaphore in the wrong order 2024-11-09 11:06:36 +00:00
Themis Demetriades
5ed999bc9c Refactor push_to_stack helper to match style of other helper functions 2024-11-08 16:53:30 +00:00
Themis Demetriades
a19f02fad7 Move user process stack initialization into a helper function 2024-11-08 16:46:18 +00:00
Themis Demetriades
b866fa88cd Refactor process.c to use FNAME_MAX_LEN constant 2024-11-08 15:54:47 +00:00
6ed1ccd21e Fix process_result locking by acquiring in process_wait as well to prevent freeing memory too early 2024-11-08 10:50:10 +00:00
84fe637c7e Remove process_result lock since it is an invalid solution
TODO : synchronise process_result in another way
2024-11-08 09:16:18 +00:00
fde70dcf59 Implement process_wait. 2024-11-08 03:56:15 +00:00
sBubshait
39018419cd Fix Bug in Process.c to print the exit statement in process_exit instead of exit syscall to handle unexpected/bad exits 2024-11-07 12:15:29 +00:00
sBubshait
6a3cf67d33 Fix Bug in process.c initialising a char to NULL 2024-11-07 11:55:26 +00:00
Themis Demetriades
273fb48b31 Fix stack initialization to pass stack addreses (rather than thread addresses) for the arguments and only pass name a single time 2024-11-07 00:40:52 +00:00
Themis Demetriades
26ae7ac02e Fix bug in stack creation which would count one extra argument for argc 2024-11-06 23:57:48 +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
Demetriades, Themis
014642c789 Merge branch 'user-programs-stdout' into 'user-programs'
# Conflicts:
#   src/userprog/process.c
2024-11-06 22:20:48 +00:00
Dias Alberto, Ethan
1a4afc9ec7 Merge branch 'system-calls' into 'user-programs'
# Conflicts:
#   src/userprog/process.c

Fix conflict in differing placeholder process_wait implementations
2024-11-06 16:56:43 +00:00
sBubshait
fcb7e9e441 Update setup_stack to temporarily fake set-up for a stack to prevent page faults in no arg user programs 2024-11-06 15:48:27 +00:00
sBubshait
ab716de0a6 Update process_wait to temporarily sleep for 1 second to allow user programs to run 2024-11-06 15:46:47 +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
sBubshait
5aac37d167 Add temporary fixes to process_wait and setup stack, w/ E 2024-11-05 23:28:17 +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
LabTS
8724a2641e provided code 2024-10-01 23:37:39 +01:00