Themis Demetriades
|
1b73e415d7
|
fix: invalidate PTEs of evicted pages before eviction occurs to prevent modificationof pages mid-eviction
|
2024-12-04 15:02:49 +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 |
|
Themis Demetriades
|
bb16abdc0d
|
refactor: supplemental page table helper functions follow code style
|
2024-12-01 23:30:50 +00:00 |
|
Demetriades, Themis
|
9d35beb2e4
|
Merge branch 'virtual-memory' into 'page-swap-helpers'
# Conflicts:
# src/vm/frame.c
# src/vm/page.c
|
2024-12-01 21:44:17 +00:00 |
|
Themis Demetriades
|
7ce512305e
|
fix: remove DVM flag when compiling outside of vm directory
|
2024-12-01 00:41:09 +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 |
|
Themis Demetriades
|
6f85d7642d
|
feat: implement clock (second-chance) page eviction algorithm
|
2024-11-30 22:40:13 +00:00 |
|
EDiasAlberto
|
94adc11f03
|
Feat: implement page_get_swap and page_set_swap functions
|
2024-11-30 03:21:34 +00:00 |
|
EDiasAlberto
|
40c553d68b
|
Merge stack growth functions
|
2024-11-30 01:54:28 +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 |
|
Themis Demetriades
|
149bb42889
|
feat: implement clock (second-chance) page eviction algorithm
|
2024-11-29 19:30:47 +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
|
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 |
|
|
|
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 |
|