# ostep V2 **Repository Path**: xushanpu/ostep-v2 ## Basic Information - **Project Name**: ostep V2 - **Description**: Something about ostep - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-26 - **Last Updated**: 2021-11-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 此项目为ostep的rust版本,其C语言版本的代码地址为:https://github.com/xushanpu123/xsp-daily-work/tree/master/ostep-code。其主要板块介绍如下:(每个板块包含一个cargo包,写在src/bin目录下,通过cargo run --bin命令来运行) - cpu-api 展示fork(),execv(),sleep(),wait()等与进程相关基本函数的功能。 - cpu-sched-lottery rust实现了链表linklist和模拟了一个基础的随机调度。 - dist-intro 展示一个基础的客户端、服务端通过UDP通信的功能。 - intro 展示进程、I/O、多线程、内存分配的相关功能。 - threads-api 展示进程的创建和阻塞等功能。 - threads-bugs 通过特定的程序来触发进程的死锁、读写不同步、不支持互斥等BUG。 - threads-cv 利用锁和条件变量来实现一些基础的同步互斥功能。 - threads-intro 通过多线程追踪变量的变化来分析多线程并行执行的特点。 - threads-sema 用信号量来解决读写问题、哲学家就餐问题、生产者消费问题、基本同步问题 - vm-intro 展示代码段数据(函数指针)、栈数据(局部变量)、堆上数据(alloc的数据)的地址。 - threads-locks/compare-and-swap(未实现) 实现一个基本的lock功能通过compare&swap原语。