实验1:安装Li
ux系统
【实验目的和要求】:安装Li
ux系统,掌握操作系统的系统配置,建立应用环境的过程。【实验内容】:1、首先在wi
dows系统中安装虚拟机。在网上找到VMwareWorksttio
Pro
版本,确定安装目录。一直下一步,不需要太多的说明。
2、图为安装完成后的界面。
3、然后在阿里巴巴开源镜像网站下载ce
tos系统镜像,然后虚拟机创建新的虚拟机,
f进行一些简单的虚拟机设置,设置了网络链接
at模式等等。安装完成后的界面
f实验2:Li
ux下c语言开发
【实验目的】:学会和掌握用c语言开发一个应用程序的全过程,包括,编译,调试等等。
【实验步骤】:首先在系统中查看是否已经安装有gcc输入查看命令发现没有,于是需要安装gcc。在ce
tos系统中可以使用比较简便的yum命令。在之前已经配置好了yum源。直接输入yumi
stallgcc。回车自动安装程序和需要的依赖包。
因为虚拟机中和电脑很多地方切换使用不方便,所以安装了xshell软件。图为xshell中的截图。
f完毕。然后使用vi或者vim编写helloc
安装
运行,在屏幕上打印出hello,world。
f实验3:进程创建
【实验目的和要求】1了解进程的概念及意义;2了解子进程和父进程3掌握创建进程的方法。【实验内容】1子进程和父进程的创建;2编写附件中的程序实例【实验步骤】一1、打开终端,输入命令gedit1_forkc,在1_forkc文件中输入1_forkbmp中的代码;2、输入命令gcc1_forkco1_fork,回车后显示无错误;3、输入命令:1_fork运行程序。二、1、打开终端,输入命令gedit2_vforkc,在2_vforkc文件中输入2_vforkbmp中的代码;2、输入命令gcc2_vforkco2_vfork,回车后显示无错误:3、输入命令:2_vfork运行程序。
从上面可以看到两次的运行结果不一样。我们知道write函数是不带缓存的。因为在fork之前调用write,所以其数据写到标准输出一次。但是,标准IO库是带缓存的。如果标准输出连到终端设备,则它是行缓存的,否则它是全缓存的。当以交互方式运行该程序时,只得到pri
tf输出的行一次,其原因是标准输出缓存由新行符刷新。但是当将标准输出重新定向到一个文件时,却得到pri
tf输出行两次。其原因是,在fork之前调用了pri
tf一次,当调用fork时,该行数据仍在缓存中,然后在父进程数据空间复制到子进程中时,该缓存数据也被复制到子进程中。于是那时父、子进程各自有了带该行内容的缓存。在exit之前的第二个pri
tf将其数据添加到现存的缓存中。当每个进程终止时,缓存中的内容被写到相应r