通信与信息工程学院
2015 / 2016学年第二学期
实验报告
课程名称:操作系统
实验名称:
1、LINUX及其使用环境
2、进程管理
3、进程间通信
4、文件的操作和使用
班级学号
专业电子信息工程
学生姓名
指导教师赵建立
一、实验目的和要求
1、了解UNIX的命令及使用格式。
2、熟悉UNIX/LINUX的常用基本命令。
3、练习并掌握UNIX提供的vi编辑器来编译C程序。
4、学会利用gcc、gdb编译、调试C程序。
二、实验环境
Windows XP + VMWare + RedHat Enterprise Linux(RHEL) 4
三、实验原理及内容
1、熟悉LINUX的常用基本命令。如ls、mkdir、grep等,学会使用man、help 等其它命令,掌握vi编辑器的使用。
(1)显示目录文件ls
例:ls -al 显示当前目录下的所有文件
(2)建新目录mkdir
例:mkdir test 新建一个test目录
(3)删除目录rmdir
(4)改变工作目录位置cd
例:cd test 更改工作目录至test目录下
(5)显示当前所在目录pwd
(6)查看目录大小du
(7)文件属性的设置chmod
(8)命令在线帮助man
2、设计一个实现文件拷贝功能的shell程序。
(1)在文本编辑器里输入shell程序:
#!/bin/sh
echo “please enter source file:”
read souc
echo please enter destination file:”
read dest
cp $souc $dest
ls $dest
将程序保存在主目录下,命名为shell.
(2)打开终端,输入ls -l,显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称。输入 ./shell,运行shell程序。输入源文件hello.c,
目标文件B13011206.c。
(3)输入ls -l ,当前目录中包含B13011206.c目标文件。即完成从源文件拷贝至目标文件过程。
3、LINUX 下C语言程序的编译与调试实验。
(1)调试编译代码
为了使gdb正常工作,必须使程序在编译时包含调试信息。调试信息里包含程序里的每个变量的类型和在可执行文件里的地址映射以及源代码的行号。gdb利用这些信息使源代码和机器码相关联,在编译时用–g 选项打开调试选项。
(2)gdb基本命令
list列出产生执行文件的源代码部分
next执行一行源代码但不进入函数内部
step执行一行源代码并进入函数内部
run执行当前被调试的程序
quit终止gdb
watch监视一个变量的值而不管它何时被改变
break在代码里设置断点,使程序执行到这里时被挂起
make不退出gdb就可以重新产生可执行文件
shell不离开gdb就执行UNIX shell 命令
(3)打开终端,输入gcc hello.c,编译c程序。
(4)编译无错后,输入 ./a.out ,运行程序hello.c,显示运行结果“hello”。