├── .gitignore ├── README.md ├── cpu-api ├── .gitignore ├── Cargo.toml ├── Makefile └── src │ ├── bin │ ├── p1.rs │ ├── p2.rs │ ├── p3.rs │ └── p4.rs │ └── main.rs ├── cpu-sched-lottery ├── Cargo.toml ├── Makefile └── src │ ├── bin │ └── lottery.rs │ └── main.rs ├── dist-intro ├── .gitignore ├── Cargo.toml ├── Makefile └── src │ ├── bin │ ├── client.rs │ └── server.rs │ ├── main.rs │ └── transform.rs ├── intro ├── Cargo.toml └── src │ ├── bin │ ├── cpu.rs │ ├── io.rs │ ├── mem.rs │ └── threads.rs │ ├── common.rs │ ├── lib.rs │ └── main.rs ├── threads-api ├── .gitignore ├── Cargo.toml ├── Makefile └── src │ └── bin │ ├── thread_create.rs │ ├── thread_create_simple_args.rs │ └── thread_create_with_return_args.rs ├── threads-bugs ├── .gitignore ├── Cargo.toml ├── Makefile └── src │ └── bin │ ├── atomicity.rs │ ├── atomicity_fixed.rs │ ├── deadlock.rs │ ├── ordering.rs │ └── ordering_fixed.rs ├── threads-locks ├── .gitignore ├── Cargo.toml ├── Makefile └── src │ └── bin │ └── compare-and-swap.rs ├── threads-sema ├── .gitignore ├── Cargo.toml ├── Makefile └── src │ └── bin │ ├── binary.rs │ ├── dining_philosophers_deadlock.rs │ ├── dining_philosophers_deadlock_print.rs │ ├── dining_philosophers_no_deadlock.rs │ ├── dining_philosophers_no_deadlock_print.rs │ ├── join.rs │ ├── producer_consumer_works.rs │ ├── rwlock.rs │ ├── throttle.rs │ └── zemaphore.rs ├── user-lib ├── Cargo.toml └── src │ └── lib.rs └── vm-intro ├── .gitignore ├── Cargo.toml ├── Makefile └── src └── bin └── va.rs /.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | target 3 | tmpfile 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/README.md -------------------------------------------------------------------------------- /cpu-api/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /cpu-api/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/cpu-api/Cargo.toml -------------------------------------------------------------------------------- /cpu-api/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/cpu-api/Makefile -------------------------------------------------------------------------------- /cpu-api/src/bin/p1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/cpu-api/src/bin/p1.rs -------------------------------------------------------------------------------- /cpu-api/src/bin/p2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/cpu-api/src/bin/p2.rs -------------------------------------------------------------------------------- /cpu-api/src/bin/p3.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/cpu-api/src/bin/p3.rs -------------------------------------------------------------------------------- /cpu-api/src/bin/p4.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/cpu-api/src/bin/p4.rs -------------------------------------------------------------------------------- /cpu-api/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/cpu-api/src/main.rs -------------------------------------------------------------------------------- /cpu-sched-lottery/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/cpu-sched-lottery/Cargo.toml -------------------------------------------------------------------------------- /cpu-sched-lottery/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/cpu-sched-lottery/Makefile -------------------------------------------------------------------------------- /cpu-sched-lottery/src/bin/lottery.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/cpu-sched-lottery/src/bin/lottery.rs -------------------------------------------------------------------------------- /cpu-sched-lottery/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | println!("Hello, world!"); 3 | } 4 | -------------------------------------------------------------------------------- /dist-intro/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /dist-intro/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/dist-intro/Cargo.toml -------------------------------------------------------------------------------- /dist-intro/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/dist-intro/Makefile -------------------------------------------------------------------------------- /dist-intro/src/bin/client.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/dist-intro/src/bin/client.rs -------------------------------------------------------------------------------- /dist-intro/src/bin/server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/dist-intro/src/bin/server.rs -------------------------------------------------------------------------------- /dist-intro/src/main.rs: -------------------------------------------------------------------------------- 1 | mod transform; 2 | fn main() { 3 | println!("Hello, world!"); 4 | } 5 | -------------------------------------------------------------------------------- /dist-intro/src/transform.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/dist-intro/src/transform.rs -------------------------------------------------------------------------------- /intro/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/intro/Cargo.toml -------------------------------------------------------------------------------- /intro/src/bin/cpu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/intro/src/bin/cpu.rs -------------------------------------------------------------------------------- /intro/src/bin/io.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/intro/src/bin/io.rs -------------------------------------------------------------------------------- /intro/src/bin/mem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/intro/src/bin/mem.rs -------------------------------------------------------------------------------- /intro/src/bin/threads.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/intro/src/bin/threads.rs -------------------------------------------------------------------------------- /intro/src/common.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/intro/src/common.rs -------------------------------------------------------------------------------- /intro/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod common; 2 | -------------------------------------------------------------------------------- /intro/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | println!("Hello, world!"); 3 | } 4 | -------------------------------------------------------------------------------- /threads-api/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /threads-api/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-api/Cargo.toml -------------------------------------------------------------------------------- /threads-api/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-api/Makefile -------------------------------------------------------------------------------- /threads-api/src/bin/thread_create.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-api/src/bin/thread_create.rs -------------------------------------------------------------------------------- /threads-api/src/bin/thread_create_simple_args.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-api/src/bin/thread_create_simple_args.rs -------------------------------------------------------------------------------- /threads-api/src/bin/thread_create_with_return_args.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-api/src/bin/thread_create_with_return_args.rs -------------------------------------------------------------------------------- /threads-bugs/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /threads-bugs/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-bugs/Cargo.toml -------------------------------------------------------------------------------- /threads-bugs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-bugs/Makefile -------------------------------------------------------------------------------- /threads-bugs/src/bin/atomicity.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-bugs/src/bin/atomicity.rs -------------------------------------------------------------------------------- /threads-bugs/src/bin/atomicity_fixed.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-bugs/src/bin/atomicity_fixed.rs -------------------------------------------------------------------------------- /threads-bugs/src/bin/deadlock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-bugs/src/bin/deadlock.rs -------------------------------------------------------------------------------- /threads-bugs/src/bin/ordering.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-bugs/src/bin/ordering.rs -------------------------------------------------------------------------------- /threads-bugs/src/bin/ordering_fixed.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-bugs/src/bin/ordering_fixed.rs -------------------------------------------------------------------------------- /threads-locks/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /threads-locks/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-locks/Cargo.toml -------------------------------------------------------------------------------- /threads-locks/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | cargo run --bin ${bin} 3 | -------------------------------------------------------------------------------- /threads-locks/src/bin/compare-and-swap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-locks/src/bin/compare-and-swap.rs -------------------------------------------------------------------------------- /threads-sema/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /threads-sema/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-sema/Cargo.toml -------------------------------------------------------------------------------- /threads-sema/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-sema/Makefile -------------------------------------------------------------------------------- /threads-sema/src/bin/binary.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-sema/src/bin/binary.rs -------------------------------------------------------------------------------- /threads-sema/src/bin/dining_philosophers_deadlock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-sema/src/bin/dining_philosophers_deadlock.rs -------------------------------------------------------------------------------- /threads-sema/src/bin/dining_philosophers_deadlock_print.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-sema/src/bin/dining_philosophers_deadlock_print.rs -------------------------------------------------------------------------------- /threads-sema/src/bin/dining_philosophers_no_deadlock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-sema/src/bin/dining_philosophers_no_deadlock.rs -------------------------------------------------------------------------------- /threads-sema/src/bin/dining_philosophers_no_deadlock_print.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-sema/src/bin/dining_philosophers_no_deadlock_print.rs -------------------------------------------------------------------------------- /threads-sema/src/bin/join.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-sema/src/bin/join.rs -------------------------------------------------------------------------------- /threads-sema/src/bin/producer_consumer_works.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-sema/src/bin/producer_consumer_works.rs -------------------------------------------------------------------------------- /threads-sema/src/bin/rwlock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-sema/src/bin/rwlock.rs -------------------------------------------------------------------------------- /threads-sema/src/bin/throttle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-sema/src/bin/throttle.rs -------------------------------------------------------------------------------- /threads-sema/src/bin/zemaphore.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/threads-sema/src/bin/zemaphore.rs -------------------------------------------------------------------------------- /user-lib/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/user-lib/Cargo.toml -------------------------------------------------------------------------------- /user-lib/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/user-lib/src/lib.rs -------------------------------------------------------------------------------- /vm-intro/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /vm-intro/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/vm-intro/Cargo.toml -------------------------------------------------------------------------------- /vm-intro/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | cargo run --bin ${bin} 3 | -------------------------------------------------------------------------------- /vm-intro/src/bin/va.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chyyuu/ostep-code-rust/HEAD/vm-intro/src/bin/va.rs --------------------------------------------------------------------------------