ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:93.25KB ,
资源ID:7649655      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7649655.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(沈阳航空航天大学Linux实习报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

沈阳航空航天大学Linux实习报告.docx

1、沈阳航空航天大学Linux实习报告沈阳航空航天大学Linux系统操作实习报告院(系):计算机学院专 业:计算机科学与技术(物联网技术方向)班 级:24010107学 号:?姓 名:?指导教师:董燕举 李晓明 毕静 完成日期:2015年7月17日1. Linux基本命令 1.了解linux所提供的用户界面中的键盘命令操作界面;2.熟练掌握常用的键盘命令。具体内容: (1) man 显示联机Linux手册 格式 $ manoprionchaptertitle. (2) ls 显示当前工作目录下内容格式 $ ls ltr 描述 ls命令根据文件名按字母顺序列出文件目录及子目录名称。 选择项 ls命令

2、有多个选择项,下面列出几个重要的选择项:l|more 以长格式列出文件,其中包括文件中的字符个数,以及最近修改的日期和时间。t 以最近修改的时间顺序列出文件。 r 将t选择的列表顺序变反。 - a 显示隐藏文件。(3)cd 切换工作目录-在目录树中移动 格式 $ cd 路径 描述 cd(change directory)命令建立指定的目录,并把它作为工作目录。 格式: cd 返回用户主目录,并把它作为工作目录。 cd 目录名称 改变现行目录到指定目录。 cd. 返回到工作目录的父目录,并把它作为工作目录。cd/ 进到根目录(4) mkdir 在当前工作目录下建立子目录 格式 $ mkdir 目

3、录名称 描述 mkdir(make directory)命令建立1个或多个指定目录。(5) rmdir 删除当前工作目录下子目录 格式 $ rmdir 目录名称.描述 rmdir(remove directory)命令删除指定目录,而目录必须为空。如果目录不为空,LINUX将显示适当的报错信息。 注释 要删除含有文件的目录,你可使用带有危险性的rmr命令。(6) rm 删除文件格式 $ rm 文件名. 描述 rm命令删除一个或多个指定文件。 选择项 i 选择项使LINUX问是否要删除指定文件。如果是这样,则键入y(表示yes),否则键入n (表示no). (7) rm r 删除目录及其文件 格

4、式 $ rm r 目录名称 描述 rm r(remove recursively)命令删除指定目录及其内容。 (8) cp 复制文件 格式 $ cp 文件名1 文件名2 描述 cp命令进行文件“文件名1”的复制拷贝,拷贝件称为“文件名2” (9) mv 移动或重新命名文件和目录 格式 $mv 文件名1 文件名2 描述 mv命令的(10) cat 直接显示文件内容格式 $ cat 文件名描述 cat命令将文件名作为其自变量显示文件的内容。2. Linux服务器配置与管理(1) DNS服务器配置与管理 A. 使用编辑器,编辑配置文件 /etc/bind/named.conf.local ;配置信息

5、如下:zone type master; file /etc/bind/db.bijing; ; zone 102.168.192.in-addr.arpa type master; file /etc/bind/db.192; ; B. 创建区资源文件 /etc/bind/db.bijing ;db.bijing内容如下:; BIND data file for local loopback interface$TTL 604800$ORIGIN . IN SOA . . (2006080401 ; Serial604800 ; Refresh86400 ; Retry2419200 ; E

6、xpire604800 ) ; Negative Cache TTL IN NS ns IN MX 0 . IN A 192.168.102.47ns IN A 192.168.102.47www IN A 192.168.102.47webserver IN CNAME wwwmail IN A 192.168.102.47ftp IN A 192.168.102.48ns2 IN A 192.168.102.48ns3 IN A 192.168.102.49 C. 创建该区的反向映射资源文件 /etc/bind/db.192 ;db.192内容如下:; BIND reverse data

7、file for local loopback interface$TTL 604800 IN SOA . . (2006080401 ; Serial604800 ; Refresh86400 ; Retry2419200 ; Expire604800 ) ; Negative Cache TTL IN NS .47 IN PTR .47 IN PTR .47 IN PTR .48 IN PTR . 48 IN PTR .49 IN PTR . D. 重启DNS服务 sudo /etc/init.d/bind9 restart ,并查看系统日志 : # tail /var/log/syslo

8、g,了解BIND的启动情况,验证是否引导正常 ; E. DNS服务器连接到本地的局域网,设置IP为192.168.102.47 ,修改系统网络配置文件/etc/network/interfaces 。用命令sudo /etc/init.d/networking restart 使网络设置生效 ; F.在客户机Linux的设置,验证网络连接或配置 ; G. 测试DNS服务器,在客户端使用nslookup 测试,是否能正确解析所设置域名。3. Linux多进程与多线程程序设计与开发(1)设计题目题目要求:Linux平台下设计和开发一个多进程或多线程程序编程语言可以用C、C+或Java。应用范畴:内

9、容不限,如信息处理、信息管理、多媒体、网络类等均可。用户界面:推荐图形用户界面,命令行界面也可(2)题目内容1、多进程程序设计: 仿照Linux多进程编程PPT中的日期服务程序,编写一个多进程程序,能够创建至少3个进程。每个进程执行不同的任务。例如:第一个进程打印一个小房子,第二个进程启动音乐播放器,第三个进程显示杨辉三角。要求:(1)理解Linux下面多进程系统调用方法: fork(),execl(), wait() (2) 每个进程的任务尽量有趣,有一定代码量和难度 (3)能够读懂代码,改代码2、多线程程序设计:仿照Linux多线程编程PPT中的创建多线程程序(在Linux多线程编程.pp

10、tx第12页),编写一个多线程程序。根据你们组的同学人数,创建线程,每个线程的任务是输出一个同学的名字3遍和线程id,主程序显示自己组号和人数。例如:30组有4名同学(赵子阳 王莉,刘思孟,陈琛),则程序产生如下四个线程(例子中的id号为虚构的):第一个线程输出:赵子阳赵子阳赵子阳 id:2348976591第二个线程输出:王莉王莉王莉 id:2348976592第三个线程输出:刘思孟刘思孟刘思孟 id:2348976593第四个线程输出:陈琛陈琛陈琛 id:2348976594主程序输出:42组有5名同学(3)设计思路 1、多进程程序设计: 利用fork函数创建子进程返回id,根据id值判断

11、父子进程,对子进程调用execl函数使用外部已经写好的程序文件进行替换。使用switch实现不同功能子进程的选择。 2、多线程程序设计:Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。通过三个系统下的函数:pthread_create函数、pthread_exit函数、pthread_self函数。实现线程的创建,线程的退出,线程id的提取。(4)算法1、多进程程序设计:开始运行主进程,主进程中提供多个功能选择,当用户选择某一功能,主进程调用进程创建函数fork(),创

12、建一个具有与父进程相同代码的子进程,判断fork函数返回的进程ID,若ID=0则当前执行进程为子进程,调用进程替换函数execl替换子进程的程序并执行;若ID0则当前执行进程为父进程,父进程要调用wait()函数等待子进程运行结束,自己才能结束;多进程算法流程图:图 1 多进程程序算法流程图2、多线程程序设计: 通过pthread_create函数创建线程,定义线程启动函数thrd_func函数,在函数创建成功后,调用启动函数,执行线程所要完成的工作,打映小组成员和提取线程id,最后输出。 多线程算法流程图:图 2 多线程程序算法流程图(5)测试用例与测试结果1、多进程程序设计: 表1 多进程

13、测试用例测试用例号输入数据期望输出14【4】阶环方阵如下: 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 123【3】 阶杨辉三角如下: 1 1 1 1 2 12、多线程程序设计:表2 多线程测试用例测试用例号输入数据期望输出1无name:袁芹袁芹袁芹TID: 3555813120.name:宁新浩宁新浩宁新浩TID: 3564205824.name:李昂李昂李昂TID: 3572598528.name:徐晓龙徐晓龙徐晓龙TID: 3580991232.name:赵堃赵堃赵堃TID: 3589383936.(7)程序运行 1、多进程程序运行:图 3 多进程程序运行图2、多线程程序

14、运行:图 4 多线程程序运行图实习总结(1)小组分工本人在小组承担任务,及完成情况(2)收获与体会写实话、真话(2)Linux实习方式不足与改革建议这部分所提问题和建议写得好、有价值,我们将在评定成绩时加分附录(源程序代码)1、多进程程序:#includemain()intmatrix022=0,0,0,0;intmatrix122=0,0,0,0;intmatrix22=0,0,0,0;printf(MatrixMultip,Pleaseinputtwomatrix:n);inti,j,k;printf(npleaseinputfournumberintomatrix0:n); for(j=

15、0;j2;j+)for(k=0;k2;k+)scanf(%d,&matrix0jk); /for2 /forprintf(npleaseinputfournumberintomatrix1:n); for(j=0;j2;j+)for(k=0;k2;k+)scanf(%d,&matrix1jk); /for2 /formatrix00=(matrix000*matrix100)+(matrix001*matrix110);matrix01=(matrix000*matrix101)+(matrix001*matrix111);matrix10=(matrix010*matrix100)+(mat

16、rix011*matrix110); matrix11=(matrix010*matrix101)+(matrix011*matrix111);printf(ntheresultis:n);for(i=0;i2;i+)for(j=0;j2;j+)printf(%d,matrixij);printf(n);2、多线程程序:#include #include #include void *thrd_funca(void *arg);void *thrd_funcb(void *arg);void *thrd_funcc(void *arg);void *thrd_funcd(void *arg);

17、void *thrd_funce(void *arg);pthread_t tida,tidb,tidc,tidd,tide;int main() / 创建线程tid,且线程函数由thrd_func指向,是thrd_func的入口点,即马上执行此线程函数 if (pthread_create(&tida,NULL,thrd_funca,NULL)!=0) printf(Create thread error!n); exit(1); if (pthread_create(&tidb,NULL,thrd_funcb,NULL)!=0) printf(Create thread error!n);

18、 exit(1); if (pthread_create(&tidc,NULL,thrd_funcc,NULL)!=0) printf(Create thread error!n); exit(1); if (pthread_create(&tidd,NULL,thrd_funcd,NULL)!=0) printf(Create thread error!n); exit(1); if (pthread_create(&tide,NULL,thrd_funce,NULL)!=0) printf(Create thread error!n); exit(1); sleep(5); /race p

19、rintf(42 group 5peoplen); return 0;Void *thrd_funca(void *arg)/ printf(I am new thread!n); int i,j; char a10=赵堃; printf(name:); for(i=0;i3;i+) for(j=0;j10;j+) printf(%c,aj); /why pthread_self printf(TID: %u.n,pthread_self(); /why pthread_self pthread_exit(NULL); /退出线程/ return (void *)0);void *thrd_f

20、uncb(void *arg)/ printf(I am new thread!n); int i,j; char a10=徐晓龙; printf(name:); for(i=0;i3;i+) for(j=0;j10;j+) printf(%c,aj); /why pthread_self printf(TID: %u.n,pthread_self(); /why pthread_self pthread_exit(NULL); /退出线程/ return (void *)0);void *thrd_funcc(void *arg)/ printf(I am new thread!n); in

21、t i,j; char a10=李昂; printf(name:); for(i=0;i3;i+) for(j=0;j10;j+) printf(%c,aj); /why pthread_self printf(TID: %u.n,pthread_self(); /why pthread_self pthread_exit(NULL); /退出线程/ return (void *)0);void *thrd_funcd(void *arg)/ printf(I am new thread!n); int i,j; char a10=宁新浩; printf(name:); for(i=0;i3;

22、i+) for(j=0;j10;j+) printf(%c,aj); /why pthread_self printf(TID: %u.n,pthread_self(); /why pthread_self pthread_exit(NULL); /退出线程/ return (void *)0);void *thrd_funce(void *arg)/ printf(I am new thread!n); int i,j; char a10=袁芹; printf(name:); for(i=0;i3;i+) for(j=0;j10;j+) printf(%c,aj); /why pthread_self printf(TID: %u.n,pthread_self(); /why pthread_self pthread_exit(NULL); /退出线程/ return (void *)0);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1