EDiasAlberto
|
d389c15828
|
fix: acquire lru_lock before pinning frames to avoid race condition with eviction
|
2024-12-06 13:20:43 +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 |
|
EDiasAlberto
|
ac31fb1e1e
|
feat: set accessed bit to allocated frames in page_load and get_usr_kpage
|
2024-12-05 01:41:23 +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 |
|
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 |
|
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 |
|
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 |
|
EDiasAlberto
|
72afecfbda
|
Add validation to check for missing files in exec() args
|
2024-11-11 23:10:02 +00:00 |
|
EDiasAlberto
|
98a5818406
|
add file_deny_write and file_allow_write to process creation and exiting to make executable read-only
|
2024-11-11 17:55:24 +00:00 |
|
EDiasAlberto
|
5b1e4b561b
|
merge process-wait
|
2024-11-11 15:50:21 +00:00 |
|
EDiasAlberto
|
1bfd73b202
|
Comment syscall functions and handlers
|
2024-11-10 01:32:58 +00:00 |
|
EDiasAlberto
|
18694d7b62
|
Implement file reading syscall and fix fd validation w/ S.
|
2024-11-08 16:25:49 +00:00 |
|
EDiasAlberto
|
3cfbe198e0
|
Implement syscall for seek w/ S.
|
2024-11-08 16:10:46 +00:00 |
|
EDiasAlberto
|
75bd3fbde0
|
Implement syscall for close() and fix typing bug in fd_get_file w/ S.
|
2024-11-08 16:02:51 +00:00 |
|
EDiasAlberto
|
92e93b8060
|
Implement syscall for file opening and refactor open_files initialisation in thread.c w/ S.
|
2024-11-08 15:33:47 +00:00 |
|
EDiasAlberto
|
dca9d8f5a3
|
Implement syscall for file removal w/ S.
|
2024-11-08 14:35:23 +00:00 |
|
EDiasAlberto
|
a8676f2e09
|
Implement syscall for file creation, with relevant locks w/ S.
|
2024-11-08 14:34:08 +00:00 |
|
EDiasAlberto
|
f4290c31f3
|
Implement syscall_read for console input w/ S.
|
2024-11-05 23:20:18 +00:00 |
|
EDiasAlberto
|
b3e23eb1cc
|
Implement system call wait w/ S.
|
2024-11-05 22:48:35 +00:00 |
|
EDiasAlberto
|
421f2c1206
|
Refactor function names and includes in syscall.c to avoid conflicts w/ S.
|
2024-11-05 22:46:21 +00:00 |
|
EDiasAlberto
|
f8e529e877
|
Add UNUSED tag to system call function skeletons w/ S.
|
2024-11-04 01:02:04 +00:00 |
|
EDiasAlberto
|
2a9ab5ec97
|
fix merge conflicts
|
2024-11-04 01:00:33 +00:00 |
|
EDiasAlberto
|
4c27aa0203
|
Complete syscall lookup table, and syscall stubs and skeletons w/ S.
|
2024-11-04 00:57:19 +00:00 |
|
EDiasAlberto
|
87126237ad
|
Implement function to validate user memory pointers w/ S.
|
2024-11-03 23:20:42 +00:00 |
|
EDiasAlberto
|
c0f85a6bcc
|
Implement skeleton for exit command w/ S.
|
2024-11-03 22:36:22 +00:00 |
|
EDiasAlberto
|
fa6dac2108
|
Implement halt system call w/ S.
|
2024-11-03 22:34:50 +00:00 |
|
EDiasAlberto
|
b88baede64
|
rename recent_cpu update function
|
2024-10-24 22:45:49 +01:00 |
|
EDiasAlberto
|
7d196ffc57
|
adjust spacing around brackets to fit styling conventions
|
2024-10-24 22:30:38 +01:00 |
|
EDiasAlberto
|
39f4edd5e6
|
remove unnecessary curly brace in thread_tick ()
|
2024-10-24 22:09:28 +01:00 |
|
EDiasAlberto
|
60acc2e58d
|
refactor thread_mlfqs checks in synch.c
|
2024-10-24 21:46:39 +01:00 |
|
EDiasAlberto
|
a6a0c4ad25
|
remove empty lines in thread.c
|
2024-10-24 20:47:30 +01:00 |
|
EDiasAlberto
|
74657bbf9c
|
reorder init_thread for clarity
|
2024-10-24 20:34:44 +01:00 |
|
EDiasAlberto
|
0b230131f1
|
refactor thread struct to keep all changes together
|
2024-10-24 20:17:39 +01:00 |
|
EDiasAlberto
|
49a9284f02
|
refactor fixed-point.h to match style standards
|
2024-10-24 20:16:40 +01:00 |
|
EDiasAlberto
|
20be75748c
|
replace thread_mlfqs checks in priority calculations with assertions
|
2024-10-23 19:57:17 +01:00 |
|
EDiasAlberto
|
d8c843f16a
|
add mlfqs condition checking in synchronisation primitives
|
2024-10-23 19:37:27 +01:00 |
|
EDiasAlberto
|
1fb101c365
|
remove repeated comparator and reorder thread_init operations
|
2024-10-23 18:56:48 +01:00 |
|
EDiasAlberto
|
c357126cc1
|
fix missing curly brace
|
2024-10-23 17:51:48 +01:00 |
|
EDiasAlberto
|
d5f913de2b
|
implement recent_cpu
|
2024-10-17 18:31:09 +01:00 |
|
EDiasAlberto
|
337f8828d9
|
implement thread_get_nice, thread_set_nice and skeleton for calculate_priority
|
2024-10-17 18:31:09 +01:00 |
|
EDiasAlberto
|
4e4b5fb83c
|
modify gitignore to ignore vscode files
|
2024-10-17 18:31:09 +01:00 |
|
EDiasAlberto
|
112432dde0
|
define basic fixed-point macros
|
2024-10-17 18:31:09 +01:00 |
|
EDiasAlberto
|
f969b02630
|
define fixed point arithmetic constants
gitignore clion files
|
2024-10-17 18:31:09 +01:00 |
|