sBubshait
|
5fbabdcec9
|
Refactor frame to add spacing and exception for indentation to follow pintos styling
|
2024-12-06 18:27:50 +00:00 |
|
sBubshait
|
7f058ffc90
|
Refactor page_type to rename PAGE_FILE to PAGE_EXECUTABLE as mmap and executables are now separate
|
2024-12-06 16:22:26 +00:00 |
|
Themis Demetriades
|
65da1659e5
|
feat: merged shared-read-only-executables with the rest of VM
|
2024-12-06 04:15:13 +00:00 |
|
Themis Demetriades
|
31403ac7cb
|
fix: obtain correct page table entry when performing eviction
|
2024-12-06 00:56:03 +00:00 |
|
Themis Demetriades
|
2811ea0eb3
|
fix: SPT never removes entries until process termination or special case
|
2024-12-05 22:05:02 +00:00 |
|
|
|
dd46200256
|
feat: initial shared file page management and initialization
|
2024-12-05 21:46:49 +00:00 |
|
|
|
4dd6b6e928
|
fix: do not leak when inserting the same page twice, just update
|
2024-12-05 19:38:27 +00:00 |
|
Themis Demetriades
|
d03e253046
|
feat: implement synchronisation to protecting access to PTEs of SPTs during eviction
|
2024-12-05 16:51:15 +00:00 |
|
EDiasAlberto
|
e779e8ac7c
|
fix: modify stack growth to use frame allocation to allow for page swapping
|
2024-12-05 04:39:50 +00:00 |
|
sBubshait
|
16db01d3d8
|
Refactor: Check if page is in a swap in fetch_page instead of the page fault handler
|
2024-12-05 03:17:18 +00:00 |
|
sBubshait
|
f13fd435cd
|
Merge remote-tracking branch 'origin/vm/page-swap-synch' into vm/virtual-memory/saleh
# Conflicts:
# .gitlab-ci.yml
# src/Makefile.build
# src/threads/thread.c
# src/userprog/exception.c
# src/userprog/process.c
# src/vm/frame.c
# src/vm/page.c
# src/vm/page.h
# src/vm/stackgrowth.c
# src/vm/stackgrowth.h
|
2024-12-05 02:21:53 +00:00 |
|
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 |
|
Themis Demetriades
|
0288e13206
|
fix: don't discriminate between user and kernel page fault contexts for stack growth, lazy loading, and swapping
|
2024-12-04 23:46:31 +00:00 |
|
Themis Demetriades
|
60faf995ea
|
fix: lazy load executable files of user processes even when accessed in a kernel context
|
2024-12-04 22:21:31 +00:00 |
|
Themis Demetriades
|
723055f485
|
fix: only use lazy loading if VM flag is enabled
|
2024-12-04 21:33:21 +00:00 |
|
Themis Demetriades
|
1e236a5c47
|
Merge branch 'vm/lazy-loading' into vm/page-swap-synch
|
2024-12-04 19:11:37 +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 |
|
Themis Demetriades
|
47a7dfae04
|
refactor: add comments describing each type of page fault dealt by the page fault handler
|
2024-12-03 21:47:59 +00:00 |
|
EDiasAlberto
|
9a3c8a1c38
|
fix: grow stack upon page fault in kernel context to support syscall stack growth
|
2024-12-03 20:56:10 +00:00 |
|
Themis Demetriades
|
08eafcf7ef
|
feat: implement page swapping
|
2024-12-03 16:53:47 +00:00 |
|
Themis Demetriades
|
df7d847978
|
fix: remove stack fault checks for page faults outside user non-present addresses
|
2024-12-02 21:07:17 +00:00 |
|
Themis Demetriades
|
6190d1bee6
|
fix: disable dynamic stack growth when VM flag is disabled
|
2024-12-02 20:44:54 +00:00 |
|
Themis Demetriades
|
6adf2e743b
|
refactor: dynamic stack growth functions to follow code style
|
2024-12-02 19:50:40 +00:00 |
|
Themis Demetriades
|
05a48cf9c6
|
refactor: page fault exception handler follows code style
|
2024-12-01 23:36:55 +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
|
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 |
|
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
|
3ef5264b6e
|
feat: allow stack to grow for process up to 8MB in size
|
2024-11-26 04:43:25 +00:00 |
|
|
|
83e044cf68
|
Let kernel handle its own page faults
|
2024-11-12 14:50:53 +00:00 |
|
LabTS
|
8724a2641e
|
provided code
|
2024-10-01 23:37:39 +01:00 |
|