《计算机操作系统》实验指导书.docx
《《计算机操作系统》实验指导书.docx》由会员分享,可在线阅读,更多相关《《计算机操作系统》实验指导书.docx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机操作系统试验指导书适合于计算机科学与技术专业湖南工业大学计算机与通信学院二O 一四 年 十月前言计算机操作系统是计算机科学与技术专业的主要专业根底课程,其实践性、应用性很强。实践教学环节是必不行少的一个重要环节。计算机操作系统的试验目的是加深对理论教学内容的理解和 把握,使学生较系统地把握操作系统的根本原理,加深对操作系统根本方法的理解,加深对课堂知 识的理解,为学生综合运用所学学问,在Linux 环境下调用一些常用的函数编写功能较简洁的程序来实现操作系统的根本方法、并在实践应用方面打下肯定根底。要求学生在试验指导教师的帮助下 自行完成各个操作环节,并能实现且到达举一反三的目的,完成一个
2、试验解决一类问题。要求学生 能够全面、深入理解和娴熟把握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好 地理解和把握,并且能够进展简洁分析和推断;能够娴熟使用Linux 用户界面;把握操作系统中进程的概念和掌握方法;了解进程的并发,进程之间的通信方式,了解虚拟存储治理的根本思想。同 时培育学生进展分析问题、解决问题的力量;培育学生完成试验分析、试验方法、试验操作与测试、试验过程的观看、理解和归纳力量。为了收到良好的试验效果,编写了这本试验指导书。在指导书中,每一个试验均依据该课程实 验大纲的要求编写,力求紧扣理论学问点、突出设计方法、明确设计思路,通过多种形式完成试验 任务,最终引
3、导学生有目的、有方向地完成试验任务,得出试验结果。任课教师在试验前对试验任 务进展肯定的分析和讲解,要求学生依据每一个试验的具体要求提前完成预备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有预备地上机。进展试验时,指导教师应检查学生的 预习状况,并对调试过程赐予乐观指导。试验完毕后,学生应依据试验数据及结果,完成试验报告, 由学习委员统一收齐后交指导教师批阅评定。试验成绩考核:试验成绩占计算机操作系统课程总评成绩的20%。指导教师每次试验对学生进展出勤考核,对 试验效果作记录,并准时批改试验报告,综合评定每一次的试验成绩,在学期终了以平均成绩作为该生的试验成绩。有以下情形之一者
4、,试验成绩为不及格:1. 迟到、早退、无故缺勤总共 3 次及以上者;2. 未按时完成试验达 3 次及以上者;3. 缺交试验报告 2 次及以上者。ii目录第一局部 试验环境及所用系统函数介绍11.1 Linux 操作系统简介11.2 Linux 的使用11.2.1 vi 的使用11.2.2 gcc 的使用21.2.3 主要系统调用函数2其次局部 试验内容5试验一 生疏 LINUX 根本命令及编程环境5试验二 进程治理8试验三 进程调度12试验四 进程间通信17试验五 存储治理试验20第一局部 试验环境及所用系统函数介绍DOS 操作系统是单道操作系统,无法进展多道程序设计,Windows 环境下的
5、 Visual C+虽然也可用于多道程序设计,但是并不是完全的多道,由于它也可用于 DOS 编程。所以我们的试验选用 Linux 操作系统。Linux 操作系统是一个类 UINX 操作系统,是一个纯多道并发的网络操作系统。1.1 Linux 操作系统简介Linux 是一个多用户操作系统,是 UNIX 的一个克隆版本(界面一样但内部实现不同),同时它是一个自由软件,是免费的、源代码开放的,这是它与UNIX 的不同之处。现在,Linux 凭借优秀的设计,非凡的性能,加上IBM、Intel、CA、CORE、Oracle 等国际知名企业的大力支持,市场份额逐步扩大,已成为与 Windows 和 UNI
6、X 并存的三大主流操作系统之一。1.2 Linux 的使用1.2.1 vi 的使用1) vi 的简洁应用vi 是 linux 环境下赫赫知名的文本编辑工具之一。进入vi 编辑器的方法:vifilename.c注:文件名必需带有扩展名.c,如 filename.c否则无法通过编译;进入 vi 后要按:按“i”键从命令方式切换到输入方式; 从输入方式切换到命令方式的方法:按“Esc”键保存文件:w保存文件并退出:wq不保存文件退出:q!注:以上操作必需在命令方式下进展。2) 其他常用 vi 操作命令j,k,h,l:上下左右0: 行首$:行尾 ctrl+f :后翻页ctrl+b:前翻页G : 文件尾
7、数字 G: 数字所指定行i,I : 插入命令,i 在当前光标处插入, I 行首插入.1.a,A: 追加命令,a 在当前光标后追加,A 在行末追加o,O: 翻开命令,o 在当前行下翻开一行,O 在当前行上插入一行x: 删除光标处字符dd: 删除当前行d0: 删除光标前半行d$: 删除光标后半行r,R : 替换命令,r 替换当前光标处字符,R 从光标处开头替换/string: 查找字符串n : 连续查找N : 反向连续查找%:查找对应括号u:取消上次操作注:以上操作必需在命令方式下进展。1.2.2 gcc 的使用gcc 是 linux 下的一种 c 程序编译工具,使用方法如下有提示符#的状况:编译
8、: gccofilename1 filename.c其中: filename.c 是源文件名,filename1 是目标文件名,o 代表 object执行:./filenamel例如:键入一简洁的程序:vi ab.c 按回车键输入以下代码段, #include #includemainprintf(“aaaa”)按 ESC 键,再按“:WQ”(W 是保存,Q 是退出) 消灭提示符:root GGG-LINUX root#键入:gcc o ab ab.c 进展编译。执行:./ab1.2.3 主要系统调用函数1.2.1 系统调用 fork 功能:创立一个的进程. 头文件:#include 说明:本
9、系统调用产生一个的进程 , 叫子进程, 是调用进程的一个复制品 . 调用进程叫父进程, 子进程继承了父进程的几乎全部的属性。(1) 该子进程继承了父进程的程序空间,复制了父进程的数据段和栈段。也就是说不管是父进程还是子进程,在占有处理机后,都从fork调用的返回点开头运行;(2) 调用成功则对父进程返回子进程标识号 pid;(3) 调用成功对子进程返回 0, 这也是最便利的区分父子进程的方法。(4) 假设调用失败则返回-1 给父进程, 子进程不生成。留意:假设 fork值0,0 的数即是子进程号。但这时是父进程占有处理机。1.2.2 系统调用 wait&status:功能: 等待子进程完毕。(
10、1) 当有多个子进程时,任一个子进程完毕马上掌握返回调用者,并将子进程调用exit status时的 status 值送到&status 指针所指单元中。(2) 在掌握返回调用者时,同时将所等到的子进程pid 作为 wait系统调用函数的返回值。(3) waitpidpid,:等待 pid 所指定的进程完毕。(4) 返回值:等待到一个子进程返回时,返回值为该子进程号;否则返回值为1。说明: 允许调用进程即父进程取得子进程的状态信息,调用进程将会挂起直到其一个子进程终止。1.2.3 系统调用 exit功能: 终止进程.语法: #include void exit(status)int statu
11、s功能:调用进程被该系统调用终止。该系统调用发出后,操作系统将从系统中删除调用 exit 的进程,并将 status 值传给等待它完毕的父进程。返回值: 无1.2.4 系统调用 kill功能: 向一个或一组进程发送一个信号。语法:#include int kill(pid, sig); pid_t pid; int sig;说明:向一个或一组进程发送一个信号,该信号由参数 sig 指定,为系统给出的信号表中的一个。Sig 是 signal 的缩写。返回值: 调用成功则返回 0,否则返回-1.kill -STOP pid: 发送SIGSTOP (17,19,23)停顿一个进程,而并不消灭这个进程
12、。kill -CONT pid: 发送 SIGCONT (19,18,25)重开头一个停顿的进程。kill -KILL pid: 发送 SIGKILL (9)强迫进程马上停顿,并且不实施清理操作。kill -9 -1: 终止拥有的全部进程。SIGKILL 和 SIGSTOP 信号不能被捕获、封锁或者无视。1.2.5 系统调用 lockf功能:应用、检测或删除翻开文件的一个 POSIX 锁语法:#include int lockf(int fd, int cmd, off_t len);说明:应用、检测或删除翻开文件某局部的一个POSIX 锁,文件通过fd 指明,文件的描述符的恳求操作通过 cm
13、d 指明。#define F_ULOCK 0 解锁一个区域#define F_LOCK 1 上锁一个区域#define F_TLOCK 2 检测并上锁一个区域#define F_TEST 3 检测一个区域是否上锁文件上锁区域的恳求起始于隐含的偏移并包好len 字节,假设 len 为负,从pospos+len-1,这里 pos 为当前文件位置,假设 len 为零,则位置从当前文件位置延长延长到无限长,包括当前和以后的文件最终的位置。在全部状况下,位置可延长到以前当前的文件的最终位置。在 Linux 中,这称为 fcntl(2)的接口一般会指明 lockf 和 fcntl 的关系。1.2.6 系统
14、调用 pipe是用来建立管道的。语法: #include int pipe(int fd2); 这里 fd1为写入端,fd0为读出端。功能:从管道里写或从管道里读。 计算机操作系统试验指导书其次局部 试验内容试验一 生疏 LINUX 根本命令及编程环境一、试验类型本试验为验证性试验。二、试验目的与任务1) 生疏使用 Linux 字符界面,窗口系统的常用命令;2) 生疏运用 Linux 常用的编程工具;3) 生疏运用 Linux 的在线求助系统。三、预习要求1) 生疏一种操作系统的使用和安装,如windows 操作系统的安装,DOS 系统的使用2) 了解进程的概念及进程的状态3) 生疏 c 语言
15、程序设计4) 生疏 c 语言程序编译过程四、试验根本原理进入 Linux 操作系统后,掌握终端的命令行输入方式下输入各种命令,并显示各种命令操作后的输出结果,操作包括文件操作命令的使用,vi 命令的使用以及 gcc 编译器的使用,具体的各种命令及使用方式见第一局部的介绍。五、试验仪器与设备或工具软件试验设备:计算机一台,软件环境要求:安装 Red Hat Linux 操作系统和 gcc编译器。六、试验内容1使用常用的操作命令 ls, cp, rm, mkdir, man, vi 等。 2生疏怎么编辑一个程序编辑,调试,运行见,输入一个简洁的 C 程序进展练习,参考练习程序如下: 程序 1#in
16、clude.14.mainint p1; while(p1=fork)=-1); if(p1=0)putchar(B); else putchar(A);程序 2 #include #include “stdafx.h“ mainint row,column,num,n=6; for(row=1;rown;row+)for(column=1;column=1;num-) printf(“%d“,num); for(num=2;num=row;num+)printf(“%d“,num);printf(“n“);七、试验步骤1) 进入 Linux 操作系统开机后,选择进入Linux 操作系统方式,
17、输入用户名和密码,即可进入Linux 操作系统。2) 进入掌握终端的命令行输入方式在 Linux 操作系统环境下,点击“小红帽”菜单,选择“系统”下拉菜单,选择“终端”选项,进入命令行输入方式。3) 输入命令后按回车键在命令行输入方式下,输入各种文件操作命令,并按回车查看显示结果。八、留意事项1) gcc 编译器不能编译不带扩展名的 c 语言程序。2) 留意编译和运行程序的根本过程。3) 留意娴熟使用 man 命令来查看某条命令的含义及使用方式。九、试验报告要求要求列出多条命令的使用和相应结果,需要列出运行了的程序清单及相应结果,并对结果进展分析和争论。试验二 进程治理一、试验类型本试验为设计
18、性试验。二、试验目的与任务1) 加深对进程概念的理解,明确进程和程序的区分。2) 进一步生疏并发执行的实质三、预习要求1) 进程的概念2) 进程掌握的概念及内容3) 进程的并发执行4) 生疏互斥的概念5) 用到的 Linux 函数有:fork,lockf等。四、试验根本原理使用 fork系统调用来创立一个子进程,父进程和子进程并发执行,交替输出结果。使用 lockf系统调用对临界区进展加锁操作,实现对共享资源的互斥使用。五、试验仪器与设备或工具软件试验设备:计算机一台,软件环境要求:安装 Red Hat Linux 操作系统和 gcc 编译器。六、试验内容1) 进程的创立编写一段程序,使用系统
19、调用 fork( ) 创立两个子程序。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。运行程序 10 次,观看记录屏幕上的显示结果,并分析缘由。2) 进程的掌握修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,再观看程序执行时屏幕上消灭的现象,并分析缘由。假设在程序中使用系统调用 lockf来给每一个进程加锁,可以实现进程间的互斥,观看并分析消灭的现象。(1) 进程的创立参考程序如下:#include mainint p1,p2; while(p1=fork)=-1);if(p1!
20、=0)while(p2=fork)=-1);if(p2=0) putchar(”b”); else putchar(”c”);else putchar(”a”);运行结果:bca(或 bac)分析:从进程并发执行来看,输出 bac,acb 等状况都有可能。缘由:fork创立进程所需的时间要多于输出一个字符的时间,因此在主程序创立进程的同时,进程 2 就输出了”b”,而进程 2 和主程序的输出次序是随机的,所以消灭上述结果。(2) 进程的掌握参考程序如下#includemainint p1,p2,i;while (p1=fork)=-1); if(p1=0)for(i=0;i500;i+) pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机操作系统 计算机 操作系统 实验 指导书
限制150内