Commit Graph
36 Commits
Author SHA1 Message Date
cyclane 6218b5e80d fix: invert result of file_compare for shared_file_less 2024-11-30 11:49:19 +00:00
cyclane 6225a2eb8b fix: ignore failing tests for now 2024-11-24 16:22:13 +00:00
cyclane aedb72246b fix: do not acquire filesys_lock for tell and seek 2024-11-24 15:41:18 +00:00
cyclane e1f0258f8e fix: handle malloc result in init_process_result 2024-11-24 15:09:32 +00:00
cyclane 8567434231 Use a single exit_status instead of two 2024-11-15 17:28:04 +00:00
cyclane e76712d3fd Merge branch 'task2/thread-init-bug-fix' into 'master'
Fix Bug in fd_counter initialisation when USERPROG is not defined

See merge request lab2425_autumn/pintos_22!49
2024-11-15 17:17:14 +00:00
cyclane 2566948a32 Implement hash table for child process results 2024-11-15 16:45:04 +00:00
cyclane 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
cyclane f5e498e0a9 explicit thread_exit () when process_start () fails 2024-11-13 21:58:41 +00:00
cyclane 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
cyclane e7cb16b301 Fix child_results loop accessing next after free() 2024-11-13 18:29:05 +00:00
cyclane 005791edd2 Synchronise process_execute return with child process load 2024-11-13 11:05:09 +00:00
cyclane 8bcd0a467c Tidy up a69b9c808e 2024-11-12 21:35:41 +00:00
cyclane dd979f34c8 Fix syn-read, syn-write, and always free elements from donors_list 2024-11-12 21:30:23 +00:00
cyclane ca9d23edf9 Always release filesys_lock when checking if file is valid in process_execute 2024-11-12 20:07:51 +00:00
cyclane 18c884234d Fix race-condition in process result (memory leak), fix infinite loop in donors_list 2024-11-11 17:35:49 +00:00
cyclane 7778e05aa4 Fix deadlock by release of lock and semaphore in the wrong order 2024-11-09 11:06:36 +00:00
cyclane 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
cyclane 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
cyclane d95894085b Implement syscall_exec via process_execute 2024-11-08 09:15:22 +00:00
cyclane fde70dcf59 Implement process_wait. 2024-11-08 03:56:15 +00:00
cyclane 7349b4e66f Fix typo list_insert -> list_push_back for thread.child_results 2024-11-08 03:55:34 +00:00
cyclane ec8547aec9 Implement creation of process results 2024-11-08 03:31:48 +00:00
cyclane ddcd59fdf8 Add child and own process result information to struct thread 2024-11-08 03:30:58 +00:00
cyclane 869571108d Remove from sleeping_threads immediately, instead of when thread is scheduled 2024-10-25 14:10:59 +01:00
cyclane 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
cyclane 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
cyclane cbb9d52455 Recover removed comment 2024-10-17 20:09:43 +01:00
cyclane 044c383a0f fix mlfqs tests, complete BSD scheduling 2024-10-17 18:31:09 +01:00
cyclane c5e41db9b0 Implement BSD calculations
- load_avg, recent_cpu, priority calculations
- reduce frac bits to 14
- ignore thread_set_priority when BSD enabled
2024-10-17 18:31:09 +01:00
cyclane a7a6d0b9d4 Fix fixed-point returns 2024-10-17 18:31:09 +01:00
cyclane 630fbaa3ab implement thread_get_nice & thread_get_recent_cpu 2024-10-17 18:31:09 +01:00
cyclane 82cc108c38 inline funcs instead of macros for fixed-point 2024-10-17 18:31:09 +01:00
cyclane 62cca87322 Merge branch 'gitlab-ci' into 'master'
GitLab CI & testing image

See merge request lab2425_autumn/pintos_22!2
2024-10-17 17:30:41 +00:00
cyclane f5d130f832 Implement non-busy timer_sleep (task 0) 2024-10-14 19:21:53 +01:00
cyclane d51648d7dc GitLab CI & testing image 2024-10-10 17:34:33 +01:00