- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安交通大学
实验报告
——操作系统原理课内实验
姓名:
班级:
学号:
实验一 用户接口实验
一、 实验目的
1、理解并掌握面向操作命令的接口Shell,学会简单的shell编码。
2、理解操作系统调用的运行机制,掌握创建系统调用的方法。
二、 实验内容
1、 控制台命令接口实验
理解面向操作命令的接口shell和进行简单的shell编程。
该实验是通过“几种操作系统的控制台命令”、“终端处理程序”、“命令解释程序”和“Linux 操作系统的 bash”来让实验者理解面向操作命令的接口 shell 和进行简单的 shell 编程。
查看 bash 版本。
编写 bash 脚本,统计/my 目录下 c 语言文件的个数 2) 系统调用实验 。
2、系统调用实验
理解操作系统调用的运行机制。
该实验是通过实验者对“Linux 操作系统的系统调用机制”的进一步了解来理解操作 系统调用的运行机制;同时通过“自己创建一个系统调用 mycall()”和“编程调用自己 创建的系统调用”进一步掌握创建和调用系统调用的方法。
编程调用一个系统调用 fork(),观察结果。
编程调用创建的系统调用 foo(),观察结果。
自己创建一个系统调用 mycall(),实现功能:显示字符串到屏幕上。
编程调用自己创建的系统调用。
三、实验准备
为了使用户通过操作系统完成各项管理任务,操作系统必须为用户提供各种接口来实现 人机交互。经典的操作系统理论将操作系统的接口分为控制台命令和系统调用两种。前者主 要提供给计算机的操作人员对计算机进行各种控制;而后者则提供个程序员,使他们可以方 便地使用计算机的各种资源。
四、 实验步骤及结果
1、 控制台命令接口实验
(1)查看 bash 版本
操作:
在 shell 提示符下输入:
$echo $BASH_VERSION
结果:
版本是4.2.42(1)-release
(2)建立 bash 脚本,输出 Hello word
操作:
在编辑器中输入以下内容
#!/bin/bash
echo Hello World!
结果:
操作:
执行脚本 使用指令:
$./text
结果:
(3)编写 bash 脚本:统计/my 目录下 c 语言文件的个数
通过 bash 脚本,可以有多种方式实现这个功能,而使用函数是其中个一个选择。
在使用函数之前,必须先定义函数。 进入自己的工作目录,编写名为 count 的文件。
脚本程序:
#! /bin/bash
function count
{
echo –n Number of matches for $1: #接收程序的第一个参数
ls $1|wc –l #对子程序的第一个参数所在的目录进行操作
}
将 count 文件复制到当前目录下,然后在当前目录下建立文件夹,在 my 目录下建立几个 c 文件,以便用来进行测试。
添加系统调用
(1)编程调用一个系统调用fork(),观察结果。
源程序:
# include stdio.h
int main()
{
int iUid;
iUid=fork();
if(iUid==0)
for(;;) { printf(This is child process.\n);
sleep(1);
}
if(iUid0)
for(;;) {
printf(This is parent process.\n);
sleep(1);
}
if(iUid0) printf(Can not use system call.\n);
return 0;
}
实验结果:
(2)操作:
1. Linux-3.0.tar.bz2拷贝到/usr/src目录下——命令:cp linux-3.0.tar.bz2
/usr/src/
2. 打开终端,获得root权限——命令:sudo –s
3. 进入/usr/src目录——命令:cd /usr/src
4. 解压linux源码——命令:tar xvzf linux-3.0.tar.bz2
5. 进入目录linux-3.0.5——命令:cd linux-3.0
6. 添加系统调用——:gedit kernel/myservice.c 在文本编辑器中添加
#include linux/kernel.h
#include linux/linkage.h
asmlinkage void sys_mycall()
{
printk(KERN_
您可能关注的文档
- 《作为生物的社会》上课精编.ppt
- 图解单相电容分相式电动机的重绕解说.doc
- 【百分闯关】2016九年级化学下册第9单元实验活动5一定溶质质量分数的氯化钠新人教版精编.ppt
- 物流主管竞聘解说.pptx
- 【必修1】第27课世纪之交的世界格局精编.ppt
- 图片上传前的简单处理解说.doc
- 液压与气压传动题库解说.doc
- 液压与气压传动习题解答解说.doc
- 【创新设计】2014-2015学年高中化学1-3-2预测同主族元素的性质鲁科版必修2精编.ppt
- 【创新设计】2014-2015学年高中化学2-2-1化学反应的快慢鲁科版必修2精编.ppt
- 2025年中国锻铁围栏市场调查研究报告.docx
- 2025年中国椭圆型市场调查研究报告.docx
- 2025年中国无蔗糖原味豆浆市场调查研究报告.docx
- 2025-2031年中国泛在电力物联网行业发展运行现状及投资潜力预测报告.docx
- 2025年中国制袋机零件市场调查研究报告.docx
- 2025年中国智能除垢型电子水处理仪市场调查研究报告.docx
- 2025-2031年中国甘肃省乡村旅游行业市场深度研究及投资策略研究报告.docx
- 2025-2031年中国干海产品行业市场发展监测及投资战略规划报告.docx
- 2025年中国全铝图解易拉盖市场调查研究报告.docx
- 2025年中国人造毛皮服装市场调查研究报告.docx
最近下载
- 2024年新人教版七年级上册英语课件 Unit4 课时1 Section A(1a-1d).pptx VIP
- JGJT212-2010 地下工程渗漏治理技术规程.docx VIP
- 梅毒诊疗指南(2024年).pptx VIP
- 特种设备生产单位质量安全总监和质量安全员考试题库(含答案).docx VIP
- 北京市2025年中考语文模拟卷2(含答案).docx VIP
- 年产白酒800kL建设项目环评环境影响报告表(新版环评).doc VIP
- 一种低硅/铝比纳米Beta分子筛及合成方法.pdf VIP
- 医疗废物与污水处理培训.pptx VIP
- 中小企业数字化转型示范城市评分细则.pdf VIP
- 奇台县苏吉泉金矿第三稿.doc VIP
文档评论(0)