操作系统实验报告_第1页
操作系统实验报告_第2页
操作系统实验报告_第3页
操作系统实验报告_第4页
操作系统实验报告_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、目录实验二 Linux基础2实验三 编辑器vi和编译器gcc的使用10实验四 进程管理实验12实验五 进程和线程同步15实验六 进程间通信20实验八 Linux文件系统231实验名称: Linux基础 日期: 2014.5.31 报告分: 实验目的: 了解Linux系统,熟悉Linux文件和目录。预习报告:Linux文件系统是树状结构的,系统中每一个分区都是一个文件系统,都有自己的目录层次。Linux会将这些分属不同分区的、单独的文件系统按照树状的方式形成一个系统的总目录层次结构。目录提供了一个管理文件方便而有效的途径,最上层是根目录,其他所有目录都是从根目录出发而生成的。Linux使用标准的

2、目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录结构,并指定了每个目录的作用和其中的文件类型。实验观测记录及数据处理:1、ls(显示目录内容)(1)ls -l(以长格式显示当前目录中所有文件的详细信息)(2)ls -as -S(显示当前目录下所有的子目录与文件,以及他们使用的空间,并按照占用空间的大小排序)2、 cat(显示文件)3、 Chmod(改变文件或目录的访问权限)为文件1.c的其他用户添加写权限为1.c的同组用户赋予执行权限,同时去除读、写权限取消其他用户对1.c的读写和执行权限4、 cp(文件或目录的复制)5、 mv(文件或目录更名或将文件有一个目录移到

3、另一个目录中)6、 rm(删除文件或者目录)7、 mkdir(创建目录)8、 rmdir(删除空目录)9、 pwd(显示出当前工作目录的绝对路径)10、 cd(改变工作目录)Linux的其他命令1、 date(显示和设置系统日期和时间)2、 echo(显示字符串)3、 cal(显示日历)4、 Clear(清屏)5、 ps(进程查看命令)6、 Who(查看当前在线用户的情况)7、 Reboot(重新启动系统)8、 passwd(修改用户口令)9、 Su(改变用户权限)1、有多少用户正在使用你的Linux系统?给出显示的结果:2、 哪个用户登录的时间最长?给出用户登录的时间和日期:3、 你的操作系

4、统名字是什么?4、 你的计算机系统的域名是什么?5、 你的计算机系统的CUP的名字是什么?6、 在shell提示符后,输入echo $PS1并按回车,系统怎样回答?7、 在shell提示符后,输入PS1=%并按回车,显示屏有什么变化?8、 在shell提示符后,输入set并按回车,系统显示环境变量。给出你系统中的环境变量和它的值。9、 用命令date显示当前的时间,给出显示的结果。10、 用cal命令显示下列年份的日历:4、52、1752、1952、2005、2006其他年份的操作省略。11、 1752年有几天,为什么? 1752年只有355天。 cal 指令源自美国 AT&T 的 U

5、NIX,也因此继承了美国的历史。时间回到 1752 年。1752年9月大英帝国极其所属美洲殖民地的恺撒历法被格里高利教皇历法所取代。由于恺撒历法比格里高利历法迟11天,因此9月2日当天改历法后,次日须为9月14日,结果是9月3日到13日成了历史绝对空白期。12、 用pwd显示你的主目录名字,给出pwd显示的答案。13、 使用alias命令显示系统中的命令的别名,给出显示的结果。14、 使用uptime命令判断系统已启动运行的时间和当前系统中有多少登录用户,给出显示的结果。15、Touch:一般用来修改文件的时间,或者新建一个不存在的文件。比如:touch file1.txt 

6、;更新file1.txt的存取和修改时间。Open:Open函数打开某个文件。比如:在进程中调用Open命令的格式为:int open (const char *pash,int oflag,.)。Read:read命令接收标准输入,或其他文件描述符的输入。得到输入后,read命令将数据放入一个标准变量中。Write: 通过write指令可传递信息给另一位登入系统的用户。比如:write user ttyname。Pipe:管道pipe,意思是上一次命令的输出是下一个命令的输入。Mkfifo:创建FIFO(命名管道)。比如:mkfifo options file。printf:写格式化输出。比

7、如:printf Format Argument . 。39实验名称: 编辑器vi和编译器gcc的使用 日期: 2014.5.31 报告分: 实验目的:掌握编辑器vi的基本操作,能够用vi来编辑C语言程序;学会indent的用法;掌握用gcc来做一些简单的编译。预习报告:Vi是Unix世界里极为普遍的全屏幕文字编辑器,几乎可以说任何一台Unix机器都会提供这套软件。Vi有两种模式,输入模式和指令模式。输入模式用来输入文字资料,而指令模式则是用来下达一些编排文件、存档、以及离开vi等的操作指令。C语言是Linux下的最常用的程序设计语言,Linux上的很多应用程序就是用C语言编写的。Linux系

8、统上运行的GCC是一个全功能的ANSIC兼容编译器。虽然GCC没有继承的开发环境,但堪称是目前效率很高的C/C+编译器。实验观测记录及数据处理:用vi编辑器写一段C语言的程序,并对这个程序的格式进行整理,对程序进行编译,最后运行这个程序。写出你的程序和实现以上操作的全部的指令。首先进入vi编辑器:编辑程序,并用indent规范代码格式:代码如下:用gcc编译:实验名称: 进程管理实验 日期: 2014.6.1 报告分: 实验目的:通过实际上机调试和运行程序了解Linux系统中的进程基本编程:创建和终止,了解父进程和子进程的概念。预习报告:在Linux系统中,进程被认为是具有一定功能的程序关于一

9、个数据集合的一次运行活动,是处于活动状态的计算机程序。进程在运行态、就绪态、等待态、stopped和zombie这几个状态之间相互转化,但对用户是透明的。创建一个新进程的唯一方法是由某个已经存在的进程调用fork函数,被创建的新进程是子进程,已经存在的进程是父进程。子进程是父进程的拷贝。具体的说,子进程从父进程那里得到了数据段的堆栈段的拷贝,这些需要分配新的内存,而不是与父进程共享内存。实验观测记录及数据处理:Fork.c运行结果:分析:fork()是一个单调用双返回的函数。某个进程用此函数后,若创建子进程成功,则这个函数在父进程中返回值是创建的子进程的进程标志号,而在子进程中返回零,否则返回

10、-1。父进程只会执行default这一段语句,输出了子进程和父进程的标志号。而子进程只会执行case 0这一段语句,输出子进程的Pid为0。Fork2.c运行结果:分析:fork2.c中加入了循环,父进程执行default部分语句,输出父进程正在运行。因为k=5,所以循环输出五次。子进程执行case 0部分语句,输出子进程正在运行。因为k=3,所以循环输出三次。因为资源抢占,所以父进程和子进程是交替执行的。先编译第一个程序,生成可执行文件:再编译第二个程序,生成可执行文件:执行execve程序后的结果为:分析:首先父进程执行,输出结果后等待子进程执行。子进程执行输出了自身的Pid、父进程的Pi

11、d、uid和gid。之后子进程调用了execve程序。一个程序一旦调用了execve函数,其本身就死亡了,系统把子进程的代码段替换成新的程序的代码,废弃了原来的数据段和堆栈段,所以就执行processimage程序输出结果。Wait.c运行结果:分析:如果父进程先于子进程退出,子进程就会进入僵死状态,如果父进程调用了wait函数后,就不会使子进程变成僵尸进程。在实验中,首先子进程运行,k=5,退出码=37。因为子进程Pid=0,所以执行循环部分,一直到k=0;而父进程调用了wait函数,所以父进程一直会等到子进程k=0退出后才会继续运行。实验名称: 进程和线程同步 日期: 2014.6.1 报

12、告分: 实验目的:加深对进程概念的理解,认识并发执行的实质,分析进程征用资源的现象,学习进程、线程互斥的方法。预习报告:线程是计算机中独立运行的最小单位,运行时占用很少的系统资源。由于每个线程占用的CPU时间是由系统分配的,因此可以把线程看成操作系统分配CPU时间的基本单位。在用户看来,多个线程是同时执行的,但从操作系统调度上看,各个线程是交替执行的。创建线程:线程创建函数pthread_create。实验观测记录及数据处理:编译并运行$gcc createthread -o createthread -lpthread $./createthread结果如下: 分析:程序首先打印主线程的ID

13、,然后打印新创建线程的ID。编译并执行oncerun.c,执行结果如下:分析:主函数创建了两个新的线程。本来两个线程都要调用run这个函数,输出两句running的语句。但是通过pthread_once函数,两个线程只能调用一次run函数。所以结果run函数只被调用了一次,只输出了一个结果。编译并执行condition.c,执行结果如下:分析:主函数初始化一个互斥锁,初始化一个条件变量,并创建两个线程。两个线程抢占资源,一旦一个线程检测到条件变量为真就进行加锁,并将条件变量设置为假,运行结束后解锁。等线程运行结束后,主函数将条件变量再设置为真。如此循环执行。作业:1、 编写一个多线程程序:要求

14、主线程创建3个子线程,3个子线程在执行时都修改一个它们的共享变量,观察共享变量的值,看看可以得出什么结论。#include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<pthread.h>int x=0;void *thread1(void *arg)x=x+1;printf("pthread1 is running,x=%dn",x);return NULL;void *thread2(void *arg)x=x+1;printf("pthread2 i

15、s running,x=%dn",x);return NULL;void *thread3(void *arg)x=x+1;printf("pthread3 is running,x=%dn",x);return NULL;int main(void)pthread_t thid1,thid2,thid3;pthread_create(&thid1,NULL,(void *)thread1,NULL); sleep(1);pthread_create(&thid2,NULL,(void *)thread2,NULL); sleep(1);pthre

16、ad_create(&thid3,NULL,(void *)thread3,NULL);sleep(1);printf("Main thread exit!n");exit(0);2、 编写一个多进程多线程的程序:要求创建4个子进程,每个子进程都分别创建两个线程,进程和线程的功能不作要求,可以只提供简单的打印语句。#include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<pthread.h>void *thread1_1(void*arg)printf(

17、"pthread1_1 is runningn");return NULL;void *thread1_2(void*arg)printf("pthread1_2 is runningn");return NULL;void *thread2_1(void*arg)printf("pthread2_1 is runningn");return NULL;void *thread2_2(void*arg)printf("pthread2_2 is runningn");return NULL;void *thread

18、3_1(void*arg)printf("pthread3_1 is runningn");return NULL;void *thread3_2(void*arg)printf("pthread3_2 is runningn");return NULL;void *thread4_1(void*arg)printf("pthread4_1 is runningn");return NULL;void *thread4_2(void*arg)printf("pthread4_2 is runningn");retu

19、rn NULL;int main(void)pid_t pid1,pid2,pid3,pid4;pthread_t thid1_1,thid1_2,thid2_1,thid2_2,thid3_1,thid3_2,thid4_1,thid4_2;pid1=fork();if(pid1 > 0)pid2=fork();if(pid2 > 0)pid3=fork();if(pid3 > 0)pid4=fork();if(pid1 = 0)printf("pid1 is running,ParentPid is %dn",getppid();pthread_cre

20、ate(&thid1_1,NULL,(void*)thread1_1,NULL);pthread_create(&thid1_2,NULL,(void*)thread1_2,NULL);else if(pid2 = 0)printf("pid2 is running,ParentPid is %dn",getppid();pthread_create(&thid2_1,NULL,(void*)thread2_1,NULL);pthread_create(&thid2_2,NULL,(void*)thread2_2,NULL);else if(

21、pid3 = 0)printf("pid3 is running,ParentPid is %dn",getppid();pthread_create(&thid3_1,NULL,(void*)thread3_1,NULL);pthread_create(&thid3_2,NULL,(void*)thread3_2,NULL);else if(pid4 = 0)printf("pid4 is running,ParentPid is %dn",getppid();pthread_create(&thid1_1,NULL,(void

22、*)thread4_1,NULL);pthread_create(&thid1_2,NULL,(void*)thread4_2,NULL);else printf("Parent process is running, ID is %dn", getppid();sleep(1);实验名称: 进程间通信 日期: 2014.6.2 报告分: 实验目的:了解Linux系统的通信机制,管道、消息队列、信号量的创建与使用、共享内存。预习报告:进程的地址空间是各自独立的,因此进程之间交互数据必须采用专门的通信机制,特别是在大型的应用系统中,往往需要多个进程相互协作共同完成一个

23、任务,这就需要使用进程间通信编程技术。Linux操作系统不但继承了system V IPC通信机制,还集成了基于套接字的进程间通信机制。实验观测记录及数据处理:编译并运行pipe.c,结果如下:程序说明:在该程序中,父进程向管道中写数据,子进程从管道中获取数据。可以看到,对管道的读写和对一般文件的读写没什么区别。分别编译monitor.c和ctlprocess.c,并运行monitor exit和monitor getpid,结果如下:程序说明:主程序向管道中写一个命令行参数,子程序从标准输入里面读出该参数,进行相应的操作。编译并运行ftok.c,运行结果如下:分析:ftok函数根据pathn

24、ame和proj_id这两个参数生成唯一的键值。该函数执行成功会返回一个键值,经过for循环,循环输出五个键值。编译并执行sendmsg.c,运行结果如下:分析:该程序是向消息队列写入数据而没有输出,所以看不到输出结果。编译并执行rcvmsg.c,运行结果如下:分析:该程序通过获取键值,获取消息队列的标识符,读取sendmsg.c写入的数据,最后输出结果Hello,message queue。首先在终端上编译并运行server.c,再在另一个终端上编译并运行client.c,运行结果如下:分析:server创建一个信号集,并对信号集循环减1,相当于分配资源。Client执行时检查信号量,如果其

25、值大于0代表有资源,继续执行,并输出可用资源数。如果小于0代表资源已经分配完毕,进程client退出。Server程序显示资源已经用完。编译writer.c和reader.c两个程序,同时在两个终端运行这两个程序,在write端输入字符串“hello,reader”,查看运行结果:分析:两个程序在进入共享内存前,首先都检查信号集中的信号是否为1,如果不为1,调用sleep()进入睡眠直到信号的值变为1.进入共享内存之后,将信号的值减1,这样就实现了互斥的访问共享资源。当writer程序输入数据时,reader程序就相应输出的输入的数据。实验名称: Linux文件系统 日期: 2014.6.2

26、报告分: 实验目的:通过本实验:(1) 使用控制字符执行特殊功能;(2) 显示文件系统权限;预习报告:在本实验中,我们将使用不同的信息命令,来调查和发现文件的信息;使用命令来帮助确定文件类型和创建文件的应用;也可以使用几个命令来查看文本文件的内容和对他们进行比较。我们将在命令行下使用文件管理命令工作,介绍文件和目录命名规则。我们将创建一个简单的目录结构,然后在那些目录中创建一个文件,并练习创建和删除文件和目录。实验观测记录及数据处理:文件信息命令:1、 当你接下Ctrl+Z的时候,发生了什么事情?答:从帮助文件退出,恢复命令提示符。2、(1) 在shell提示符下键入bc,启动基本的计算器工具

27、程序。(2) 把两个数字相乘(键入:458*594,然后按回车键)。(3) 按Ctrl+D,退出计算器。当使用计算器的时候,你的提示符是什么?答:空白3、 如果输入一个命令,如ls -R/,有时候会在按下回车键之前想擦除命令行。输入一个命令,在按下回车键执行命令之前按下Ctrl+U。结果是什么?答:命令行被擦除。4、 使用file命令来确定test文件的文件类型,它是哪种类型的文件?答:ASCII text5、 使用file命令确定你所建立的文件类型?答:document6、 使用string命令查看/usr/bin/cat 文件的可读字符。7、 使用cat命令显示主目录中dev1文件的内容。

28、文本的显示出现了什么情况?答:显示dev1中目录内容,并直接滚动到最后一屏。8、 使用more命令显示主目录中dev1文件的内容。文本的显示出现了什么情况?答:显示一屏的文件内容,并显示已显示内容的百分比。按下回车显示下一行信息。按下空格显示下一屏信息。9、(1)单独使用head命令,显示主目录中dev1文件的开始部分。显示了多少行?答:显示10行。(2) 使用带 -n选项的head命令,显示Downloads目录中1.c文件的前20行。输入什么命令?答:10、 单独使用tail命令,显示主目录中dante文件的末端。显示了多少行?答:显示了10行。11、 使用wc命令确定Downloads目

29、录中1.c文件的行数、单词数和字符数。分别有多少?答:12、 在命令提示行下,输入命令ls | wc -w。有多少个文件和目录名(单词)?答:13、(1)在fruit1文件和fruit2文件中,哪几行是不同的?答:第二行。对filex文件使用cat命令。上面的命令行做了什么工作?答:把fruit1和fruit2中内容送到filex中保存。(2)可以使用哪2个命令来确定2个文件是否相同?答:diff -i diff -e基本的命令行文件管理14、 检查表中文件名,指出它们是否是有效或者推荐的Linux文件或目录名,为什么?文件名是否为Linux文件或目录原因12345abcde678是数字和字母

30、可以命名Hobbies:2是:是合法的Adcd-123是- 是合法的Sales*repts*2001是*不推荐但也算是合法的D.projects.bj.2001是.是合法的Projects>1.bj-2001不是>是不合法的15、(1)在主目录中使用touch命令创建一个名为newfile的文件,应该使用什么命令?答:touch newfile(2)使用touch命令在这个目录中创建另一个叫做filenew的新文件,应该使用什么命令?答:touch filenew(3)输入命令显示practice目录中的文件的长列表。创建的文件列出来了吗?答:列出。(4)谁是文件的所有者?答:js

31、j-206(5)和文件关联的组是什么?答:jsj-206(6)创建的日期和时间是什么?答:2014年5月28日9:00(7)文件的大小是多少?答:0字节(8)使用file命令确定newfile的文件类型,它是哪一类的文件?答:empty空文件。(9)使用touch命令同时创建3个文件:new1、new2和new3,应该使用什么命令?答:touch new1 new2 new3(10)输入命令显示practice目录中文件的长列表。创建的3个新文件列出来了吗?答:列出。16、(1) 从主目录中,使用相对路径名改变到practice目录中。使用什么命令?答:cd practice(2) 使用mkd

32、ir命令,在这个目录中创建一个叫做newdir的子目录。使用什么命令?答:mkdir newdir(3) 输入命令,显示practice目录中文件和目录的长列表。创建的目录列出来了吗?答:列出。(4) 目录的所有者是?答:jsj-206(5) 文件的大小是多少?答:0字节。(6) 使用file命令确定newdir文件的类型。它是哪一类的文件?答:director 目录文件。(7) 如果名字中没有字符dir,采取别的什么方法来识别出它是一个目录?答:1、文件名为蓝色。2、长列表格式查看,第一列为d。(8)Mkdir命令创建3个目录,目录名分别为high、medium和low,应该使用什么命令?答

33、:mkdir high medium low(9)用ls命令检查创建是否成功? 答:成功。17、(1) 使用rm命令删除早先在practice目录中创建的newfile文件,应该使用什么命令?答:rm newfile(2) 输入命令显示practice目录中文件的长列表。创建的文件还在吗?答:已删除。(3) 使用带 -i选项的rm命令,删除早先在practice目录中创建的filenew文件。交互式选项起到什么作用? 答:删除前提示用户。(4) 删除早先创建的三个名为new1、new2和new3的文件。使用问号(?)通配符使用一个命令删除所有三个文件,使用什么命令?答:rm new?(5) 输

34、入命令,显示practice目录中文件的长列表。三个文件还在吗?答:已删除。(6)还有其他的什么方法来删除new1、new2和new3文件?答:在图形界面选中三个文件,然后右键Move To Trash。18、(1) 删除早先创建的newdir子目录,使用什么命令?答:rm -r newdir(2) 输入命令显示practice目录中文件的长列表,创建的子目录还在吗?答:已删除。(3) 改变到早先创建的medium子目录中,输入什么命令?答:cd medium(4) 删除早先创建的low子目录,使用什么命令?答:rm -r /home/low(5) 用相对路径名和快捷方式,改变回到practi

35、ce子目录中,应使用什么命令?答:cd .(6) 使用一个命令删除high和medium子目录,应使用什么命令?答:rm -r high medium确定文件系统权限及在命令行中修改权限1、(1)使用ls -l命令列出主文件夹中的文件。/bin/cat的文件类型是什么(文件或目录)?如何知道的?答:文件类型是文件,因为是绿色的,可执行。(2) Cat的权限是什么?答:rwx r-x r-x2、(1)文件的r权限的意义是什么?答:显示、拷贝文件内容。(2)目录的r权限的意义是什么?答:可以用ls命令列出内容。(3)文件的x权限的意义是什么?答:文件可以被执行。(4)文件的w权限的意义是什么?答:

36、文件可以被修改、移动和删除。(5)目录的w权限的意义是什么?答:文件可以被添加或删除。(6)权限位置的短横线(-)的意义是什么?答:不具有相应位置的权限。3、(1) 谁是dante文件的所有者?答:jsj-206(2) 用户权限的头2个字符是什么?答:rw(3) 在用户的权限组中,第三个位置是什么?答:-(4)列出根据所给的文件权限,用户(所有者)能够做的4件事情?答:显示、拷贝、移动、修改。4、(1) Dante文件的所有者是什么主属组的成员?答:jsj-206(2) 属组权限的第一个字符是什么?答:r(3) 这允许属组的其他成员对文件进行什么操作?答:显示或拷贝。(4) 为什么在接下来的第

37、二和第三个位置不是w和x,而是短横线?答:相应的写和执行命令不可实现。5、 不是所有者和属组的其他人对dante文件有什么权限?答:-w- 6、(1) 从主目录中显示在/usr/bin目录中的bc文件的长目录列表。使用什么命令?答:ls -l /usr/bin/bc(2) 文件的权限是什么?答:rwx r-x r-x(3) 用户权限是什么?答:rwx(4) 属组权限是什么?答:r-x(5) 其它权限是什么?答:r-x(6)为什么属组用户和其他用户类别没有w(写)权限?答:不允许其他用户对其进行修改。7、(1) 在主目录中创建一个叫做newfileperms的新文件。使用什么命令和路径名?答:t

38、ouch newfileperms(2) 查看newfileperms的权限。使用什么命令和路径名?答:ls -l(3) 分配给这个文件的默认权限是什么?答:rw- rw- r-(4) 谁是所有者?答:jsj-206(5) 谁是主属组?答:jsj-206(6)主属组的成员能够重新命名这个文件吗?答:能。8、(1) 在主目录的practice目录中创建一个叫做newdirperms的新目录。使用什么命令和路径名?答:mkdir newdirprms(2) 列出主目录中的内容,查看newdirperms的权限。使用什么命令和路径名?答:ls -l(3) 分配给这个目录的默认权限是什么?答:rwx

39、rwx r-x(4) 谁是所有者?答:jsj-206(5) 谁是主属组?答:jsj-206(6)一个主属组的成员能够在这个目录中添加文件吗?答:可以。9、(1) 哪种chmod模式使用数字表示文件权限?答:八进制模式。(2)哪种chmod模式使用字母(或符号)表示权限?答:符号模式。10、(1) 在主目录中使用相对路径名创建一个叫做chmoddir的新目录。使用什么命令创建目录?答:mkdir chmoddir(2) 改变到chmoddir目录中,创建一个叫做symfile的新文件。使用什么命令创建文件?答:touch symfile(3) 使用ls -l命令来确定symfile的权限。这些是

40、文件的默认权限。用户、属组和其他的权限是什么?答:rw- rw- r-(4)使用chmod命令,在符号模式下,删除其他用户对于文件symfile的读权限。使用什么命令?答:chmod o-r symfile(5)再次列出文件的权限。其他类别用户的权限现在是什么?答:-(6)如果想只使用一个命令删除属组和其它类别的读权限,使用什么命令?答:chmod go-r symfile11、(1) 改变回到主目录,使用什么命令?答:cd(2) 从主目录中列出早先创建的新的chmoddir目录的权限。用户、属组和其他的权限是什么?答:rwx rwx r-x(3) 除了自己或者属组成员以外的其他用户能够从chmoddir目录中拷贝文件吗?答:能。有读权限和执行权限(4) 不想让其他用户从chmoddir目录中拷贝文件。改变到主目录中,使用chmod命令,在符号模式下,删除其他类别用户对于目录chmoddir的读和执行权限。使用什么命令?答:chmod o-rx(5) 再次列出目录的权限。其他类别

温馨提示

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

评论

0/150

提交评论