sBubshait
|
1a8eb1bbe5
|
Merge branch 'vm/memory-mapped-files' into vm/virtual-memory/saleh
|
2024-12-05 01:24:50 +00:00 |
|
sBubshait
|
52ec8fe779
|
Fix Bug: Grow stack if necessary in case of a page fault in the kernel context
|
2024-12-05 01:15:46 +00:00 |
|
sBubshait
|
f171a05108
|
Merge branch 'vm/stack-growth/saleh' into vm/virtual-memory/saleh
# Conflicts:
# src/userprog/exception.c
# src/userprog/process.c
# src/userprog/syscall.c
# src/vm/frame.c
# src/vm/page.c
# src/vm/page.h
|
2024-12-05 00:51:03 +00:00 |
|
sBubshait
|
5265fed288
|
Refactor stack growth to be helper functions in exception for easier merging
|
2024-12-05 00:27:40 +00:00 |
|
sBubshait
|
61f6374006
|
Update gitlab CI to only run the tests associated with this feature (mmapped-files).
|
2024-12-04 22:06:09 +00:00 |
|
sBubshait
|
26a2d40325
|
Implement implicitly unmapping all mmapped files when a process exits. Refactor to reduce duplication
|
2024-12-04 22:00:59 +00:00 |
|
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
|
85aabd86cd
|
Update gitlab ci file to include mmap tests in the automated testing pipeline
|
2024-12-04 14:55:28 +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 |
|
Demetriades, Themis
|
d8edc6d3fe
|
Merge branch 'virtual-memory' into 'ethan-stack-growth'
# Conflicts:
# src/Makefile.build
|
2024-11-30 23:21:16 +00:00 |
|
Demetriades, Themis
|
5682974f9d
|
Merge branch 'vm/supplemental-page-table' into 'master'
Implement frame table & page eviction algorithm
See merge request lab2425_autumn/pintos_22!53
|
2024-11-30 23:01:04 +00:00 |
|
Themis Demetriades
|
6f85d7642d
|
feat: implement clock (second-chance) page eviction algorithm
|
2024-11-30 22:40:13 +00:00 |
|
EDiasAlberto
|
13de832586
|
Refactor stack growth code to remove messy conditions
|
2024-11-29 23:52:05 +00:00 |
|
EDiasAlberto
|
5c661c2e24
|
Feat: pointer validation checks string across multiple pages and handle kernel page faults
|
2024-11-29 23:49:49 +00:00 |
|
EDiasAlberto
|
5f40d83e66
|
Implement MMU-based user memory validation
|
2024-11-29 23:03:31 +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 |
|
EDiasAlberto
|
4f84a83611
|
Refactor: abstract new page allocation to one general function and make helper functions static
|
2024-11-27 19:41:22 +00:00 |
|
EDiasAlberto
|
c74a8c55aa
|
Implement stack growth for system calls and add stack pointer tracking to thread
|
2024-11-27 19:21:43 +00:00 |
|
EDiasAlberto
|
c670c29e47
|
update stack growth header to fit virtual memory naming format
|
2024-11-27 18:57:20 +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 |
|
EDiasAlberto
|
af7f2ba873
|
Fix: Magic number in stackgrowth.c
|
2024-11-26 04:54:00 +00:00 |
|
EDiasAlberto
|
3ef5264b6e
|
feat: allow stack to grow for process up to 8MB in size
|
2024-11-26 04:43:25 +00:00 |
|
Demetriades, Themis
|
605050e38d
|
Merge branch 'code-review-2-changes' into 'master'
fix: code review 2 changes
See merge request lab2425_autumn/pintos_22!52
|
2024-11-24 16:52:48 +00:00 |
|
|
|
6225a2eb8b
|
fix: ignore failing tests for now
|
2024-11-24 16:22:13 +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 |
|
Saleh Bubshait
|
eed4ce5130
|
Merge branch 'single-exit-status' into 'master'
Use a single `exit_status` instead of two
See merge request lab2425_autumn/pintos_22!50
Task_2_-_User_Programs
|
2024-11-15 18:08:25 +00:00 |
|
|
|
8567434231
|
Use a single exit_status instead of two
|
2024-11-15 17:28:04 +00:00 |
|
|
|
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 |
|
sBubshait
|
8f82f9d747
|
Fix Bug in fd_counter initialisation when USERPROG is not defined
|
2024-11-15 16:57:16 +00:00 |
|