《操作系统》基本课程实验指导书-2014 联系客服

发布时间 : 星期三 文章《操作系统》基本课程实验指导书-2014更新完毕开始阅读bec6706ea76e58fafab003ab

在Linux环境下,编写 Shell程序,计算磁盘上所有目录下平均文件个数、所有目录平均深度、所有文件名平均长度 实验7.3编程实验2

在Linux环境下,编写一个利用Linux系统调用删除文件的程序,加深对文件系统和文件操作的理解。

!1.3实验要求

? 学生以小组为单位,每组人数不超过2人。

? 以上7组实验中,每组至少完成1个实验,完成的实验总数不少

于8个,其中编程实验不少于4。

? “实验1.2虚拟机VM软件安装”“实验2.3内核模块”、“实验2.4

系统调用”、为必做实验。

? 实验完成后提交课程实验报告文档,并验收程序代码和上机演示。 ? 课程实验报告要求

对于编程实验,报告应包括:题目,实验目的、实验内容、实验设计原理、实验步骤、实验结果及分析和人员任务分配等。

2. 系统安装实验

2.1 实验1.1 Linux系统安装

1、实验目的

从CD-ROM安装Red Hat Linux操作系统,如Red Hat Linux7.2,建立后续各个实验的运行环境。

2、实验内容(以Red Hat Linux7.2为例)

Red Hat Linux7.2 安装光盘共有两张,第一张可直接从光盘启动,包含大部分的软件包和一些安装工具。第二张光盘包含许多附加软件包。以下为安装过程和注意事项。 (1)启动安装程序。用Linux的第一张光盘,从光驱引导启动程序,进入启动界面,显示提示符 ”boot: ”,选择图形模式进行安装。 (2)选择安装界面的使用语言 (3)选择默认的键盘设置

(4)选择默认的鼠标设置

(5)选择安装类型。Red Hat Linux提供了个人桌面、工作站、服务器和定制等多种安装类型。本实验选择个人桌面或定制方式。

(6)进行硬盘分区。Red Hat Linux采用了“装载”的处理方式,将1个分区和1个目录联系起来,每个分区都是整个文件系统的一部分。

Linux最少需要2个分区:Linux native(文件)分区、Linux Swap(交换)分区。前者用于存放Linux系统文件,只能用EXT2分区类型,在分区时应将载入点设置为“/”目录; 后者用作交换空间,将主存内暂时不用的数据缓存起来。建议采用如下分区方案

? SWAP分区

SWAP分区大小至少等于实际系统内存容量,一般可取为内存的2倍。 ? /boot分区

包含操作系统内核和启动时所用文件。建立单独的/boot分区后,即使主要根分区出了问题,系统仍然能够启动。此分区大小约在50MB-100MB之间

? /分区

根目录挂载位置。系统运行所需要的其它文件都在该分区,大小约在1.7GB 到5GB之间

初次安装系统时,最好选择自动安装方式。如果安装者对系统比较熟悉,可以用系统配置的营盘管理工具Disk Druid来订制所需分区。

(7)将文件系统设置为EXT2

(8)配置引导装载程序。选择LILO作为引导安装程序。LILO可以安装在第一硬盘的主引导区(MBR)或Linux分区的引导扇区。如果使用LILO来做双启动,须选择前者;如果用Linux启动软盘或其它系统引导器引导Linux,选择后者,即将LILO安装在Linux 分区的引导扇区。

(9)网络和防火墙配置

(10)选择默认的语言及其他语言支持 (11)时区配置

(12)设置root配置 (13)选择软件包组 (14) 筹建引导盘 (15) 配置显卡 (16) 进行安装

2.2 实验1.2 虚拟机VM软件安装

1、实验目的

在配备Windows操作系统Host机上,安装虚拟机软件Virtual PC for Windows或VMware For Windows, 进行BIOS设定, 对硬盘进行分区和格式化,安装Linux操作系统,以便在一台机器上模拟出多种操作系统运行环境。

通过本实验,进一步掌握课堂上所讲的虚拟机的概念。

2、实验内容

实验前的准备:

1、 获取安装介质 2、 熟悉虚拟机的操作

安装步骤(以Vmware为例):

1、 虚拟机软件的安装及设置 (1)、安装VMware,输入虚拟机序列号 (2)、创建一个新的虚拟机。

第一步:“File”->“New Virtual Machine”->“Custom”->“Next”->操作系统那栏选

Linux->“Next”。

第二步:设置虚拟机名以及配置文件 ->“Next”。 第三步:设置虚拟机的内存大小。

第四步:网络连接,使用默认设置->“Next”。

第五步:磁盘设定,如果你不是想让红旗Linux桌面4.0终生运行在虚拟机里,请选 “Use a physical disk”,让虚拟机与当前系统共用同一硬盘,而不是虚拟出一个硬盘。有一定风险,但是只要不胡乱操作,风险不大->“Next”。

第六步:指定要使用的硬盘->“Next”,设置配置文件的位置->“Finish”,忽略那个风险提示。

(3)、光驱软驱默认情况下也是和当前系统共用的,使用iso文件引导虚拟机,则“Edit virtual machine settings”,在左侧列表中选“DVD/CD-ROM”那项,再在右侧选“Use ISO image:”,指定安装红旗Linux桌面4.1的iso文件。

(4)、虚拟机默认不是从光盘引导的,要在它的BIOS里改,得先“Start this virtual machine”。如果出现“Do not forget to ...”的提示框,直接点“OK”。待VMware窗口中一大块变黑的时候,赶快用鼠标点那块黑,那块黑是虚拟机的屏幕。现在你的鼠标和键盘就转为控制虚拟机了。注意虚拟机屏幕下方的进度条,在走完之前,按“F2”键进行BIOSs设定。

(5)、用键盘的左右箭头键选中“Boot”标签,用上下箭头键选中“CD-ROM”。同时用“Shift”键和“+”键,把“CD-ROM”拎到顶上。用键盘的左右箭头键选中“Exit”标签,用上下箭头键选中“Exit Saving Changes”,回车->“YES”,等待虚拟机重新启动。同时按“Ctrl”和“Alt”键,鼠标和键盘就从虚拟机中解脱出来了。看到进度条的时候按VMware窗口左上方的红方块,停掉虚拟机。

2.3 实验1.3 Shell编程

1、实验目的与内容

通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。

编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。

2、程序源代码清单(参考)

#include #include int main(){

printf(\int pid; int state; int pfd[2]; pipe(pfd);

if (fork()==0){ printf(\

dup2(pfd[0],0); close(pfd[0]); close(pfd[1]);

execlp(\perror(\

}

esle if(fork()==0){

printf(\ dup2(pfd[1],1); }

close(pfd[1]); close(pfd[0]); wait(&state);

close(pfd[0]);

close(pfd[1]);

execlp(\perror(\