Linux操作系统安装与调试实验课作业.docx
《Linux操作系统安装与调试实验课作业.docx》由会员分享,可在线阅读,更多相关《Linux操作系统安装与调试实验课作业.docx(14页珍藏版)》请在冰豆网上搜索。
Linux操作系统安装与调试实验课作业
实验报告
课题:
Linux操作系统安装与调试
:
XXX
__06174040xx
专业:
计算机科学与技术
指导
日期:
20XX12月
大学文正学院
20XX12月
实验一安装RedHatLinux〔ubuntu〕
一、实验目的
●安装Linux
●初步学会使用Linux
二、实验容
安装RedHatLinux。
〔ubuntu9.4〕
三、实验环境
●硬件环境:
●Cpu:
intelP73502.13GHz
●存:
2G
●显卡:
GeForceNT130M
●编译环境:
●默认的gcc环境
●工作源码环境
●2.6.31最新版本
四、实验步骤
1、安装VMwareworkstation6.5
2、安装Ubuntu9.5
1新建虚拟机
2、用户的定义设置
3、选择虚拟机的版本
4、选择安装源
5、给虚拟机命名
6、配置存
7、网络配置
8、配置虚拟硬盘容量
9、文件存放位置
10、信息总览
11启动虚拟机
12、选择安装的语言
13、开始安装
14、安装中
五、实验结果与分析
●安装结束后一定要安装虚拟器的工具,可以很好的模拟硬件让虚拟系统运行的更流畅
安装完成后安装虚拟器工具1
安装完成后安装虚拟器工具2
实验二编译Linux核
一、实验目的
了解核的基本知识,能够编译安装核,并启动配置
二、实验容
●下载源码
●编译安装核
●启动配置
三、实验步骤
1..kernel.org/pub/linux/kernel上找到核代码,并下载。
现在最新的稳定版本是2.6.32.2
2.1下载源码
2.编译和安装核
●解压下载的核
●打开命令行终端用"cd"命令进入解压后的文件路径
●执行makexconfig命令执行配置
2.21核配置选项
很多都是默认选择好的,没有特殊要求只要保存退出就好了。
●编译核
用root用户在shell中输入make-kpkgmake-kpkg–initrd–append-to-version=baiwangkernel_image
2.22编译中
编译过程很长,一定要心等待
●安装核
等待一段时间的编译完成后,在文件夹里就会生成一个安装文件,双击安装,就可以完成核的安装。
成功后,关机选项里就会有启用新核的选项。
四、实验结果与分析
●编译过程会失败,一定要有耐心重新编译。
●编译前要安装必须的软件
安装必要的软件:
build-essentialkernel-packagelibncurses5-devfakerootlibqt3-headerslibqt3-mt-devlibqt3-compat-headerslibqt3-mt
这些软件我没有用apt-get命令来获取,我是用ubuntu的一个软件源的同步工具获得。
●编译命令的解释
make-kpkg生成安装包
make-kpkg–initrd–append-to-version=baiwang生成安装版本号
实验三观察Linux行为
一、实验目的
学习Linux核、进程、存储和其他资源的一些重要特征。
编写一个程序使用/proc机制检查反映机器平均负载、进程资源利用等方面的各种核值。
在得到核状态之后,将所观察到的行为在屏幕上输出。
二、实验容
A>编写一个程序,通过检查核状态报告Linux核行为。
程序在stdout上打印以下信息:
·CPU类型和型号。
·核版本
·从系统最后一次启动以来的时间,形式为dd:
hh:
mm:
ss〔例如,3天13小时46分32秒应该写出03:
13:
46:
32〕。
B>改写A部分程序,加入命令行参数,在stdout上再打印以下信息:
·CPU花费在用户态、系统态和空闲态的时间。
·系统接收到的磁盘请求。
·核执行的上下文转换的次数。
·系统最后启动的时间。
·从系统启动开始创建的进程数。
C>改写B部分程序,根据不同的命令行参数,在stdout上再打印以下信息:
·计算机配置的存数量。
·当前可用的存数量。
·平均负载列表〔至上一分钟的平均数〕。
三、实验步骤
●A要XX验步骤
在shell中输入cat/proc/version
Cat/proc/cpuinfo显示cpu信息
Cat/proc/uptime显示系统启动的时间
date-d"$secondago%d%H:
%M:
%S"
〔后来修改的没有注意题目要求显示的格式〕
●B要XX验步骤
Cat/proc/statCPU
花费在用户态、系统态和空闲态的时间
系统接收到的磁盘请求。
核执行的上下文转换的次数
系统的进程数
cat/proc/uptime|awk-F.'{run_days=$1/86400;run_hour=<$1%86400>/3600;run_minute=<$1%3600>/60;run_second=$1%60;printf<"系统已运行:
%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second>}'
显示系统启动的时间
●C要求的步骤
四、实验结果与分析
本实验中,学会了查看核的信息和系统的相关运行情况。
实验四系统调用
一、实验目的
学习如何产生一个系统调用以及怎样通过核往核中增加一个新函数从而在核空间中实现对用户空间的读/写。
二、实验容
●设计并实现一个新的核函数pedagogictime<>,该函数通过使用一个引用参数的调用返回当前的系统时间。
如果flag参数是TRUE,那么核函数就把当前的系统时间打印在stdout上。
函数具有如下原型:
intpedagogictime;
新函数基本上和gettimeofday<>类似,当然忽略时区参数,并有一个标志来控制把信息打印到控制台。
该函数如果执行成功,就返回TRUE;否则就返回FLASE。
●编写一个用户空间程序来测试pedagogictime<>。
三、实验步骤
#include
#include
#include
asmlinkageintsys_pedagogictime
{
intwrite_ok;
/*从核变量xtime中获得系统时间。
读取xtime可能不会引起同核其他部分的
竞争状态,但是你应该谨慎并且在读取共享变量时阻塞中断。
*/
cli<>;/*禁止中断*/
…
sti<>;/*允许中断*/
/*加载编码时间*/
write_ok=verify_area;
if{
printk<"skelcall:
Cannotwriteintouserspace\n.">;
return;
}
…
/*如果标记为TRUE,输出时间*/
printk<…>;
return0;
}
四、实验结果与分析
本实验中,学会了如何产生一个系统调用以及怎样通过核往核中增加一个新函数从而在核空间中实现对用户空间的读/写