linux操作系统实验实验报告_第1页
linux操作系统实验实验报告_第2页
linux操作系统实验实验报告_第3页
linux操作系统实验实验报告_第4页
linux操作系统实验实验报告_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-.z.实验1:安装Linu*系统【实验目的和要求】:安装Linu*系统,掌握操作系统的系统配置,建立应用环境的过程。【实验内容】:首先在windows系统中安装虚拟机。在网上找到VMwareWorksttionPro版本,确定安装目录。一直下一步,不需要太多的说明。图为安装完成后的界面。然后在阿里巴巴开源镜像网站下载centos系统镜像,然后虚拟机创建新的虚拟机,进行一些简单的虚拟机设置,设置了网络链接nat模式等等。安装完成后的界面实验2:Linu*下c语言开发【实验目的】:学会和掌握用c语言开发一个应用程序的全过程,包括,编译,调试等等。【实验步骤】:首先在系统中查看是否已经安装有gcc,输入查看命令发现没有,于是需要安装gcc。在centos系统中可以使用比较简便的yum命令。在之前已经配置好了yum源。直接输入yuminstallgcc。回车自动安装程序和需要的依赖包。因为虚拟机中和电脑很多地方切换使用不方便,所以安装了*shell软件。图为*shell中的截图。安装完毕。然后使用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时,该行数据仍在缓存中,然后在父进程数据空间复制到子进程中时,该缓存数据也被复制到子进程中。于是那时父、子进程各自有了带该行内容的缓存。在e*it之前的第二个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.te*t,2.te*t第二步创建一个.c文件里面敲多线程创建单词统计工具代码这里面包含了pthread.h这一个头文件,因此再用gcc编译的时候与以往的有所不同,需要改为gcc-o<目的文件名><原文件名>-lpthread【运行结果】实验6:搭建ftp服务器服务端【实验目的】:我们知道ftp是Tcp/ip协议中的一个文件传输协议,用来进行与客户端的文件的传输和下载,客户端可分为匿名用户登录和实名用户登录。下面我们就来安装配置ftp服务器服务端。【实验步骤】第一步,进入Linu*图形界面,输入用户名密码进入命令行界面。第二步,安装ftp服务器软件,命令是sudoapt-getinstallvsftpd,我们安装的是vsftpd这个软件,第三步,修改配置文件,进入etc(cdetc),然后,sudovivsftpd.conf进入配置环境,第四步,将lensen-ipv6改成yes,意味着客户端可以进行访问,w/r都要改成yes,chown-username改成whoever,意味着可以任何人都可以访问,其他的也最好都改成yes,然后esc+wq返回根目录。第五步,重启服务器使配置生效。Sudoservicevsftpdrestard.客户端,实名用户登录ftp+ip输入用户名密码退出:bye/e*it/qui

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论