计算机操作系统实验指导书

上传人:枫** 文档编号:477596326 上传时间:2023-11-25 格式:DOCX 页数:23 大小:67.98KB
返回 下载 相关 举报
计算机操作系统实验指导书_第1页
第1页 / 共23页
计算机操作系统实验指导书_第2页
第2页 / 共23页
计算机操作系统实验指导书_第3页
第3页 / 共23页
计算机操作系统实验指导书_第4页
第4页 / 共23页
计算机操作系统实验指导书_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《计算机操作系统实验指导书》由会员分享,可在线阅读,更多相关《计算机操作系统实验指导书(23页珍藏版)》请在金锄头文库上搜索。

1、宁夏师范学院数学与计算机科学学院 操作系统实验指导OPERATING SYSTEM2013.08计算机操作系统是计算机科学与技术专业的主要专业基础课程, 其实践性、 应用性很强。 实践教学环节是必不可少的一个重要环节。 计算机操作系统的实验目的是加深对理论教学内容的理解和掌握, 使学生较系统地掌握操作系统的基本原理, 加深对操作系统基本方法的理解, 加深对课堂知识的理解, 为学生综合运用所学知识, 在 Linux 环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、 并在实践应用方面打下一定基础。 要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目

2、的,完成一个实验解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、 设计和解答类似问题; 对此能够较好地理解和掌握,并且能够进行简单分析和判断; 能够熟练使用 Linux 用户界面;掌握操作系统中进程的概念和控制方法; 了解进程的并发, 进程之间的通信方式, 了解虚拟存储管理的基本思想。 同时培养学生进行分析问题、 解决问题的能力; 培养学生完成实验分析、 实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。为了收到良好的实验效果, 编写了这本实验指导书。 在指导书中, 每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、 明确设计思路,

3、 通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。 任课教师在实验前对实验任务进行一定的分析和讲解, 要求学生按照每一个实验的具体要求提前完成准备工作, 如: 查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。实验完毕后, 学生应根据实验数据及结果, 完成实验报告,由学习委员统一收齐后交指导教师审阅评定。操作系统实验大纲 1第一部分 实验环境及所用系统函数介绍 31.1 Linux 操作系统简介 31.2 Linux 的使用 3第二部分 实验内容 7实验一 熟悉LINUX基本命令

4、及编程环境 7实验二 进程管理 10实验三 进程调度 14实验四 进程间通信19实验五 存储管理实验 22ii操作系统实验大纲一、教学目的和要求操作系统课程是一门理论性很强的专业课,操作系统实验是该课程的辅助课程。通过该课程的学习,使得学生能够熟悉 1-2种实用的操作系统,理解其工作原 理,掌握其使用;并能举一反三,具备自学其它操作系统的能力;通过实验加强 对操作系统基本原理的理解,掌握操作系统五大管理功能。进一步了解和掌握操 作系统原理,提高系统设计的能力。二、主要仪器设备计算机(要求安装 windows和linux双系统)三、实验项目设置与内容.实验项目的要熟Linu理解操作系统的接口功能

5、学Linu操作21统的常用命令;掌v编辑器的使用境加深对进程概念的理解,明确进程和程序的区验必操别;进程管理2 4进一步认识并发执行的实质;分析进程争 证 作修用资源的现象,学习解决进 程互斥的方法。必操验通过编程熟悉进程控制块和进程组织方式;熟43进程调度悉进程调度的概念和时间片轮转调度算法。证修作验证Linux系统的进程通信机构(IPC)允许在任意进程间大批计算机量地交换数据。实验 进必操程验问通44的目的是了解和熟悉作 Linux证支持的消息通信 信修机制、共享存储区机制及信息量机制。通过请求页式存储管理中页面置换算法模拟理储设存必管操设计,了解虚拟存储技术的特点5 ,掌握请求4实验 修

6、作计页式存储管理的页面置换算法。四、教材与参考资料.1.教材:操作系统实验指导参考书:汤小丹主编计算机操作系统(第四版),西安电子科学出版社,2007年参考资料:1任爱华等编著操作系统实验指导,清华大学出版社,2004年2周苏编著操作系统原理实验,科学出版社,2004年3孟静编著操作系统题解与实验指导,高等教育出版社,2002年五、教学资源多媒体实验室,实验指导,现场投影设备,linux, unix软件等。六、考核评价考核方式以提交的实验报告为主,考核成绩由平时成绩和实验报告两部分组成。要求随时检查学生考勤, 批改实验报告, 对于上机实验, 可以采用学生相互批阅、小组讨论的形式批阅学生作业,并

7、对存在的问题及时给予反馈。以上两个成绩累计60 分以上(包括60 分)算考核通过。.2.第一部分 实验环境及所用系统函数介绍DOS 操作系统是单道操作系统,无法进行多道程序设计, Windows 环境下的VisualC+虽然也可用于多道程序设计,但是并不是完全的多道,因为它也可用于DOS 编程。所以我们的实验选用 Linux 操作系统。 Linux 操作系统是一个类UINX 操作系统,是一个纯多道并发的网络操作系统。1.1 Linux 操作系统简介Linux 是一个多用户操作系统, 是 UNIX 的一个克隆版本(界面相同但内部实现不同),同时它是一个自由软件,是免费的、源代码开放的,这是它与U

8、NIX的不同之处。 现在, Linux 凭借优秀的设计, 不凡的性能, 加上 IBM 、 Intel 、 CA、CORE、Oracle等国际知名企业的大力支持,市场份额逐步扩大,已成为与 Windows 和 UNIX 并存的三大主流操作系统之一。1.2 Linux 的使用1.2.1 vi 的使用1) vi 的简单应用vi 是 linux 环境下赫赫有名的文本编辑工具之一。进入vi编辑器的方法:vi filename.c 注:文件名必须带有扩展名.c,如filename.c 否则无法通过编译;进入 vi 后要按:按“ i ”键从命令方式切换到输入方式;从输入方式切换到命令方式的方法:按“Esc”

9、键保存文件:w保存文件并退出:wq不保存文件退出:q!注:以上操作必须在命令方式下进行。2) 其他常用 vi 操作命令j,k,h,l:上下左右0: 行首$: 行尾ctrl+f : 后翻页.3.ctrl+b: 前翻页G : 文件尾数字 G: 数字所指定行i,I : 插入命令, i 在当前光标处插入, I 行首插入a,A: 追加命令, a 在当前光标后追加, A 在行末追加o,O: 打开命令, o 在当前行下打开一行, O 在当前行上插入一行x: 删除光标处字符dd: 删除当前行d0: 删除光标前半行d$: 删除光标后半行r,R :替换命令,r替换当前光标处字符,R从光标处开始替换/string:

10、 查找字符串n : 继续查找N : 反向继续查找% :查找对应括号u :取消上次操作注:以上操作必须在命令方式下进行。1.2.2 gcc的使用gcc是linux下的一种c程序编译工具,使用方法如下(有提示符#的情况):编译: gcc - o filenamel filename.c其中:filename.c是源文件名,filenamel是目标文件名,o代表object执行: ./filenamel示例:键入一简单的程序:vi ab.c 按回车键输入以下代码段,#include#includemain()printf( “ aaaa” );按ESC键,再按“:WQ”(W是保存,Q是退出)出现提示

11、符: root GGG-LINUX root#键入:gcc - o ab ab.c进行编译。执行: ./ab1.2.3 主要系统调用函数.4.1)系统调用 fork()功能:创建一个新的进程.头文件: #include 说明 :本系统调用产生一个新的进程, 叫子进程 , 是调用进程的一个复制品 . 调用进程叫父进程, 子进程继承了父进程的几乎所有的属性。(1) 该子进程继承了父进程的程序空间,复制了父进程的数据段和栈段。也就是说不管是父进程还是子进程,在占有处理机后,都从fork ()调用的返回点开始运行 ;(2) 调用成功则对父进程返回子进程标识号pid ;(3) 调用成功对子进程返回 0,

12、 这也是最方便的区分父子进程的方法。(4) 若调用失败则返回 -1 给父进程 , 子进程不生成。注意:如果fork()值0,0的数即是子进程号。但这时是父进程占有处理机。2)系统调用 wait ( &status)功能 : 等待子进程结束。(1) 当有多个子进程时,任一个子进程结束即将控制返回调用者,并将子进程调用 exit ( status )时的 status 值送到 &status 指针所指单元中。(2) 在控制返回调用者时,同时将所等到的子进程pid 作为 wait ()系统调用函数的返回值。(3)waitpid (pid ,):等待pid所指定的进程结束。(4)返回值:等待到一个子进

13、程返回时,返回值为该子进程号;否则返回值为-1。说明 : 允许调用进程(即父进程)取得子进程的状态信息,调用进程将会挂起直到其一个子进程终止。3)系统调用 exit()功能 : 终止进程 .语法 : #include void exit(status) int status功能:调用进程被该系统调用终止。该系统调用发出后, 操作系统将从系统中删除调用 exit 的进程,并将status 值传给等待它结束的父进程。返回值: 无4)系统调用 kill()功能 : 向一个或一组进程发送一个信号。语法 :#include int kill(pid, sig);pid_t pid; int sig;说明

14、 :向一个或一组进程发送一个信号,该信号由参数sig 指定,为系统给出的信号表 .5.中的一个。Sig 是 signal 的缩写。返回值 : 调用成功则返回0,否则返回-1.kill -STOP pid : 发送 SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。kill -CONT pid : 发送SIGCONT (19,18,25)重新开始一个停止的进程。kill -KILL pid : 发送 SIGKILL (9) 强迫进程立即停止,并且不实施清理操作。kill -9 -1: 终止拥有的全部进程。SIGKILL和SIGSTOP信号不能被捕捉、封锁或者忽略。5)系统调用

15、 lockf()功能:应用、检测或删除打开文件的一个POSIX 锁语法: #include int lockf(int fd, int cmd, off_t len);说明:应用、检测或删除打开文件某部分的一个POSIX 锁,文件通过fd 指明,文件的描述符的请求操作通过cmd 指明。#define F_ULOCK 0 解锁一个区域#define F_LOCK 1 上锁一个区域#define F_TLOCK 2 检测并上锁一个区域#define F_TEST 3检测一个区域是否上锁文件上锁区域的请求起始于隐含的偏移并包好len字节,假如len为负,从pospos+len-1,这里pos为当前文件位置,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号