操作系统实验-实验指导书

更新时间:2024-01-03 20:34:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

3

《操作系统》实验指导书

实验学时:16

适用专业:计算机科学与技术,软件技术

操作系统上机实验

一、实验目的

主要目的是配合操作系统课程的学习,模拟实现操作系统的功能,有助于对操作系统的理解,同时加强学生对系统设计、程序编写、代码调试、软件开发过程基本技能的掌握。

上机作业应作到:覆盖讲授的所有原理内容,使得学生通过上机实践对原理有更深的理解;每一道上机作业,都要求学生必须完成一个完整的、可运行的小型软件,籍此提升基本的软件开发技能。

二、实验要求

(1)上机实验之前,学生应当为每次上机的内容作好充分准备。对每次上机需要完成的题目进行认真的分析,选择合适的算法,列出实验具体步骤,写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。

(2)按照实验目的和实验内容以及思考题的要求进行上机操作。录入程序,编译调试,反复修改,直到使用要求的算法,使程序正常运行,得出正确的输出结果为止。

(3)上机作业要求提交原始代码、设计文档和可运行程序。以完整的作业包的形式提交。实验报告应当包括:实验题目,程序清单,运行结果,所选取的算法及其优缺点以及通过上机取得了哪些经验。程序清单要求格式规范,注意加注释(包含关键

字、方法、变量等),在每个模块前加注释,注释不得少于20%

三、实验内容

上机实验包括:操作系统使用、SHELL编程、进程管理、进程调度、死锁处理、存储管理、文件系统几个部分。

实验1: SHELL编程

实验目的

熟悉linux常用命令,为以后的实验打下良好基础;

熟悉vi编辑器的使用;

了解Shell程序的语法规则,能编写简单的Shell程序。 实验内容

1、使用常用的Linux命令,主要包括如下命令:

date, mail, write, man, ls, cat, mv, grep, tail, head, cp, wc, pwd, who等; 2、使用vi编辑器编辑文件,熟悉vi编辑器的各种操作模式和常用命令。

3、使用vi编辑器编写一段Shell程序,取名为mycal,实现与Linux中cal命令类似的功能,当输入:

$mycal [月份名] 年时,屏幕输出指定的年月的月历。例如: $mycal October 2009

屏幕输出2009年10月的月历。 注:参数可以是英文或者是数字。

实验2:观察Linux的行为

实验目的

了解Linux proc文件系统; 加深对Linux系统的理解; 增强Linux系统管理知识。 实验内容

在Linux中,proc文件系统提供了一套在用户态检查内核状态和系统特征的机制。proc文件系统将进程的地址空间、系统的硬件信息、系统相关机制(中断、I/O)等内容全部设置为虚拟的Linux文件,为访问系统内核数据的操作提供接口。

1、以root登录系统,并进入/proc目录,键入ls命令,查看/proc下的内容,同时查看每个文件的读写权限。

2、根据/proc下的信息,回答:CPU的类型和型号、当前Linux版本、从启动到当前时刻所经过的时间、当前内存状态。

实验3:进程管理

实验目的

掌握进程的概念,深入理解进程的含义。认识并理解并发环境中进程执行的实质问题,了解构成并发机制的进程创建过程;

了解在进程创建后通过对进程控制的系统调用,可实现对进程的有效控制。掌握在进程执行中对进程进行睡眠、同步、撤消等控制方法;

分析进程竞争资源的现象,学习解决进程互斥的方法。 实验内容

1、创建新的进程;查看运行进程;换出某个进程;杀死运行进程。

2、采用写者优先重写P94的读者-写者问题,并通过一个读写序列,将算法与读者优先算法进行比较。

3、P98的53题的上机作业。

实验 4:进程间通信(IPC)

实验目的

了解IPC通信中的信号、管道、消息、共享存储区的通信原理和基本技术 掌握linux环境中构造这些通信机制的方法和步骤;

熟悉在实现通信中使用的系统调用和编程方式,以及这类程序的调试和技巧。 实验内容

选做其中三个,须在实验报告和源代码中说明所做的是哪几个

1、编写一个多进程使用信号通信的程序;

2、建立一个父子进程通信管道进行通信和程序;

3、构建客户进程和服务进程使用消息进行通信的机制; 4、用共享存储区方式实现多个进程的通信。

实验5:死锁处理

实验目的

深入理解死锁的概念; 了解死锁检测的基本方法。 实验内容

1、检测:实现每种类型一个资源、每种类型多个资源的死锁检测程序。假定某系统有n类资源,当①每种类型一个资源、②每种类型k个资源时,分别读入m个进程的资源总需求,以及各个进程现占有的资源情况, 生成系统可用资源向量,判断此状况下系统是否安全,如安全打印出安全序列。当发生死锁时,检测出死锁。

2、P261的第31、32、33题的上机作业。

实验6:存储管理

实验目的

深入理解内存管理的概念和方法; 加深对页面转换算法的理解。 实验内容

1、P141-142的第41、42题的上机作业。

实验7:文件系统

实验目的

加深对linux文件系统的理解。 实验内容

实现一个“difftree”命令,其功能是比较两个目录下的文件结构和文件信息。当在命令行方式下执行“difftree ”命令时,能够比较目录dir1和 目录dir2是否具有相同的结构,对相同的部分,进一步比较相同文件名的文件内容。列出比较的文件系统结构图。

本实验是对单个文件比较的扩展,设计中需要考虑目录操作。

本文来源:https://www.bwwdw.com/article/7mwx.html

Top