西北工业大学操作系统实验OS1 7Word文件下载.docx
《西北工业大学操作系统实验OS1 7Word文件下载.docx》由会员分享,可在线阅读,更多相关《西北工业大学操作系统实验OS1 7Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
二、实验内容:
了解磁盘分区的方式,掌握磁盘分区工具软件PQMagic或其他类似功能的软件;
了解Linux对硬件(CPU、内存和硬盘空间)的要求、安装过程和LILO的安装;
3.
进入和退出系统的命令,特别是进入X-Windows图形界面,有关文件系统中的目录创建、修改和删除,有关文件系统中的文件建立、删除、编辑、查询、归档和压缩等和有关系统管理等。
三、项目要求及分析:
1)Linux操作系统的安装
(1)收集硬件配置资料(硬盘空间大小、显卡类型、显存大小、网卡类型等基本信息);
(2)对于要安装Linux而又没有预留出自由空间,可利用Linux光盘自带的分区工具来拆分基本分区;
也可以利用DOS下的调整分区程序PQMagic来拆分基本分区或逻辑分区,并将PQMagic安装在另一个分区中;
(3)Linux对不同介质的安装方法(直接从光盘引导完成安装,要求CMOS和光盘都能支持光盘引导;
从硬盘完成安装,可事先将Linux软件包拷入硬盘的一个分区,将Linux安装到硬盘的另一个分区;
网络安装,通过网络文件系统NFS或FTP并安装到硬盘。
);
(4)使用FDISK添加Linux主分区和交换分区(swap);
(5)格式化分区;
(6)选择安装内容;
(7)设置root用户的口令;
(8)设置网卡的中断向量号、I/O地址、DNS和网络的子网掩码等;
(9)安装LILO,实现操作系统的双引导。
2)Linux操作系统的使用
(1)登录、退出和关闭系统;
(2)man命令的使用;
(3)–help命令的使用;
(4)dir(ls)命令的使用;
(5)less(more)分页浏览文件命令的使用;
(6)touch命令的使用;
(7)whatis命令的使用;
(8)apropos命令的使用;
(9)locate命令的使用;
(10)whereis命令的使用;
(11)find命令的使用;
(12)sort命令的使用;
(13)tar命令的使用;
(14)解压缩归档文件命令的使用;
(15)mc程序的使用;
(16)cd改变目录;
(17)pwd查看当前目录;
(18)mkdir创建新目录;
(19)cp文件拷贝;
(20)cat在屏幕上显示文件内容
3)C语言程序的编译
Linux环境下C语言使用gcc编译器对程序进行编译。
如果我们编写的程序的文件名为myprogram.c。
使用如下命令对该程序编译:
<
CR>
表示回车
gccmyprogram.c–omyprogram<
如果编译成功,myprogram就是编译后的可执行文件名。
如果不添加-o选项,则会产生一个名为a.out可执行文件。
使用如下命令运行程序:
myprogram<
或./myprogram<
如果程序中使用了创建线程的原语pthread*等,编译需要-lpthread选项。
例如:
gccmyprogram1.c–omyprogram1-lpthread<
四、具体实现:
lunix操作系统的安装登录及退出
1、安装VMware软件
双击安装文件,按照提示逐步安装,完成后的打开软件,如下图。
这时就可以安装Linux系统了。
2.安装Lniux系统
选择“新建虚拟机”。
按“下一步”,选择“典型”,“Linux”,“redhatlinux”
其他按照默认选择。
得到一个虚拟机界面(如下图所示)。
选中“CD-ROM”这项,将其设置为:
“使用映像文件
”然后导入Linux系统的安装的第一张盘。
点击“启动此虚拟机”,按照提示选择默认值,选择“个人工作站”。
其他全部默认即可。
在安装过程中,会提示“插入第二张光盘”,“插入第三张光盘”,这时同样用虚拟光驱加载镜像文件。
重起后进入(如下图所示)。
输入预先设置的用户名,密码,选择默认,进入系统。
3.安装VMwaretools
选择VMware软件的菜单“虚拟机”、“安装VMware工具”,看见如下两个文件。
双击rpm格式文件。
完成后,打开如下图的文件夹。
双击第一个压缩包进行解压到/usr/bin目录下。
在终端下运行以下命令(如图所示):
一路按回车确定即可,最后一步可以选择适合的分辨率。
五、所遇问题及解决方法:
在安装Linux系统的时候,由于之前没有使用过此系统,所以鼠标在Windows系统下和Linux系统下的切换花了很长的时间才摸索到方法。
在安装设置开始,由于选择外设配置过程中将光电鼠标错误选择成了USB接口,开始无法选择鼠标,后来又重新安装,发现系统会自动检测,默认设备,便成功安装了。
七、实验总结:
1、通过本次实验使我学会了虚拟机VMware软件的安装和使用,以及在Linux里的编程。
通过实验使我的动手能力有了一定的提升。
虽然,很辛苦但当虚拟机弄好时很有成就感。
2、在学习Linux系统时,我们经常会遇到没有见过的问题,此时我们不必迷惘、不必
心慌,只要认真细心地重新检查,一定会发现问题所在,进而解决问题。
实验报告二
验名称:
Vi编辑器的学习和使用日期:
2013.05.09
通过对vi编辑器的学习和使用,熟悉Unix类环境下的正文编辑程序及其作用。
认真学习Linux的正文编辑的相关基础知识,了解其编辑方式、插入方式和命令方式。
使用“ESC”键在命令模式和插入模式之间进行切换。
各项操作命令如下:
(1)进入插入模式
a追加,I插入,o在当前行下插入一空行;
A在行尾追加,I从行首插入,0在当前行上插入一空行。
(2)复制正文
yy复制当前行,nyy复制n行,yw复制一个词,y)复制从光标至句末的所有正文;
y}复制从光标至句首的所有正文,nyx复制类型为x。
(3)删除正文
x删除一个字符,dd删除当前行,ndd删除n行,dw删除一个单词(从光标处开始),nx删除n个字符,^gndd删除n行正文到缓冲区g中,^Gndd删除n行正文追加到缓冲区g中,c$从当前光标处删至行尾,d^从当前光标处删至行首,ndw(或dnw)删除n个词。
(4)替换正文
p将缓冲区的内容粘贴到当前光标处,^gp将g缓冲区里的内容粘贴到当前行下,
^gP将g缓冲区的内容粘贴到当前行上,rn用字符n替换当前字符。
(5)查找定位
nG将光标定位到第n行,^F向前一屏,^B向后一屏,^D向下半屏,^U向上半屏。
(6)文件操作
:
w写盘,:
wq(或:
ZZ)写盘退出,:
q!
不存盘退出,:
e!
不存盘不退出,u恢复前一步的改变,:
efilename编辑文件名,:
wfilename写文件名,:
w!
filename重写文件名,:
!
cmd运行一个命令,然后返回,^G显示当前文件和行号。
1.使用vi编辑器编译文档
基本操作如下:
2.编译C语言文件
首先应该在Linux下安装好gcc程序包。
然后用文本编辑器写一个简单的C程序,保存为test2.c(我第一次写的test.c文件没有截图,这是第二次写的test程序,用来展示我会用vi编辑器即可)。
编辑一个C语言程序:
在终端运行gcc命令编译:
gcctest.c–otest
没有提示表明编译成功,生成一个test文件
输入./test回车
显示:
ThisisthefirstOSexperiment!
在进行文件操作时,写盘和写文件名没有弄清楚,经过与同学的讨论和探索,最终成功的进行了写盘和写文件名操作。
六、实验总结
通过本次实验,我了解如何使用辑器,熟悉Unix环境下的正文编辑程序及其作用。
我觉得收获很大,这是我第一次在Unix环境下编写、编译代码。
这次实验让我觉得,只要肯认真学习,再难的东西都不会难倒我们!
实验报告四
观察进程的并发性
1、通过创建子进程,观察父子进程的并发执行过程,区别顺序执行和并发执行;
明确进程和程序的区别;
2、加深对操作系统进程概念和进程并发特性的理解。
1、学习进程的基础知识;
2、了解Linux系统中进程创建的基本原理;
3、熟悉进程的创建、控制、执行和终止等系统调用函数;
4、进程的创建。
学习进程的创建。
编制一段程序,使用系统调用fork()创建两个子进程,在此程序运行时,系统中就有一个父进程和两个子进程在活动。
让每一个进程在屏幕上显示一个字符:
父进程显示字符a,两个子进程分别显示字符b和字符c。
观察、记录并分析屏幕上进程调度和并发执行的情况:
此时,在程序中使用系统调用nice()来改变各进程的优先级,观察、记录并分析屏幕上进程调度和并发执行的情况。
4.1流程图
1)创建子进程
2)修改优先级
4.2添加函数的代码
#include<
stdio.h>
unistd.h>
sys/types.h>
sys/resource.h>
sys/wait.h>
stdlib.h>
intmain()
{
pid_tpid1,pid2;
pid1=fork();
if(pid1<
0)
{
printf("
error!
\n"
);
}
elseif(pid1==0)
{
printf("
b\n"
exit
(1);
}
else
pid2=fork();
if(pid2<
error\n"
elseif(pid2==0)
c\n"
else
a\n"
}
intoldpri1,oldpri2,newpri1,newpri2;
oldpri1=getpriority(PRIO_PROCESS,getpid());
oldpriorityis:
%d\n"
oldpri1);
newpri1=nice
(2);
newpriorityis:
newpri1);
b'
soldpriorityis:
snewpriorityis:
oldpri2=getpriority(PRIO_PROCESS,getpid());
c'
oldpri2);
newpri2=nice(4);
newpri2);
4.3修改原有函数部分代码
pid2=fork();
五、调试运行结果:
1)运行结果为a,b,c;
2)Pid1的优先级加2后的运行结果为c,a,b;
3)Pid2的优先级加4后的运行结果为a,b,c。
六、所遇问题及解决方法:
nice()函数调用不会使用,后经请教助教老师和参考上网资料,弄明白了此函数的用法,顺利的完成了优先级设定的实验部分。
七、实验总结
通过本次实验使我学会了虚拟机VMware软件的安装和使用,以及在Linux里的编程。