-
Notifications
You must be signed in to change notification settings - Fork 121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
310551038 lab5–8 #127
base: 310551038
Are you sure you want to change the base?
310551038 lab5–8 #127
Commits on Jun 1, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 2c23d35 - Browse repository at this point
Copy the full SHA 2c23d35View commit details -
Lab 5 C: Remove many consistency checks
The consistency checks were meant to guarantee the correct operation of the kernel by making sure that everything is loaded into the memory in a sensible way (e.g. the memory region used by the kernel doesn't overlap with other reserved regions). However, they make the code convoluted. Given that the probability of something being incorrectly loaded is exceedingly low in practice, it makes more sense not to include these checks. The quicksort implementation remains in the source tree, albeit becoming unused.
Configuration menu - View commit details
-
Copy full SHA for bad36d5 - Browse repository at this point
Copy the full SHA bad36d5View commit details
Commits on Jun 4, 2023
-
Other changes: - Properly handle critical sections in memory allocators. - Fixes a bug in the dynamic memory allocator that causes memory corruption. - Disable page frame allocator debug log.
Configuration menu - View commit details
-
Copy full SHA for e9a89b2 - Browse repository at this point
Copy the full SHA e9a89b2View commit details
Commits on Jun 19, 2023
-
Lab 5 C: Complete B2: User Process and System Call
Other changes: - Scheduler: - Partial rewrite to simplify design. - The current thread no longer remains on the run queue after being scheduled. - Serial console: - Redesign around non-blocking primitives. - Add new non-blocking functions. - Add read/write readiness notification facility. - Dynamic memory allocator: - Fix a bug in `free` that causes the incorrect slot to be freed. - (Old) User program: - Retired. Superseded by the current scheduler. - Testers: - Retire `xcpt_test` since it no longer works. - Add `syscall_test` that tests some system calls. - Add a minimal libc. TODO: - Properly implement red-black tree in order to speed up the process of finding a process by its PID.
Configuration menu - View commit details
-
Copy full SHA for 5c70a56 - Browse repository at this point
Copy the full SHA 5c70a56View commit details -
Lab 5 C: Complete B3: Video Player
Other changes: - Scheduler: - Disable user stack sharing by default. - Fix `get_process_by_id` and `kill_all_processes`. - System call: - Change the return values of `sys_mbox_call` to match the video player. - Main function: - Remove scheduler test code.
Configuration menu - View commit details
-
Copy full SHA for e2e67f4 - Browse repository at this point
Copy the full SHA e2e67f4View commit details
Commits on Jun 20, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b8fc7ff - Browse repository at this point
Copy the full SHA b8fc7ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for c1b6c25 - Browse repository at this point
Copy the full SHA c1b6c25View commit details
Commits on Jun 25, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 0dc4dd6 - Browse repository at this point
Copy the full SHA 0dc4dd6View commit details
Commits on Jun 26, 2023
-
Lab 6 C: Change default exception handler
The default exception handler now starts a kernel panic instead of returning. This aids in debugging by avoiding cluttering the serial console due to repeated triggering of the same exception.
Configuration menu - View commit details
-
Copy full SHA for c833acc - Browse repository at this point
Copy the full SHA c833accView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1760950 - Browse repository at this point
Copy the full SHA 1760950View commit details
Commits on Jun 27, 2023
-
Lab 6 C: Complete B2, B3, A2, A3
Other changes: - Adjust text width in the default exception handler. TODO: - Fix the release build.
Configuration menu - View commit details
-
Copy full SHA for 1794c1a - Browse repository at this point
Copy the full SHA 1794c1aView commit details
Commits on Jun 28, 2023
-
Lab 6 C: Fix memory attributes
- User-space memory is now mapped as normal memory instead of device memory. - Kernel memory now disallows non-privileged access.
Configuration menu - View commit details
-
Copy full SHA for bcfa76b - Browse repository at this point
Copy the full SHA bcfa76bView commit details -
`sys_mbox_call` now copies the mailbox buffer into the kernel before calling `mailbox_call`. This is because it is generally unsafe to pass the user-space buffer directly, since it may be discontinuous physically.
Configuration menu - View commit details
-
Copy full SHA for f3ee536 - Browse repository at this point
Copy the full SHA f3ee536View commit details -
Configuration menu - View commit details
-
Copy full SHA for c5925d1 - Browse repository at this point
Copy the full SHA c5925d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for b596fa4 - Browse repository at this point
Copy the full SHA b596fa4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 507855e - Browse repository at this point
Copy the full SHA 507855eView commit details -
Other changes: - Disable demand paging/CoW debug log. - Fix a bug in `free` that causes an incorrect slot to be freed.
Configuration menu - View commit details
-
Copy full SHA for 8a64b30 - Browse repository at this point
Copy the full SHA 8a64b30View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a1b274 - Browse repository at this point
Copy the full SHA 0a1b274View commit details
Commits on Jun 29, 2023
-
Fix a bug in `free` that causes an incorrect slot to be freed. Backported from 8a64b30.
Configuration menu - View commit details
-
Copy full SHA for 27b4394 - Browse repository at this point
Copy the full SHA 27b4394View commit details -
Configuration menu - View commit details
-
Copy full SHA for c56b5bd - Browse repository at this point
Copy the full SHA c56b5bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for ee7f8b5 - Browse repository at this point
Copy the full SHA ee7f8b5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4cdedb4 - Browse repository at this point
Copy the full SHA 4cdedb4View commit details -
Other changes: - Add a workaround for a run queue corruption but that causes terminated threads to be scheduled.
Configuration menu - View commit details
-
Copy full SHA for 138c012 - Browse repository at this point
Copy the full SHA 138c012View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ae13f6 - Browse repository at this point
Copy the full SHA 5ae13f6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b0fd4e - Browse repository at this point
Copy the full SHA 8b0fd4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f696ab - Browse repository at this point
Copy the full SHA 4f696abView commit details
Commits on Jun 30, 2023
-
Lab 6 C: Fix
exec
destroying memory regionsOther changes: - Fix a bug in `_vm_drop_page_table` (called by `vm_drop_addr_space`) that causes memory leak by not freeing pages.
Configuration menu - View commit details
-
Copy full SHA for afe1588 - Browse repository at this point
Copy the full SHA afe1588View commit details -
Configuration menu - View commit details
-
Copy full SHA for 811b98c - Browse repository at this point
Copy the full SHA 811b98cView commit details -
Configuration menu - View commit details
-
Copy full SHA for f5012a6 - Browse repository at this point
Copy the full SHA f5012a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1b5db3c - Browse repository at this point
Copy the full SHA 1b5db3cView commit details -
Lab 5 C: Fix run queue corruption
`deliver_signal` depends on the invariant that, if the `is_waiting` status bit is set on a thread, then that thread must be in a wait queue. However, when waking up a thread from a wait queue, the `is_waiting` status bit was not correctly cleared, causing `deliver_signal` to corrupt the run queue.
Configuration menu - View commit details
-
Copy full SHA for c5d8f93 - Browse repository at this point
Copy the full SHA c5d8f93View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7edf96f - Browse repository at this point
Copy the full SHA 7edf96fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a2a4890 - Browse repository at this point
Copy the full SHA a2a4890View commit details -
Configuration menu - View commit details
-
Copy full SHA for a79e5fc - Browse repository at this point
Copy the full SHA a79e5fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 306012e - Browse repository at this point
Copy the full SHA 306012eView commit details
Commits on Jul 1, 2023
-
Lab 6 C: Fix
shared_page_decref
`shared_page_decref` used to dereference null pointers when called on a non-shared page.
Configuration menu - View commit details
-
Copy full SHA for 05ac4e9 - Browse repository at this point
Copy the full SHA 05ac4e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 39f924e - Browse repository at this point
Copy the full SHA 39f924eView commit details -
Configuration menu - View commit details
-
Copy full SHA for c9354cf - Browse repository at this point
Copy the full SHA c9354cfView commit details -
Configuration menu - View commit details
-
Copy full SHA for c4faa22 - Browse repository at this point
Copy the full SHA c4faa22View commit details
Commits on Jul 10, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 1e6d2df - Browse repository at this point
Copy the full SHA 1e6d2dfView commit details
Commits on Jul 12, 2023
-
Lab 7 C: Change mknod implementation
Other changes: - Fix memory leaks in `_tmpfs_create` and `_tmpfs_mkdir`.
Configuration menu - View commit details
-
Copy full SHA for cbef6e7 - Browse repository at this point
Copy the full SHA cbef6e7View commit details -
Other changes: - Fix syscall number checking in `xcpt_svc_handler`.
Configuration menu - View commit details
-
Copy full SHA for 41019c4 - Browse repository at this point
Copy the full SHA 41019c4View commit details
Commits on Jul 14, 2023
-
Lab 7 C: Use VFS API in
sys_exec
Other changes: - Move `SEEK_*` constants around. - Properly handle setup errors in `vfs_mount`. - Add missing `static`s.
Configuration menu - View commit details
-
Copy full SHA for f507026 - Browse repository at this point
Copy the full SHA f507026View commit details -
Configuration menu - View commit details
-
Copy full SHA for 48aab76 - Browse repository at this point
Copy the full SHA 48aab76View commit details -
Configuration menu - View commit details
-
Copy full SHA for bb57655 - Browse repository at this point
Copy the full SHA bb57655View commit details
Commits on Oct 17, 2023
-
- Stops assuming that the number of sectors per cluster is 1. - Fix memory leak in `_sd_fat32_read`. - Slightly clean up `_sd_fat32_read`. - Remove useless code in `_sd_fat32_lseek64`. - Adds component name check in `_sd_fat32_lookup`. - Stops assuming that directories live in 1 cluster.
Configuration menu - View commit details
-
Copy full SHA for 9b06086 - Browse repository at this point
Copy the full SHA 9b06086View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9bcd6ec - Browse repository at this point
Copy the full SHA 9bcd6ecView commit details
Commits on Oct 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for c9e686f - Browse repository at this point
Copy the full SHA c9e686fView commit details
Commits on Oct 19, 2023
-
Lab 8 C: Fix write and create in sd_fat32
- Fix file size update in `_sd_fat32_write`. - `_sd_fat32_write` now persists the file size update in the SD card. - Fix directory entries used for LFN being overwritten in `_sd_fat32_create_impl`. - Fix directory table persistence using the wrong LBA in `_sd_fat32_create_impl`.
Configuration menu - View commit details
-
Copy full SHA for a41a73a - Browse repository at this point
Copy the full SHA a41a73aView commit details -
Implements block-level caching, which covers FAT caching and file content caching. Metadata caching (both FS-level and file-level) and the component name cache have been implemented, accidentally, by the previous commits. Also fixes signal handling due to a wrong system call number for the `sys_sigreturn` system call.
Configuration menu - View commit details
-
Copy full SHA for 44e2dad - Browse repository at this point
Copy the full SHA 44e2dadView commit details -
Configuration menu - View commit details
-
Copy full SHA for db1be14 - Browse repository at this point
Copy the full SHA db1be14View commit details