Saleh Bubshait
|
ad4eda5385
|
Merge branch 'vm/syscall-mmap/styling' into 'master'
Refactor page to follow pintos styling for indentation and add spacing for readability
See merge request lab2425_autumn/pintos_22!69
Task_3_-_Virtual_Memory
|
2024-12-06 18:37:18 +00:00 |
|
sBubshait
|
8d1b4c4994
|
Refactor page to follow pintos styling for indentation and add spacing for readability
|
2024-12-06 18:36:54 +00:00 |
|
Saleh Bubshait
|
07c0219058
|
Merge branch 'vm/syscall-mmap/styling' into 'master'
Refactor frame to add spacing and exception for indentation to follow pintos styling
See merge request lab2425_autumn/pintos_22!68
|
2024-12-06 18:28:39 +00:00 |
|
sBubshait
|
5fbabdcec9
|
Refactor frame to add spacing and exception for indentation to follow pintos styling
|
2024-12-06 18:27:50 +00:00 |
|
Saleh Bubshait
|
5e8bdc68e7
|
Merge branch 'vm/syscall-mmap/styling' into 'master'
Refactor mmap system call code to follow pintos style in indentation
See merge request lab2425_autumn/pintos_22!67
|
2024-12-06 18:15:47 +00:00 |
|
sBubshait
|
d039b59b7c
|
Refactor mmap system call code to follow pintos style in indentation
|
2024-12-06 18:14:47 +00:00 |
|
Saleh Bubshait
|
29c0b93711
|
Merge branch 'vm/pagedir-spt-synch' into 'master'
fix: synchronise threads' SPTs with locks
See merge request lab2425_autumn/pintos_22!66
|
2024-12-06 17:44:33 +00:00 |
|
|
|
77fedd6666
|
fix: synchronise threads' SPTs with locks
|
2024-12-06 17:31:33 +00:00 |
|
Dias Alberto, Ethan
|
eba8c1ffa8
|
Merge branch 'vm/merged/pinning-synch' into 'master'
fix: re-enable shareable read only executable logic
See merge request lab2425_autumn/pintos_22!65
|
2024-12-06 17:13:02 +00:00 |
|
EDiasAlberto
|
be696ec528
|
fix: re-enable shareable read only executable logic
|
2024-12-06 17:07:17 +00:00 |
|
Saleh Bubshait
|
7611090253
|
Merge branch 'vm/merged/pinning-synch' into 'master'
Merge 'vm/merged/pinning-synch' into master
See merge request lab2425_autumn/pintos_22!64
|
2024-12-06 16:31:37 +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 |
|
|
|
c1bc70adad
|
ci: do not ignore an VM tests since it is fully implemented now
|
2024-12-06 15:55:23 +00:00 |
|
sBubshait
|
22f3b0950f
|
Fix: Insert pages in mmap as PAGE_MMAP instead of PAGE_FILE
|
2024-12-06 15:54:46 +00:00 |
|
|
|
f64b92bbfa
|
refactor: document shared_file_page
|
2024-12-06 15:35:23 +00:00 |
|
Themis Demetriades
|
3d6e30119b
|
refactor: rename lru_lock to ftable_lock for greater clarity, and update comments to reflect this
|
2024-12-06 15:31:27 +00:00 |
|
|
|
4104d2c852
|
fix: always add to frame owners when installing existing shared page.
|
2024-12-06 15:23:41 +00:00 |
|
EDiasAlberto
|
d389c15828
|
fix: acquire lru_lock before pinning frames to avoid race condition with eviction
|
2024-12-06 13:20:43 +00:00 |
|
Themis Demetriades
|
8ac34063d7
|
fix: disable 'shareable' flag to probe race conditions
|
2024-12-06 10:56:38 +00:00 |
|
Demetriades, Themis
|
c68fea5249
|
Merge branch 'vm/merged/themis' into 'master'
Implement VM
See merge request lab2425_autumn/pintos_22!63
|
2024-12-06 05:07:14 +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
|
3897e83963
|
fix: use correct page_get function within page eviction
|
2024-12-06 01:43:41 +00:00 |
|
Demetriades, Themis
|
96b350d623
|
Merge branch 'vm/mmap-write-back-on-eviction' into 'vm/virtual-memory/themis-synch'
Write back mmap file pages to file upon eviction
See merge request lab2425_autumn/pintos_22!59
|
2024-12-06 01:01:50 +00:00 |
|
Themis Demetriades
|
31403ac7cb
|
fix: obtain correct page table entry when performing eviction
|
2024-12-06 00:56:03 +00:00 |
|
|
|
1da0c7d48c
|
fix: properly assign frame owners and deallocate in all required places
|
2024-12-06 00:29:57 +00:00 |
|
Demetriades, Themis
|
8220b931a9
|
Merge branch 'vm/virtual-memory/frame-synch/saleh' into 'vm/virtual-memory/themis-synch'
Merge frame pinning to themis-synch
See merge request lab2425_autumn/pintos_22!60
|
2024-12-06 00:21:02 +00:00 |
|
sBubshait
|
1efa1fef9a
|
Merge frame pinning into themis-synch
|
2024-12-05 23:56:25 +00:00 |
|
sBubshait
|
fc088a19ac
|
Merge remote-tracking branch 'origin/vm/frame-pinning' into vm/virtual-memory/frame-synch/saleh
# Conflicts:
# src/userprog/syscall.c
|
2024-12-05 23:48:52 +00:00 |
|
sBubshait
|
a34bbbed08
|
Update frame: When evicting an mmapped file page, write it back to the file if it is dirty
|
2024-12-05 22:53:48 +00:00 |
|
|
|
833c1b0520
|
fix: only swap out shared pages once
|
2024-12-05 22:37:14 +00:00 |
|
|
|
9aa9cdb91e
|
feat: implement proper destruction of pages, including for shared pages
|
2024-12-05 22:23:50 +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 |
|
sBubshait
|
6da855fe47
|
Implement validation of pointers and strings in syscalls with pinning and unpinning to protect against eviction
|
2024-12-05 21:12:31 +00:00 |
|
|
|
4dd6b6e928
|
fix: do not leak when inserting the same page twice, just update
|
2024-12-05 19:38:27 +00:00 |
|
|
|
0f1f7b9a6f
|
refactor: extract init_pages
|
2024-12-05 19:35:39 +00:00 |
|
sBubshait
|
e03273756d
|
Update frame table to add a pinned flag and protect those from being evicted
|
2024-12-05 17:52:01 +00:00 |
|
Themis Demetriades
|
7860f3863f
|
fix: add check to mmap to ensure file isn't mapped over stack segment (ed1223)
|
2024-12-05 17:11:02 +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
|
5cf79b5389
|
fix: add check to mmap to ensure file isn't mapped over stack segment
|
2024-12-05 16:05:08 +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
|
c12cd95093
|
Fix issues with merging, duplicate references and definition of VM
|
2024-12-05 02:27:48 +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 |
|
EDiasAlberto
|
ac31fb1e1e
|
feat: set accessed bit to allocated frames in page_load and get_usr_kpage
|
2024-12-05 01:41:23 +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 |
|
Demetriades, Themis
|
f06c91cf0d
|
ci: include linear page tests in VM test pipeline
|
2024-12-05 00:29:49 +00:00 |
|
sBubshait
|
5265fed288
|
Refactor stack growth to be helper functions in exception for easier merging
|
2024-12-05 00:27:40 +00:00 |
|