操作系统实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统课程设计实验报告
2015 年1 月9 日成绩:
四、实验结果(程序截图)
主界面
先进先出效果
实现线程的并发执行,可设置时间片大小
实现线程对同一资源的互斥访问
实现生产者和消费者同步问题
实现消息缓冲通信
五、思考与探索
(1)为什么时间片不能太小或太大
答:设置过长的时间片会导致结果和进程在一个时间片内完成任务,从而先进先出算法的效果一样,失去时间片的意,义。设置过短会导致进程切换频繁,CPU的效率降低
shell
无名管道通信
发送者进程(消息队列通信)
接收者进程(消息队列)
主程序(消息队列通信)
共享内存思路
四、实验结果(程序截图)
消息队列
Shell命令
五、思考与探索
当时卡壳的地方
(1)我们在设计程序时,最卡壳的地方在共享内存来实现通信时,能
创建新目录
创建文件和目录相似
删除目录
读文件
初始化
主程序
删除文件
打开文件
四、实验结果(程序截图)
界面
五、思考与探索
文件系统的难点:
文件系统是我们经历的最难的一个实验了。除了代码量大,还有就是
很难理解。下面是我们在和组员交流我们的代码时,组员的问题和解
答(可能有不准确的地方)
(1).和..两个特殊的目录项,他们的first(文件起始盘块号)指
向哪里?
答:在根目录中,它们两个都指向同一个盘块,就是他自己。但其他
文件中,“.”指向他自己的起始盘块号,而“..”指向他父亲的起始盘
块号
(2)为什么在my_format()函数中,
fat1 = (fat *)(myvhard + BLOCKSIZE);
fat2 = (fat *)(myvhard + 3 * BLOCKSIZE);
root = (fcb *)(myvhard + 5 * BLOCKSIZE);
为什么都差了2个盘块大小
答:这个要从磁盘布局说起
虚拟磁盘一共划分成1000个磁盘块,每个块1024个字节,其中引导块占一个盘块,两张FAT各占2个盘块,剩下的空间全部是数据区,在对虚拟磁盘进行格式化的时候,将把数据区第1块(即虚拟磁盘的第6块)分配给根目录文件,