- 博客(5)
- 收藏
- 关注
原创 磁盘调度算法模拟实验
示例实验程序中模拟两种磁盘移臂调度算法:SSTF 算法和 SCAN 算法新建dask.h文件,代码如下新建dask.cc文件,代码如下使用make命令编译连接,生成可执行文件dask执行./dask命令,输入当前道号,当前寻道方向,当前请求寻道数,当前请求寻道的道号串,结果如下:道号串为:98 183 37 122 14 124 65 67。
2024-06-11 20:09:22
1613
原创 进程同步实验
该示例实验用于模拟多个生产/消费者在有界缓冲上正确的操作。它利用N 个字节的共享内存作为有界循环缓冲区,利用写一字符模拟放一个产品,利用读一字符模拟消费一个产品。当缓冲区空时消费者应阻塞睡眠,而当缓冲区满时生产者应当阻塞睡眠。一旦缓冲区中有空单元,生产者进程就向空单元中入写字符,并报告写的内容和位置。一旦缓冲区中有未读过的字符,消费者进程就从该单元中读出字符,并报告读取位置。生产者不能向同一单元中连续写两次以上相同的字符,消费者也不能从同一单元中连续读两次以上相同的字符。
2024-05-30 17:14:06
528
原创 进程通信实验
fork() 函数用于创建一个新进程(子进程),这个新进程是调用 fork() 的进程(父进程)的副本。调用 fork() 后,父进程和子进程可以分别执行不同的代码路径。
2024-05-22 15:24:42
1675
原创 Linux下多线程编程实践
首先使用vim命令创建一个nosync-ex.c文件然后自动会进入编辑界面,将代码填入后使用:wq来保存(此后将不会再赘述这部分内容)接下来使用命令就行编译命令运行文件如图,1000000+1000000的结果是错误的,其原因是因为sum变量被两个线程共享。每个线程都会对sum进行递增操作,导致了数据竞争的问题,从而使得结果不可预期,通过这部分的学习我们将会明白线程设计中互斥锁的重要性。
2024-05-15 16:32:18
353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人