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