linux系统及应用应用开发实验报告册.docx

上传人:b****2 文档编号:18459820 上传时间:2023-08-18 格式:DOCX 页数:17 大小:19.71KB
下载 相关 举报
linux系统及应用应用开发实验报告册.docx_第1页
第1页 / 共17页
linux系统及应用应用开发实验报告册.docx_第2页
第2页 / 共17页
linux系统及应用应用开发实验报告册.docx_第3页
第3页 / 共17页
linux系统及应用应用开发实验报告册.docx_第4页
第4页 / 共17页
linux系统及应用应用开发实验报告册.docx_第5页
第5页 / 共17页
linux系统及应用应用开发实验报告册.docx_第6页
第6页 / 共17页
linux系统及应用应用开发实验报告册.docx_第7页
第7页 / 共17页
linux系统及应用应用开发实验报告册.docx_第8页
第8页 / 共17页
linux系统及应用应用开发实验报告册.docx_第9页
第9页 / 共17页
linux系统及应用应用开发实验报告册.docx_第10页
第10页 / 共17页
linux系统及应用应用开发实验报告册.docx_第11页
第11页 / 共17页
linux系统及应用应用开发实验报告册.docx_第12页
第12页 / 共17页
linux系统及应用应用开发实验报告册.docx_第13页
第13页 / 共17页
linux系统及应用应用开发实验报告册.docx_第14页
第14页 / 共17页
linux系统及应用应用开发实验报告册.docx_第15页
第15页 / 共17页
linux系统及应用应用开发实验报告册.docx_第16页
第16页 / 共17页
linux系统及应用应用开发实验报告册.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

linux系统及应用应用开发实验报告册.docx

《linux系统及应用应用开发实验报告册.docx》由会员分享,可在线阅读,更多相关《linux系统及应用应用开发实验报告册.docx(17页珍藏版)》请在冰点文库上搜索。

linux系统及应用应用开发实验报告册.docx

linux系统及应用应用开发实验报告册

合肥师范学院

实验报告册

2013-2014第二学期

系别计算机科学与技术

实验课程linux系统及应用

专业11级计算机科学与技术

班级嵌入式应用技术

姓名

学号

指导教师何冀军

序号

实验项目名称

内容提要

实验

学时

实验报告成绩

1

Linux系统安装与简单配置

安装并使用硬盘分区工具,为Linux准备好分区;安装Linux系统;配置Linux系统运行环境;正确地启动、关闭系统。

2

2

Linux基本命令的使用

掌握Linux一般命令格式;掌握有关文件和目录操作的常用命令;掌握有关进程操作的常用命令;熟练使用man命令。

2

3

vi编辑器

学习使用vi编辑器建立、编辑、显示及加工处理文本文件。

2

4

Shell编程

了解shell的作用和主要分类;掌握bash的建立和执行方式;掌握bash的基本语法;学会编写shell脚本。

4

5

常用开发工具

掌握C语言编译的基本用法;掌握gdb调试工具的基本用法;理解make工具的功能,学会编制makefile的方法。

2

6

Linux环境编程

(计算机科学与技术专业)

理解系统调用和库函数的异同;学会用系统调用和库函数进行编程;掌握一些常用的系统调用和库函数的功能及应用。

4

6

Linux内存管理

(计算机软件专业)

了解Linux内存管理的基本原理和方法,了解内存申请和释放的方式,掌握malloc,realloc,free等函数的使用;

4

实验项目一览表

实验一Linux系统安装和简单配置

一、实验目的

(1)掌握Linux操作系统的安装步骤;

(2)掌握Linux系统的简单配置方法;

(3)掌握Linux系统的启动、关闭步骤。

二、实验内容

(1)安装Linux系统;

(2)配置Linux系统运行环境;

(3)正确地启动、关闭系统。

三、实验软件

VMWareWorkstation5.0;

Redhatlinux9.0镜像文件;

四、实验主要步骤

(1)配置并安装操作系统;

(2)vi创建程序并实用GCC编译;

(3)运行程序;

五、实验结果

实验项目二Linux基本命令的使用

一、实验目的

(1)掌握Linux一般命令格式;

(2)掌握有关文件和目录操作的常用命令;

(3)掌握有关进程操作的常用命令;

(4)熟练使用man命令。

二、实验内容

(1)正确地登陆和退出系统;

(2)熟悉date,cal,who,echo,clear,passwd命令;

(3)在用户主目录下对文件进行如下操作:

复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等;

(4)对目录进行管理:

创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等;

(5)利用man显示date,echo等命令的手册页;

(6)显示系统中的进程信息。

三、实验软件

VMWareWorkstation5.0;

Redhatlinux9.0;

四、实验主要步骤

1、登录进入系统,修改个人密码。

2、使用简单命令:

date,cal,who,echo,clear等,了解linux命令格式;

3、浏览文件系统:

(1)运行pwd命令,确定当前工作目录;

(2)运行ls–l命令,理解各字段含义;

(3)运行ls–ai命令,理解各字段含义。

(4)使用cd命令,将工作目录改到根目录(/)上。

(5)直接使用cd,用pwd命令验证回到的位置。

(6)用mkdir建立一个子目录subdir;

(7)将工作目录改到subdir.

4、文件操作

(1)验证当前工作目录在subdir;

(2)运行date>file1,然后运行catfile1,看到什么信息?

(3)运行catsubdir,会有什么结果,为什么?

(4)利用man命令显示date命令的使用说明;

(5)运行mandate>>file1,看到什么?

运行catfile1,看到什么?

(6)利用ls–lfile1,了解链接计数是多少?

运行lnfile1../fa,再运行ls–lfile1,看链接计数有无变化?

用cat命令显示fa文件内容。

(7)显示file1的前10行,后10行。

(8)运行cpfile1file2,然后ls–l,看到什么?

运行mvfile2file3,然后ls–l看到什么?

运行catf*,结果怎样?

(9)运行rmfile3,然后ls–l,结果如何?

(10)在/etc/passwd文件中查找适合你注册名的行.

(11)运行ls–l,理解各文件的权限是什么?

(12)用两种方式改变file1的权限。

(13)统计file1文件的行数、字数。

(14)运行manls|more,显示结果是什么?

运行catfile1|head-20|teefile5,结果如何?

运行catfile5|wc,结果如何?

五、实验结果

实验项目三vi编辑器

一.实验目的

学习使用vi编辑器建立、编辑、显示及加工处理文本文件。

二.实验内容

(1)进入和退出vi;

(2)利用文本插入方式建立一个文件;

(3)在新建的文本文件上移动光标位置;

(4)对该文件执行删除、复原、修改、替换等操作。

三.实验软件

VMWareWorkstation5.0;

Redhatlinux9.0;

四.实验主要步骤

1、进入vi;

2、建立一个文件,如file.c.进入插入方式,输入一个C语言程序的各行内容,故意制造几处错误。

最后将该文件存盘。

回到shell状态下。

3、运行gccfile.c–omyfile,编译该文件,会发现错误提示。

理解其含义。

4、重新进入vi,对该文件进行修改。

然后存盘,退出vi。

重新编译该文件。

如果编译通过了,可以用./myfile运行该程序。

5、运行mandate>file10,然后vifile10.

使用x,dd等命令删除某些文本行。

使用u命令复原此前的情况。

使用c,r,s等命令修改文本内容。

使用检索命令进行给定模式的检索。

五.实验结果

实验项目四shell编程

一、实验目的

(1)了解shell的作用和主要分类;

(2)掌握bash的建立和执行方式;

(3)掌握bash的基本语法;

(4)学会编写shell脚本。

二、实验内容

(1)shell脚本的建立和执行;

(2)历史命令和别名定义;

(3)shell变量和位置参数、环境变量;

(4)bash的特殊字符;

(5)一般控制结构;

(6)算术运算及bash函数。

三.实验软件

VMWareWorkstation5.0;

Redhatlinux9.0;

四.实验主要步骤

1、利用vi建立一个脚本文件,其中包括date,cal,pwd,ls等常用命令。

然后以不同方式执行脚本。

2、运行history命令,配置历史命令环境。

3、体会bash的命令补齐功能。

4、用alias定义别名,然后执行。

5、编辑如下脚本进行执行:

6、编写一个shell脚本,求斐波那契数列的前10项及总和。

7、设计一个程序cuts,它由标准输入读取数据,获取由第一个参数n和第二个参数m所限定范围的数据,n和m都是整数,即从输入的字符串中抽取第n个字符至第m个字符之间的所有字符(包括这两个字符)。

例如:

$cuts1114

tisisatestofcutsprogram(输入)

tst(显示结果

五.实验结果

实验项目五常用开发工具

一.实验目的

(1)掌握C语言编译的基本用法;

(2)掌握gdb调试工具的基本用法;

(3)理解make工具的功能,学会编制makefile的方法。

二.实验内容

(1)利用gcc编译C语言程序,使用不同选项,观察并分析显示结果;

(2)用gdb调试一个编译后的C语言程序;

(3)编写一个由多个文件构成的C语言程序,编制makefile,运行make工具进行维护。

三.实验软件

VMWareWorkstation5.0;

Redhatlinux9.0;

四.实验主要步骤

1、改写例6.1,使用下列选项对它进行编译:

-I,-D,-E,-c,-o,-l。

2、完成对思考题6.5、6.6的调试。

3、完成对思考题6.9的编制,并使用make进行维护。

五.实验结果

实验项目六Linux内存管理

一、实验目的

(1)了解Linux内存管理的基本原理和方法;

(2)了解内存申请和释放的方式;

(3)掌握malloc,realloc,free,calloc函数的使用。

二、实验内容

(1)使用C语言编写一个包含内存分配与释放的程序,观察分析并显示运行结果;

(2)通过gdb等工具对程序进行调试;

(3)在程序运行过程中观察系统内存的使用情况,验证内存管理函数的执行效果。

三.实验软件

VMWareWorkstation5.0;

Redhatlinux9.0;

四.实验主要步骤

(1)内存库函数实验-malloc函数,运行程序清单6-1,写明运行结果。

(2)内存库函数实验-calloc函数,运行程序清单6-2,写明运行结果。

(3)内存库函数实验-realloc函数,运行程序清单6-3,写明运行结果。

(4)内存错误分析实验:

指出程序清单6-4的内存错误原因。

指出程序清单6-5的内存错误原因。

通过比较程序清单6-6、6-7输出结果,分析程序6-3内存错误原因。

五.实验结果

程序清单:

(1)5-1

#include

#include

main()

{

char*p;

clrscr();

//clearscreen

p=(char*)malloc(100);

if(p)

printf("MemoryAllocatedat:

%x",p);

else

printf("NotEnoughMemory!

\n");

free(p);

return0;

}

(2)5-2

#include

#include

main()

{

char*p;

clrscr();

//clearscreen

p=(char*)calloc(100,sizeof(char));

if(p)

printf("MemoryAllocatedat:

%x",p);

else

printf("NotEnoughMemory!

\n");

free(p);

return0;

}

(3)5-3

#include

#include

main()

{

char*p;

clrscr();

//clearscreen

p=(char*)malloc(100);

if(p)

printf("MemoryAllocatedat:

%x",p);

else

printf("NotEnoughMemory!

\n");

p=(char*)realloc(p,256);

if(p)

printf("MemoryReallocatedat:

%x",p);

else

printf("NotEnoughMemory!

\n");

free(p);

return0;}

(4)5-4

……

Void

ApplyForMem(char*p,intnum)

{

p=(char*)malloc(sizeof(char)*num);

return;

}

int

main()

{

char*str=NULL;

………….

ApplyForMem(str,300);

free(str);

infile.close();

return0;

}

(5)5-5

#include

#include

#include

intmain(){

charz=*(constchar*)0;

exit(EXIT_SUCCESS);

}

(6)5-6

#include“stdlib.h”

#defineHEAP_BLOCK_SIZE32

intmain()

{

//分配申明heap内存块1

char*pbuf1=(char*)malloc(HEAP_BLOCK_SIZE);

printf("HeapTestblock1(%dbytes)at%08Xh",sizeof(pbuf1),pbuf1);

*pbuf1='1';

//分配申明heap内存块2

char*pbuf2=(char*)malloc(HEAP_BLOCK_SIZE);

printf("HeapTestblock2(%dbytes)at%08Xh",sizeof(pbuf2),pbuf2);

*pbuf2='2';

//分配申明heap内存块3

char*pbuf3=(char*)malloc(HEAP_BLOCK_SIZE);

printf("HeapTestblock3(%dbytes)at%08Xh",sizeof(pbuf3),pbuf3);

*pbuf3='3';

//释放heap内存块1

printf("HeapTestblock1(%dbytes)at%08Xhfreed",sizeof(pbuf1),pbuf1);

free(pbuf1);

//释放heap内存块2

printf("HeapTestblock2(%dbytes)at%08Xhfreed",sizeof(pbuf2),pbuf2);

free(pbuf2);

//释放heap内存块3

printf("HeapTestblock3(%dbytes)at%08Xhfreed",sizeof(pbuf3),pbuf3);

free(pbuf3);

//分配申明heap内存块4

char*pbuf4=(char*)malloc(HEAP_BLOCK_SIZE);

printf("HeapTestblock4(%dbytes)at%08Xh",sizeof(pbuf4),pbuf4);

*pbuf4='4';

//分配申明heap内存块5

char*pbuf5=(char*)malloc(HEAP_BLOCK_SIZE);

printf("HeapTestblock5(%dbytes)at%08Xh",sizeof(pbuf5),pbuf5);

*pbuf5='5';

//分配申明heap内存块6

char*pbuf6=(char*)malloc(HEAP_BLOCK_SIZE);

printf("HeapTestblock6(%dbytes)at%08Xh",sizeof(pbuf6),pbuf6);

*pbuf6='6';

for(;;){

Sleep(1000);

}

return0;

}

(7)5-7

#include“stdlib.h”

#defineHEAP_BLOCK_SIZE32

intmain()

{

//分配申明heap内存块1

char*pbuf1=(char*)malloc(HEAP_BLOCK_SIZE);

printf("HeapTestblock1(%dbytes)at%08Xh",sizeof(pbuf1),pbuf1);

*pbuf1='1';

//分配申明heap内存块2

char*pbuf2=(char*)malloc(HEAP_BLOCK_SIZE);

printf("HeapTestblock2(%dbytes)at%08Xh",sizeof(pbuf2),pbuf2);

*pbuf2='2';

//分配申明heap内存块3

char*pbuf3=(char*)malloc(HEAP_BLOCK_SIZE);

printf("HeapTestblock3(%dbytes)at%08Xh",sizeof(pbuf3),pbuf3);

*pbuf3='3';

//释放heap内存块3

printf("HeapTestblock3(%dbytes)at%08Xhfreed",sizeof(pbuf3),pbuf3);

free(pbuf3);

//释放heap内存块2

printf("HeapTestblock2(%dbytes)at%08Xhfreed",sizeof(pbuf2),pbuf2);

free(pbuf2);

//释放heap内存块1

printf("HeapTestblock1(%dbytes)at%08Xhfreed",sizeof(pbuf1),pbuf1);

free(pbuf1);

//分配申明heap内存块4

char*pbuf4=(char*)malloc(HEAP_BLOCK_SIZE);

printf("HeapTestblock4(%dbytes)at%08Xh",sizeof(pbuf4),pbuf4);

*pbuf4='4';

//分配申明heap内存块5

char*pbuf5=(char*)malloc(HEAP_BLOCK_SIZE);

printf("HeapTestblock5(%dbytes)at%08Xh",sizeof(pbuf5),pbuf5);

*pbuf5='5';

//分配申明heap内存块6

char*pbuf6=(char*)malloc(HEAP_BLOCK_SIZE);

printf("HeapTestblock6(%dbytes)at%08Xh",sizeof(pbuf6),pbuf6);

*pbuf6='6';

for(;;){

Sleep(1000);

}

return0;

}

实验项目六Linux环境编程

一.实验目的

(1)理解系统调用和库函数的异同;

(2)学会用系统调用和库函数进行编程;

(3)掌握一些常用的系统调用和库函数的功能及应用。

二.实验内容

(1)使用系统调用对文件进行操作;

(2)使用系统调用对进程进行控制;

(3)使用管道机制进行I/O;

(4)使用信号机制进行进程通信。

三.实验软件

VMWareWorkstation5.0;

Redhatlinux9.0;

四.实验主要步骤

1、完成思考题7.3,上机编译、运行。

2、完成对思考题7.5,上机编译、运行。

3、编译并运行例7.5程序,体会管道机制的应用。

4、编译并运行例7.6程序,体会消息队列的管理。

5、完成思考题7.9,上机编译、运行。

五.实验结果

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2