Commit Graph
50 Commits
Author SHA1 Message Date
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