- 19
- 0
- 约8.61千字
- 约 19页
- 2018-12-21 发布于浙江
- 举报
西安交通大学实验报告
操作系统实验报告
岳凡
2130505141
计算机36班
操作系统实验
实验一:用户接口实验
实验目的
理解面向操作命令的接口Shell。
学会简单的shell编码。
理解操作系统调用的运行机制。
掌握创建系统调用的方法。
操作系统给用户提供了命令接口和程序接口(系统调用)两种操作方式。用户接口实验也因此而分为两大部分。首先要熟悉Linux的基本操作命令,并在此基础上学会简单的shell编程方法。然后通过想Linux内核添加一个自己设计的系统调用,来理解系统调用的实现方法和运行机制。在本次实验中,最具有吸引力的地方是:通过内核编译,将一组源代码变成操作系统的内核,并由此重新引导系统,这对我们初步了解操作系统的生成过程极为有利。
实验内容
控制台命令接口实验
该实验是通过“几种操作系统的控制台命令”、“终端处理程序”、“命令解释程序”和“Linux操??系统的bash”来让实验者理解面向操作命令的接口shell和进行简单的shell编程。
查看bash版本。
在 shell 提示符下输入:
$echo $BASH_VERSION
我们的版本是4.3.42(1)-release
(2)建立 bash 脚本,输出 Hello word
在编辑器中输入以下内容
#!/bin/bash
echo Hello World!
执行脚本 使用指令:
$./script
编写bash脚本,统计/my目录下c语言文件的个数
通过 bash 脚本,可以有多种方式实现这个功能,而使用函数是其中个一个选择。在使用函数之前,必须先定义函数。 进入自己的工作目录,编写名为 count 的文件 脚本程序:
#! /bin/bash
function count
{
echo –n Number of matches for $1: #接收程序的第一个参数
ls $1|wc –l #对子程序的第一个参数所在的目录进行操作
}
将 count 文件复制到当前目录下,然后在当前目录下建立文件夹,在 my 目录下建立几个 c 文件,以便用来进行测试
系统调用实验
该实验是通过实验者对“Linux操作系统的系统调用机制”的进一步了解来理解操作系统调用的运行机制;同时通过“自己创建一个系统调用mycall()”和“编程调用自己创建的系统调用”进一步掌握创建和调用系统调用的方法。
编程调用一个系统调用fork(),观察结果。
在应用程序中调用系统调用fork()非常简单,下面的程序可以很清楚的显示出有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;
}
程序运行结果:
编程调用创建的系统调用foo(),观察结果。
在内核源码中添加如下代码:
asmlinkage int sys_foo(int x)
{ printf(“%d\n”,x);
}
编程调用创建的系统调用 foo(),观察结果。
#include stdio.h
#include linux/unistd.h
_syscall1(char*,foo,int,ret)
main()
{
int I,J; I=100; J=0; J=foo(I);
printf(This is the result of new kernel\n);
printf(%d,j);
}
重新编译内核,编译成功后的内核版本如下:
自己创建一个系统调用mycall(),实现功能:显示字符串到屏幕上。
在内核源码中添加如下代码:
#includelinux/linkage.h
asmlinkage long sys_newcall(int i)
{
//printk(this is a system call made by yourself\n);
return(i*10);
}
测试新的System_call
CODE: vi test.c
编程调用自己创建的系统调用。
测试:CODE:./test
实验体会:
通过本次实验,我们
您可能关注的文档
- 我是文明小学生主题班会.ppt
- 五年级家长会班主任发言稿.ppt
- 五年级家长会主题班会PPT课件.ppt
- 五年级数学《三角形的面积》PPT教学设计课件.ppt
- 五年级下册第一课 宏伟壮丽的古罗马建筑.ppt
- 五年级信息技术试题及答案.ppt
- 五年级一班家长会班主任发言稿.ppt
- 武大电气(大二下)数电实验报告(90分精品).docx
- 武汉理工大学操作系统处理机调度实验报告.doc
- 武汉理工大学电工电子实习报告至尊完美版.doc
- 2025至2030水处理产业发展分析及政府战略规划实施报告.docx
- 2026年克拉玛依市公安机关面向高校毕业生及退役军人公开招聘警务辅助人员331人备考题库及答案详解1.docx
- 2026年保山市龙陵县应急管理局招聘县综合应急救援大队队员的备考题库及1套完整答案详解.docx
- 2026年兴业银行厦门分行社会招聘备考题库及1套完整答案详解.docx
- 2026年公开招聘中国农科院创新工程院级科研团队首席科学家的备考题库及答案详解参考.docx
- 2026年公开招聘导医分诊工作人员备考题库参考答案详解.docx
- 2026年关于内江市部分市本级事业单位公开选调工作人员14人的备考题库及一套完整答案详解.docx
- 2025年山东青年政治学院辅导员考试笔试题库最新.docx
- 2026年关于沧州市第二中学公开选聘教师的备考题库有答案详解.docx
- 2026年保卫部(武装部)招聘备考题库完整参考答案详解.docx
最近下载
- 雕塑维护方案养护.docx VIP
- 四川省成都市树德实验中学2024-2025学年七年级上学期期末考试道德与法治试题.docx VIP
- 对照不同光质补光对转色期葡萄品质和成分影响的初步探究.docx VIP
- 金属切削原理与刀具 配套课件.ppt
- T∕JNBDA 0009-2025 生殖医学高质量数据集建设规范.pdf VIP
- 上海高考:地理高频考点汇总.doc VIP
- 卫生部手术分级目录(2025年1月份修订).doc VIP
- DB11T 1087-2025公共建筑装饰装修工程质量验收标准.docx VIP
- 小学快乐体育教学活动的研究与实践课题研究报告.docx VIP
- 02S515 排水检查井图集建筑工程图集.docx VIP
原创力文档

文档评论(0)