joshua912815-tg-rcore-tutorial-ch8-basic-0.8.0-preview.5 is not a library.
joshua912815-tg-rcore-tutorial-ch8-basic
joshua912815-tg-rcore-tutorial-ch8-basic is a publishable Chapter 8 basic experiment crate for AI4OSE.
It packages the completed tg-rcore-tutorial Chapter 8 kernel experiment as a standalone crate root, including:
- thread support based on the
Process+Threadsplit - mutex, semaphore, and condvar system calls
- the Chapter 8 deadlock detection exercise
- a local snapshot of
tg-rcore-tutorial-userfor reproducible builds - a Chinese experiment report that can be used directly in the final course submission
Release Metadata
- Crate name:
joshua912815-tg-rcore-tutorial-ch8-basic - Crate version:
0.8.0-preview.5 - Git repository:
https://github.com/Joshua912815/tg-rcore-tutorial - Recommended git tag:
ch8-basic-crate-v0.8.0-preview.5 - Documentation on docs.rs:
https://docs.rs/joshua912815-tg-rcore-tutorial-ch8-basic - Included report path:
docs/concurrency-deadlock-detection-report-ch8.md
What This Crate Solves
This crate corresponds to the Chapter 8 basic experiment, not the Doom extension version.
The key completed tasks are:
- thread creation, waiting, and scheduling
- mutex / semaphore / condvar synchronization
- process-level deadlock detection enable switch
- deadlock rejection in
mutex_lockandsemaphore_down, returning-0xdead - preservation of Chapter 8 base functionality and exercise tests
Reproduce From crates.io
Install cargo-clone if needed:
Then:
Or:
Exercise mode:
Reproduce From Git Tag
Or:
Prerequisites
You need:
- Rust stable
riscv64gc-unknown-none-elftargetqemu-system-riscv64
Install the target if needed:
Build Notes
.cargo/config.tomlalready sets the RISC-V target and QEMU runner.build.rsbuilds the user programs and packs them intofs.img.- This crate includes a local
tg-rcore-tutorial-usersnapshot, socargo rundoes not depend on a parent workspace layout.
Verification Summary
The completed Chapter 8 experiment was verified with:
cargo check --features exercise./test.sh base->Test PASSED: 22/22./test.sh exercise->Test PASSED: 25/25
Key exercise outputs include:
deadlock test mutex 1 OK!deadlock test semaphore 1 OK!deadlock test semaphore 2 OK!
Included Documents
- Final report material:
docs/concurrency-deadlock-detection-report-ch8.md
License
GPL-3.0