sBubshait
|
806d6bc19e
|
Refactor: Move destroying mmap data into process_exit instead of thread
|
2024-12-04 21:59:38 +00:00 |
|
sBubshait
|
ecbb4e74a5
|
Implement the unmap system call, writing back to the file if a page is dirty before removing from SPT
|
2024-12-04 19:07:28 +00:00 |
|
sBubshait
|
02b79d1934
|
Update mmap to add temporarily page_set_swap until swap is implemented
|
2024-12-04 18:13:07 +00:00 |
|
sBubshait
|
857cae3578
|
Update mmap to add a get helper function to find a mmap entry from its mapping
|
2024-12-04 18:08:05 +00:00 |
|
sBubshait
|
941e1e067a
|
Update SPT page entry to change type from EXECUTABLE to PAGE_FILE to capture mmaps in addition to executables
|
2024-12-04 17:51:30 +00:00 |
|
sBubshait
|
ad6e4b4059
|
Implement syscall_mmap to validate and then map all file data into a user address in memory
|
2024-12-04 17:42:53 +00:00 |
|
sBubshait
|
72fa0c1bbb
|
Fix Bug: Initialise the mmap table for the newly created thread rather than the current thread
|
2024-12-04 17:41:14 +00:00 |
|
sBubshait
|
67f16cb2a6
|
Update syscall.c to allow mmap and unmap system calls through helper handler functions for each
|
2024-12-04 15:31:53 +00:00 |
|
sBubshait
|
6b0f708d8f
|
Update mmap to add an insert helper function to allocate and add new mmap entries to the hash table
|
2024-12-04 15:26:00 +00:00 |
|
sBubshait
|
6e838aa06a
|
Fix Bug in thread.c: Only initialise and destroy mmap files table if VM is defined
|
2024-12-04 15:24:11 +00:00 |
|
sBubshait
|
a2f46f3b72
|
Add a mmap destroy function to cleanup all mmap hash table entries upon thread exit
|
2024-12-04 15:14:02 +00:00 |
|
sBubshait
|
1ce09a49a1
|
Add helper functions to initialise the memory-mapped files table and counter
|
2024-12-04 15:08:43 +00:00 |
|
sBubshait
|
b3042b5aa6
|
Update thread structure to add mmap files table and a counter for mappings of the thread
|
2024-12-04 14:56:52 +00:00 |
|
sBubshait
|
acc768e177
|
Add mmap module in vm defining mmap_entry structure and some helper functions
|
2024-12-04 13:01:01 +00:00 |
|
sBubshait
|
8047c65227
|
Update syscall handling of invalid pointers by preloading pages using the helper try_fetch_page
|
2024-11-29 18:55:28 +00:00 |
|
sBubshait
|
d047a3c242
|
Update Userprog Makefile to include vm files
|
2024-11-29 18:49:26 +00:00 |
|
sBubshait
|
c8b93c57ee
|
Fix: Update writability of the last page after loading as a workaround to calculating the offset, w/ G
|
2024-11-29 15:45:44 +00:00 |
|
sBubshait
|
92d0b68243
|
Fix: Avoid closing the file after loading segments to be able to lazily load from file without opening, w/ G
|
2024-11-29 14:32:55 +00:00 |
|
sBubshait
|
801fd7d310
|
Implement page fault for lazy loading executables, w/ G
|
2024-11-28 20:03:50 +00:00 |
|
sBubshait
|
df20e0fdfe
|
Update load_segment to load only the metadata of the pages to the SPT, w/ G
|
2024-11-28 18:35:49 +00:00 |
|
sBubshait
|
97e6e0fb1e
|
Add SPT Helper Functions: Insert, Get, Cleanup w/ G
|
2024-11-28 18:18:52 +00:00 |
|
sBubshait
|
14fc96febf
|
Implement Supplemental Page Table (SPT) per thread along with structure for its entries, w/ G
|
2024-11-28 17:54:15 +00:00 |
|
Themis Demetriades
|
1e6b90da0d
|
Implement skeleton for swapping frames into disk
|
2024-11-26 18:59:46 +00:00 |
|
Themis Demetriades
|
ea2725f606
|
feat: implement frame table without thread safety
|
2024-11-26 15:17:11 +00:00 |
|
|
|
aedb72246b
|
fix: do not acquire filesys_lock for tell and seek
|
2024-11-24 15:41:18 +00:00 |
|
|
|
e1f0258f8e
|
fix: handle malloc result in init_process_result
|
2024-11-24 15:09:32 +00:00 |
|
|
|
8567434231
|
Use a single exit_status instead of two
|
2024-11-15 17:28:04 +00:00 |
|
sBubshait
|
8f82f9d747
|
Fix Bug in fd_counter initialisation when USERPROG is not defined
|
2024-11-15 16:57:16 +00:00 |
|
|
|
2566948a32
|
Implement hash table for child process results
|
2024-11-15 16:45:04 +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 |
|
Themis Demetriades
|
7947ac78e8
|
Remove args-ovf user program binary, replacing with source for testing
|
2024-11-15 13:40:21 +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 |
|
Themis Demetriades
|
5e2e7199f2
|
Fix memory leak in start_process
|
2024-11-14 21:03:55 +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 |
|
|
|
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 |
|
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 |
|