第六章 用户接口实验.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
??? * 第六章 用户接口实验 6.1 实验目的 ? 6.1.1 控制台命令接口 理解面向操作命令的接口SHELL 学会简单的SHELL编程 ? 6.1.2 系统调用 理解操作系统调用的运行机制 掌握创建系统调用的方法 6.2 准备知识 * 6.2.1 控制台命令接口 操作系统向用户提供一组控制台命令,用户可以通过终端键入命令的方式获得操作系统的服务,并以此来控制自己作业的运行。一般来讲,控制台命令应该包含:一组命令、终端处理程序以及命令解释程序。 关键字参考: echo 在终端上显示 bash 特殊变量1~9 保存当前进程或脚本的前9个参数 ls 列举文件 wc 统计数量 function 定义函数 建立Bash脚本: 编辑Bash脚本 $ vi script #! /bin/bash echo Hello world ! 测试脚本 $ source script 更改脚本属性 $ chmod a+x script 执行脚本 $ ./script * 6.2.2 添加系统调用 1.添加源代码 asmlinkage int sys_foo(int x) { printf(%d\n,x); } 2.连接新的系统调用 # define __NR _name NNN * # define __NR _foo 222 ENTRY(sys_call_table) .long SYSMBOL_NAME(sys_ni_syscall) .long SYSMBOL_NAME(sys_exit) .long SYSMBOL_NAME(sys_fork) ... ? .long SYSMBOL_NAME(sys_foo) * 3.重新编译内核 [root@linuxserver root]# make menuconfig // 配置新内核 [root@linuxserver root]# make dep // 创建新内核 [root@linuxserver root]# make modules_install // 加入模块 [root@linuxserver root]# make clean // 清除多余创建的文件 [root@linuxserver root]# make bzImage // 生成可执行内核引导文件 * 4.使用新编译的内核 cp –a /usr/src/linux-2.4.2/arch/i386/boot/bzImage /boot 5.重新配置/etc/lilo.conf 文件 vi /etc/lilo.conf image=/boot/bzImage #启动内核的位置, 即自己新配置的内核所在目录 label=xhlinux #给内核起一个名称, 配置完成, 重新启动的时候, 会显示这个名称; #用户可以选择该项, 重启后, 系统将进入你新配置的内核进行引导。 * read_only #定义新的内核为只读 root=/dev/hda5 #定义硬盘的启动位置是/dev/hda5, 在该设计中没有变 #仿照以前内核引导的位置, 不用修改, 用以前的就可以 6.完成以上配置后,重新启动系统进入自己的新系统。 * 6.3 实验内容 ? 6.3.1 控制台命令接口实验 查看Bash版本 编写Bash脚本,统计/my目录下c语言文件的个数 ? 6.3.2 系统调用实验 一、编程调用一个系统调用fork(),观察结果 二、编程调用创建的系统调用foo(),观察结果 三、自己创建一个系统调用mycall(),实现功能:打印字串到屏幕上 四、编程调用自己创建的系统调用 6.4 实验指导 * 一.查看Bash版本 $echo $BASH_VERSION 二.编写Bash脚本,统计/my目录下c语言文件的个数 cd /home/student #在home/student目录下编程 vi count #! /bin/bash function count { echo –n Number of matches for $1: #接收程序的第一个参数 ls $1|wc –l #对子程序的第一个参数所在的目录进行操作 } 6.4.1 控制台命令接口实验指导 * mkdir my cd my vi 1.c #在my目录下建立几个c文件,

文档评论(0)

tianebandeyazi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档