西安交通大学操作系统课内实验报告(3)

2019-08-17 13:47

为了协调双方的通信,管道通信机制必须提供以下3方面的协调能力:

? 互斥。当一个进程正在对pipe进程读/写操作时,另一进程必须等待,程序中使用

lock(fd[1],1,0)函数实现对管道的加锁操作,用lock(fd[1],0,0)解除管道的锁定。 ? 同步。当写进程把一定数量的数据写入pipe后,便去睡眠等待,直到读进程取走数

据后,再把它唤醒。当读进程试图从一空管道中读取数据时,也应睡眠等待,直至写进程将数据写入管道后,才将其唤醒。

? 判断对方是否存在。只有确定写进程和读进程都存在的情况下,才能通过管道进行

通信。 5)实验体会:

通过本次实验,我们理解了进程的实质和进程管理的机制。进程是操作系统中最重要的概念,是现代操作系统的关键。实验中我们在Linux 系统下实现进程从创建到终止的全过程,体会了进程的创建过程、父进程和子进程的关系、进程状态的变化、进程之间的同步机制、进程调度的原理和以信号和管道为代表的进程间通信方式的实现。

实验三存储器管理实验 实验目的

1) 理解内存页面调度的机理

2) 掌握几种理论页面置换算法的实现方法 3) 了解HASH数据结构的使用

4) 通过实验比较几种调度算法的性能优劣

页面置换算法是虚拟存储管理实现的关键,通过本次实验理解内存页面调度的机制,在模拟实现FIFO、LRU、NRU和OPT几种经典页面置换算法的基础上,比较各种页面置换算法的效率及优缺点,从而了解虚拟存储实现的过程。

准备知识

(1) C++、指针、结构体(类) (2) HASH表查找方式

(3) 操作系统相关内存交换知识 (4) 用到的LINUX函数

int getpid() 获得当前进程的id

void srand ( int a ) 以a为种子产生随机数 int rand() 根据前面的种子,返回一个随机数

实验内容

程序整体截图:

对比以下几种算法的命中率:

1) 先进先出算法FIFO(First In First Out)

运行结果截图:

2) 最近最少使用算法LRU(Least Recently Used)

运行结果截图:

3) 最佳置换算法OPT(Optimal Replacement)

运行结果截图:

实验四文件系统实验 实验目的

1) 掌握文件系统的工作机理。 2) 理解文件系统的主要数据结构。 3) 学习较为复杂的LINUX下的编程

实验内容

1) 设计并实现一个一级(单用户)文件系统程序 a.提供以下操作: ? ? ?

文件创建/删除接口命令create/delete 目录创建/删除接口命令mkdir/rmdir 显示目录内容命令ls

b.创建的文件不要求格式和内容 2) 设计并实现一个二级文件系统程序 a.提供用户登录; b.文件、目录要有权限 3) 程序设计思想

设计一个简单的文件系统,包括格式化、显示目录(文件)、创建文件、登录等几个简单命令的实现,而且能完成超级块的读写、节点的读写等过程。这是一个比真正的文件系统简单得多、但又能基本体现文件系统理论的程序。在超级块的使用上,采用操作系统关于这方面的经典理论:在节点使用上,主要模仿LINUX的EXT2文件系统。 4)程序截图:

5)实验体会:

通过本次实验,我们理解了内存页面调度的机制,掌握了几种理论页面置换算法的实现

方法,了解了 HASH 数据结构的使用。页面置换算法是虚拟存储管理实现的关键,FIFO、 LRU、NRU 和 OPT 是几种经典页面置换算法,我们通过实现这几种算法,比较了较各种页面置换算法的效率及优缺点,从而了解了虚拟存储实现的过程。

程序源代码:(部分源码截图)

存储器管理实验源代码部分截图:


西安交通大学操作系统课内实验报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:铝合金压铸项目环境影响评价报告表 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: