实验五-信号量的实现和应用,一、问题回答 1.在 pc.c 中去掉所有与信号量有关的代码,再运行程序,执行效果有变化吗?为什么会这样? 答:在去掉与信号量有关的代码后,执行结果Customer的消费数据没有按递增的顺序输出,且fread()函数将产生错误。 因为没有信号量P(S)控制,导致生产者可能在缓冲区满后继续生产,导致没有被消费的数据被覆盖,使得消费者消费的数据不是递增序列。同时,没有信号量V(S)控制,导致消费者可能在读取所有数据后仍然继续读取,导致读取的数据无效。没有mutex信号量控制导致出现多进程并发访问缓冲区,导致出现fread()错误。
2022-12-27 13:29:44 1.35MB 实验楼 操作系统 李治军 哈工大
1
哈工大李治军老师操作系统PPT
2022-10-15 17:00:36 113.24MB
1
此资源是哈工大李治军老师的课堂课件,1-32章,合并在一起,用adobe打开在左侧书签可以分章节看。
2022-08-03 20:00:36 20.1MB 操作系统 课件 哈工大李治军
1
包含linux-0.11源码,bochs模拟器等,配套李治军老师操作系统系列课程
2022-03-22 18:54:53 33.22MB 操作系统 Linux内核 oslab实验 李治军
1
李治军计算机操作系统课件.zip
2021-11-24 14:01:48 113.61MB 操作系统 计算机
1
实验三-进程运行轨迹的跟踪与统计,一、问题回答 1.结合自己的体会,谈谈从程序设计者的角度看,单进程编程和多进程编程最大的区别是什么? 答: 1)执行方式: 单进程是一个进程按设计好的流程从上到下顺序执行,程序设计者需要在该进程内合理安排执行顺序;而多进程是多个进程同时执行的,是并行的(实际上是高速切换着运行这多个进程),程序设计者除了考虑每个进程内的执行顺序,还要合理安排每个进程的流程。
2021-11-14 18:14:59 1.02MB 操作系统 李治军 哈工大 实验楼
1
李治军老师的哈工大操作系统课件 全部,内容详细,对初学者很有帮助,欢迎下载。 李治军老师的哈工大操作系统课件 全部,内容详细,对初学者很有帮助,欢迎下载。
2021-06-29 22:43:05 5.31MB 操作系统 课件
1
试验四-基于内核栈切换的进程切换,回答问题: (1)为什么要加 4096; (2)为什么没有设置 tss 中的 ss0。 答: (1)由于Linux 0.11进程的内核栈和该进程的PCB在同一页内存上(一块4KB大小的内存),其中PCB位于这页内存的低地址,栈位于这页内存的高地址;加4096就可以得到内核栈地址。 (2)tss.ss0是内核数据段,现在只用一个tss,因此不需要设置了。
2021-05-01 16:16:31 990KB 操作系统 实验楼 李治军 哈工大
1
哈工大 操作系统 实验 李治军 八个实验 还有从网上其他地方下载的
2020-01-03 11:20:14 21.89MB 哈工大 操作系统 实验 李治军
1
李治军老师的哈工大操作系统课件 全部,内容详细,对初学者很有帮助,欢迎下载。
2019-12-21 19:59:10 5.33MB 操作系统 课件
1