linux操作系统实验实验报告.docx

上传人:b****6 文档编号:6933027 上传时间:2023-01-12 格式:DOCX 页数:12 大小:953.67KB
下载 相关 举报
linux操作系统实验实验报告.docx_第1页
第1页 / 共12页
linux操作系统实验实验报告.docx_第2页
第2页 / 共12页
linux操作系统实验实验报告.docx_第3页
第3页 / 共12页
linux操作系统实验实验报告.docx_第4页
第4页 / 共12页
linux操作系统实验实验报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

linux操作系统实验实验报告.docx

《linux操作系统实验实验报告.docx》由会员分享,可在线阅读,更多相关《linux操作系统实验实验报告.docx(12页珍藏版)》请在冰豆网上搜索。

linux操作系统实验实验报告.docx

linux操作系统实验实验报告

实验1:

安装Linux系统

【实验目的和要求】:

安装Linux系统,掌握操作系统的系统配置,建立应用环境的过程。

【实验内容】:

1、首先在windows系统中安装虚拟机。

在网上找到VMwareWorksttionPro版本,确定安装目录。

一直下一步,不需要太多的说明。

2、

图为安装完成后的界面。

3、然后在阿里巴巴开源镜像网站下载centos系统镜像,然后虚拟机创立新的虚拟机,

进展一些简单的虚拟机设置,设置了网络链接nat模式等等。

安装完成后的界面

实验2:

Linux下c语言开发

【实验目的】:

学会和掌握用c语言开发一个应用程序的全过程,包括,编译,调试等等。

【实验步骤】:

首先在系统中查看是否已经安装有gcc,输入查看命令发现没有,于是需要安装gcc。

在centos系统中可以使用比拟简便的yum命令。

在之前已经配置好了yum源。

直接输入yuminstallgcc。

回车自动安装程序和需要的依赖包。

因为虚拟机中和电脑很多地方切换使用不方便,所以安装了xshell软件。

图为xshell中的截图。

安装完毕。

然后使用vi或者vim编写hello.c

 

运行,在屏幕上打印出hello,world。

 

实验3:

进程创立

【实验目的和要求】1.了解进程的概念及意义;2.了解子进程和父进程

3.掌握创立进程的方法。

【实验内容】1.子进程和父进程的创立;

2.编写附件中的程序实例

【实验步骤】一1、翻开终端,输入命令gedit1_fork.c,在1_fork.c文件中输入1_fork.bmp中的代码;

2、输入命令gcc1_fork.c-o1_fork,回车后显示无错误;

3、输入命令:

./1_fork运行程序。

二、1、翻开终端,输入命令gedit2_vfork.c,在2_vfork.c文件中输入2_vfork.bmp中的代码;

2、输入命令gcc2_vfork.c-o2_vfork,回车后显示无错误:

3、输入命令:

./2_vfork运行程序。

从上面可以看到两次的运行结果不一样。

我们知道write函数是不带缓存的。

因为在fork之前调用write,所以其数据写到标准输出一次。

但是,标准I/O库是带缓存的。

如果标准输出连到终端设备,那么它是行缓存的,否那么它是全缓存的。

当以交互方式运行该程序时,只得到printf输出的行一次,其原因是标准输出缓存由新行符刷新。

但是当将标准输出重新定向到一个文件时,却得到printf输出行两次。

其原因是,在fork之前调用了printf一次,当调用fork时,该行数据仍在缓存中,然后在父进程数据空间复制到子进程中时,该缓存数据

也被复制到子进程中。

于是那时父、子进程各自有了带该行内容的缓存。

在exit之前的第二个printf将其数据添加到现存的缓存中。

当每个进程终止时,缓存中的内容被写到相应文件中。

实验4进程通信

【实验目的和要求】

1、了解进程通信的概念及方法;

2、了解信号量、管道;

3、掌握出号量、管道和命名管道编程方法。

 

【实验原理】

匿名管道只能用于具有亲像关系的两进程之间通值。

一个进程在由pipe〔〕创立管道后,一般用fork〔〕函数复制一个子进程,然后通过管道实现父子进程间的通信,也可通过fork〔〕函故复制多个说程实现兄始进程之间的通信,管道两端可分刚用指述字

 

【实验步骤】1、程序lucy.c创立了FIFOwrite_fifo用于向程序peter.c发送消息;peter.c程序创立了FIFOread_fifo用于向lucy.c发送消息;同时,lucy.c能够通过翻开peter.c创立的FIFO来得到的peter.c发来的消息,peter.c能够通过翻开lucy.c创立的FIFO来得到lucy.c发来的消息。

因此两者就能互相通信了,两者必须在线才能进展通信聊天,这个与qq的聊天功能有些类似。

2、将lucy.c和peter.c的代码编写完后,在一个终端调试即gcclucy.c–olucy,无错误后运行./lucy;在另外一个新终端上调试即gccpeter.c–opeter,无错误后运行./peter;开场进展聊天,假设想完毕聊天,那么在一个终端上输入bye,俩个终端就会同时关闭。

【实验结果】

 

实验5多线程实现单词统计工具

【实验目的】:

利用多线程实现文档单词书的统计

【实验原理】:

区分单词原那么:

但凡一个非字母或数字的字符跟在字母或数字的后面,那么这个字母或数字就是单词的结尾。

.

允许线程使用互斥锁来修改临界资源,确保线程间的同步与协作。

如果两个线程需要平安地共享-一个公共计数器,需要把公共计数器加锁。

线程需要访问称为互斥锁的变量,它可以使线程间很好地合作,防止对于资源的访问冲突。

【实验步骤】:

第一步先创立两个待统计的文件1.text,2.text

第二步创立一个.c文件里面敲多线程创立单词统计工具代码

这里面包含了pthread.h这一个头文件,因此再用gcc编译的时候与以往的有所不同,需要改为gcc-o<目的文件名>

<原文件名>-lpthread

 

【运行结果】

 

实验6:

搭建ftp效劳器效劳端

【实验目的】:

我们知道ftp是Tcp/ip协议中的一个文件传输协议,用来进展与客户端的文件的传输和下载,客户端可分为匿名用户登录和实名用户登录。

下面我们就来安装配置ftp效劳器效劳端。

【实验步骤】第一步,进入Linux图形界面,输入用户名密码进入命令行界面。

第二步,安装ftp效劳器软件,命令是sudoapt-getinstallvsftpd,我们安装的是vsftpd这个软件,

 

第三步,修改配置文件,进入etc(cdetc),然后,sudovivsftpd.conf进入配置环境,

第四步,将lensen-ipv6改成yes,意味着客户端可以进展访问,w/r都要改成yes,chown-username改成whoever,意味着可以任何人都可以访问,其他的也最好都改成yes,然后esc+wq返回根目录。

第五步,重启效劳器使配置生效。

Sudoservicevsftpdrestard.

1客户端,实名用户登录

ftp+ip

输入用户名

密码

退出:

bye/exit/quit

文件上传和下载

上传:

put+文件名

下载:

get+file

但是不允许操作目录,如果操作目录只能打包

2匿名用户登录

ftp+ip

用户名+anonymous〔匿名〕

密码:

不允许匿名用户在任意用户切换,只能在指定的范围的内工作,否那么需要在ftp效劳器上下创立一个匿名用户登录的目录。

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

当前位置:首页 > 小学教育 > 语文

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

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