浏览代码

README添加实验六和实验七

x86-32
423A35C7 5 个月前
父节点
当前提交
faec34e7e9
共有 3 个文件被更改,包括 23 次插入1 次删除
  1. +23
    -1
      README.md
  2. 二进制
      assets/实验七演示.gif
  3. 二进制
      assets/实验六演示.gif

+ 23
- 1
README.md 查看文件

@ -20,4 +20,26 @@
### 效果
![](assets/实验三演示.gif)
### 原理
在swap_fifo.c文件中,修改_fifo_swap_out_victim(或者新建一个函数)。当需要换出页面时,从链表尾部取出一个页面,如果这个页面的访问位是1,那么将其访问位改为0,并放到链表头部。接着再从链表尾部检测下一个页面,直到找到一个访问位为0页面的作为换出的页面。(测试函数_fifo_check_swap也需要略微更改)
在swap_fifo.c文件中,修改_fifo_swap_out_victim(或者新建一个函数)。当需要换出页面时,从链表尾部取出一个页面,如果这个页面的访问位是1,那么将其访问位改为0,并放到链表头部。接着再从链表尾部检测下一个页面,直到找到一个访问位为0页面的作为换出的页面。(测试函数_fifo_check_swap也需要略微更改)
## 实验四
无编程作业。
## 实验五
无编程作业。
## 实验六
### 题目
编程实现理论课中的彩票进程调度算法。(算法的描述以及实现思路可以参考理论课教材和课程PPT)
### 效果
![](assets/实验六演示.gif)
### 原理
在default_sched.c文件中,新建彩票进程调度的几个函数。将进程的优先级作为彩票数量,在入队和出队时维护运行队列中的优先级总和,当需要选择下一个调度的进程时,从0到优先级总和的范围中选取一个随机数,之后把运行队列中进程优先级逐个相加,直到大于此随机数,这说明此随机数在这个进程拥有的彩票范围内。
## 实验七
### 题目
利用信号量机制实现读者写者问题的同步关系。(算法的描述以及实现思路可以参考理论课教材和课程PPT)
### 效果
![](assets/实验七演示.gif)
### 原理
读者和读者不需要互斥,读者和写者需要互斥,写者和写者需要互斥。维护当前读者数量的变量,当大于0时写者需要等待,当有写者在写时其他进程需要等待。在主进程中随机创建读者进程和写者进程,并随机延迟,这样就能体现出读者和写者在不同情况下的互斥与同步是否正确。

二进制
assets/实验七演示.gif 查看文件

之前 之后
宽度: 572  |  高度: 805  |  大小: 1.2 MiB

二进制
assets/实验六演示.gif 查看文件

之前 之后
宽度: 572  |  高度: 805  |  大小: 184 KiB

正在加载...
取消
保存