Commit Graph

14 Commits

Author SHA1 Message Date
1da0c7d48c fix: properly assign frame owners and deallocate in all required places 2024-12-06 00:29:57 +00:00
9aa9cdb91e feat: implement proper destruction of pages, including for shared pages 2024-12-05 22:23:50 +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
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
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
4bf6914cfa feat: incorporate lazy-loading data & helpers into supplemental page table 2024-12-04 16:45:36 +00:00
Themis Demetriades
08eafcf7ef feat: implement page swapping 2024-12-03 16:53:47 +00:00
Themis Demetriades
6f85d7642d feat: implement clock (second-chance) page eviction algorithm 2024-11-30 22:40:13 +00:00
sBubshait
801fd7d310 Implement page fault for lazy loading executables, w/ G 2024-11-28 20:03:50 +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