版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、版本号:1.0 撰写人:孙自广日期:2014-01-27操作系统实验指导书 (Linux版) 广西工学院计算机工程系 2014年01月前言 操作系统是计算机科学与技术专业(软件工程方向)的一门非常重要的专业课程,操作系统是应用软件与底层硬件的桥梁。通俗的说“只有搞懂了操作系统,才能真正理解计算机”。学好操作系统课程可以提升学生应用计算机解决问题的能力,并获得开发大型复杂软件的经验。操作系统至关重要,但学好它并不容易。虽然Windows界面友好,方便使用,但是底层运行机制被有效的隐藏,在很多人眼里计算机还是一个黑匣子。在选择教学用操作系统上颇费苦心,目前可用于教学的操作系统有Minix, Noc
2、hos, Geekos, JOS,FreeBSD等,而Linux不仅是开源的,而且资料丰富并拥有大量的应用软件,所有我们选择了Linux作为实验的平台。本实验指导书参阅了很多网上的优秀资源,在此对提供这些资源的作者,表示感谢。目 录前言21.操作系统实验概述41.1 实验平台及工具41.2 基本内容51.3 考核规则52. 系统应用实验项目62.2 Linux 应用实验项目 2:shell基本命令82.3 Linux应用实验项目 3: 文件编辑102.5 Linux 应用实验项目 5:文件安全162.6 Linux 应用实验项目 6: 基本文件处理182.7 Linux应用实验项目7:高级文件
3、处理212.9 Linux 应用实验项目 8:管道与I/O重定向232.10 Linux 应用实验项目 9:进程243.系统开发实验项目273.1 Linux 进程创建293.2 进程软中断通信343.3 进程管道通信37271.操作系统实验概述实践对于操作系统课程是至关重要的,但这种实践决不应该仅仅停留在某些算法的模拟实现上。就算在编程实现了一个完整的“文件系统”,但如果没有和磁盘驱动、高速缓存、内存管理等模块联系在一起,即使编写了大量的代码,也只是实现了某些概念(更像是一个数据结构课程设计),仍然不能控制可实际运行的操作系统。本实验指导书强调在可实际运行的操作系统上的实践。 1.1 实验平
4、台及工具1. Ubuntu Linux考虑到实验的可操作性,选择了成熟的Linux版本,具体平台可选择流行的Ubuntu,读作“乌邦图”。Ubuntu也许不是目前最好用的Linux桌面发行版,但它一定是最流行的!它最重要特点是易用,非常的易用。 现在,已经有越来越多的人开始用Ubuntu完全代替Windows,享受更加自由、安全、守法的感觉。Ubuntu的主页是 另外国内的雨林木风团队,开发一个基于ubuntu的高仿XP开源系统,界面和Windows XP极为相似(/)。2. GCC编译器GCC是和Linux一起成长起来的编译器。Linux最初的版本就是由G
5、CC编译的。现在GCC也是在自由软件领域应用最广泛的编译器。所以,我们也选择GCC作为本实验的指定编译器。 3. GDB调试器GDB调试器是GCC编译器的兄弟。作为自由软件领域几乎是唯一的调试器,它秉承了*nix类操作系统的一贯风格,采用纯命令行操作,较类似dos下的debug。关于它的使用方法请看GDB使用手册。 4.cygwincygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windo
6、ws上进行嵌入式系统开发,非常有用。要安装网络版的cygwin,可以到,点击"Install Cygwin Now!"。这样会先下载一个叫做setup.exe的GUI安装程序,用它能下载一个完整的cygwin。我们把cygwin的作为一个备用工具,可以通过它来练习命令行操作。1.2 基本内容本实验分为两个阶段:系统应用实验和系统开发实验。表1. 系统应用实验项目编号项目备注1起步2Linux shell基本命令3文件编辑4文件和文件系统结构5文件安全6基本文件处理7高级文件处理8管道和I/O重定向9进程表2. 系统开发实验项目编号项目备注1Linux进程创建2进程软中断3进
7、程管道通信1.3 考核规则每次考核,老师会到学生所在的电脑旁,观看项目的运行结果,并进行简单的答辩。操作系统实验的成绩主要由学生所作的实践工作和取得的实验结果来定,同时辅以学生撰写的实验报告作为部分。因此成绩主要考核三方面的内容: 1. 实践工作需要达到一定的量; 2. 实验内容要求得到正确、丰富的实验结果; 3. 实验报告的撰写情况。其中前两项是考察的重点。2. 系统应用实验项目目前入学的计算机专业学生,一开始便使用Windows系统,以至于相当一部分学生连最常用的DOS命令都不知道。终端命令脱去了“视窗”华丽的外衣,它的高效与灵活是计算机系统引入入胜的一个特点。系统应用实验以Linux系统
8、的使用为主,本实验内容可以和“Linux环境与开发”课程有效衔接,锻炼学生操纵计算机的能力,加深对文件系统的了解。本阶段安排有11个项目,每个项目基本都可以在2-3个学时内做完。2.1 Linux 应用实验项目1:虚拟机环境下的Linux系统安装1安装虚拟机软件VMWare Workstation v6.52创建虚拟机选择File | New | New Virtual Machine选择Custom方式,并进行以下配置:1. 虚拟机的操作系统类型(Guest Operating System)为Linux2. 内存512 MB3. 共享网络连接4. 创建虚拟硬盘,默认大小为8GB,文件名Li
9、nux.vmdk,类型IDE 0:0注意在Advanced按钮界面下选择IDE硬盘仿真,不要使用SCSI硬盘仿真。VMWare缺省选择为SCSI硬盘仿真。另外,系统自动配置CD-ROM IDE 1:0,USB控制器 Present,等等3安装Linux整个安装(及其其后的软件安装),只需要ubuntu 9.1的第一张光盘1. 从光盘启动如果使用.iso光盘镜像文件,请在VMWare软件的虚拟机设置中,选择光盘镜像仿真。具体操作:1. VMWare中选中当前的虚拟机2. 选择菜单Edit | Virtual Machine Setting . 3. 在弹出的对话框中选择Hardware页面(缺省
10、),在Device列表中选择CD ROM4. 在右侧Connection中,选择Use ISO Image,并指定光盘镜像的位置2. 创建(虚拟)磁盘上的分区时,选择自动创建3. 此后,按照屏幕提示进行安装2.2 Linux 应用实验项目 2:shell基本命令实验目的:练习 data、cal、pwd 等几个常用的 Linux 命令。实验内容:本实验用到的命令有:date、cal、pwd、write、alias、uptime、man 等1. 登录你的 Linux 系统。2. 用命令 date 显示当前的时间,给出显示的结果。3. 用 cal 命令显示下列年份的日历:4、52、1752、1952
11、、2005、2006 a)给出你显示以上年份年历的命令b)1752 年有几天,为什么?提示:在因特网上查找答案4. 用 pwd 显示你的主目录(home directory)名字,给出 pwd 显示的结果。5. 使用 write 命令和已经登录系统的一个朋友进行通信。6. 使用 alias 命令显示系统中的命令的别名,给出显示的结果。7. 使用 uptime 命令判断系统已启动运行的时间和当前系统中有多少登录用户, 给出显示的结果。8. 通过因特网或 Linux 的 man 命令得到下面的 shell 命令、系统调用和库函数功 能描述及每个命令使用例子:CommandShort Descrip
12、tionExample Usetouchcpmvrmmkdirrmdirlslprcdpwdopenreadwriteclosepipesocketmkfifosystemprintf9. 退出系统2.3 Linux应用实验项目 3: 文件编辑 实验目的:1. 练习用 pico 编辑器编辑文本文件;2. 练习用 vi 编辑器编辑文本文件;3. 练习用 emacs 编辑器编辑文本文件;实验内容:Linux 是文本驱动(text-driven)的操作系统,Linux 常用的编辑器有:l 文本界面下的编辑器u vi : 最令 UNIX 类操作系统初学者裹足不前的 editor,然而只要你习惯于操作,
13、你会觉得它比任何的 editor 都好用,且功能强大。u pico 或 nano :一种风格很像 Microsoft DOS 的 EDIT 的一种文本编辑器。一些发行版没有安装。u emacs: linux 编辑器,功能强大的全屏幕编辑器。u 命令行方式建议使用 emacs 或 vil 图形界面的编辑器u emacs 编程编辑器u gedit 全屏幕文本编辑程序1. 登录你的 Linux 系统。2. pico 文本编辑器的使用:a. 在 shell 提示符下,输入 pico 并按<Enter>键;b. 在 pico 的文本区,将光标置于首行并输入文字:This is txet th
14、at I have enteres on a lioe in the pico editor.按<Delete>键和方向键来修正拼写错误;c. 按三次<Enter>键;d. 输入:This is a line of text three lines down from the first line. e. 按<Ctrl-O>键;f.在 File Name To Write 提示后输入 linespaced,并按<Enter>键;g. 按下<Ctrl-X>键回到 shell 提示符下;h. 在 shell 提示符下输入 more lin
15、espaced 并按<Enter>键。以上步骤完成后,屏幕上看到了什么?3. 运行 pico 并创建带有 3 行文本的一个文件。然后,使用 pico 的剪切和粘贴功 能来复制这 3 行,使该文件包含 9 行文本。以 prob3 为文件名保存该文件。4. vi 编辑器的使用:a. 在 shell 提示符下,输入 vi firscrip 并按<Enter>键。vi 的界面将出现在显示屏上;b. 输入 a,输入 ls la,并按<Enter>键;c. 输入 who,并按<Enter>键;d. 输入 pwd,再按<Enter>键。这时屏幕将如
16、下图所示:ls la who pwde. 输入:wq,并按<Enter>键;f.在 shell 提示符下,输入 bash firscrip 并按<Enter>键;g. 观察结果。当前的工作目录中有多少个文件?他们的名称和大小?还有谁在使用你的计算机系统?当前的工作目录是什么?4.在系统中运行 vi 并创建一个 bash shell 脚本文件,它包含下面行:echo $SHELLchsh l然后以 sheller 为名保存该文件并退出 vi。在 shell 提示符下,输入 bash sheller 并按<Enter>键。屏幕上给出了当前的 shell 和一个
17、linux 文件,该文件的内容包 含系统中可用的其他 shell。给出运行的结果。5.登录你的 Linux 系统,运行 emacs 程序,编辑一个新文件,使用-nw 命令选项。a. 在文件的第一行输入你的名字;b. 在文件的第二行输入“"The emacs editor is the most complex and customizable of the Linux text editors".”6.退出系统2.4 Linux应用实验项目 4:文件与文件系统结构实验目的:1. 学习如何创建一个 Linux 目录的层次结构;2. 学习有关绝对路径和相对路径;3. 学习有关主
18、目录(home directory)、登录目录、工作目录(当前目录);4. 学习如何有效导航 Linux 目录层次;5. 学习有关文件内容类型和隐含文件;6. 学习有关文件属性。实验内容:Linux 文件系统的结构如下:Linux 系统主要目录说明:§ /bin:也称二进制(binary)目录,包含了那些供系统管理员和普通用户使用的重要的 Linux 命令的可执行文件。一些常用的命令有:bash、cat、chmod、cp、date、echo、kill、ln、mail、mkdir、more、mv、ps、pwd、 rm、rmdir、sh、stty、su、tcsh、uname 和 vi。一
19、些用于系统恢复的命令 如:tar、gzip、gunzip 和 zcat。还有一些网络命令如:domainname、hostname、 netstat 和 ping。目录/usr/bin 下存放了大部分的用户命令。§ /boot :在这个目录下存放系统启动时要用到的程序。包括 Linux 内核的二进制映像。内核文件名是 vmlinux 加上版本和发布信息。§ /dev:dev 是设备(device)的英文缩写。在这个目录中包含了所有 linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。§ /etc :etc 这个目录是 linux 系统中最重要的目
20、录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。我们要用到的网络配置文 件,文件系统,x 系统配置文件,设备配置信息,设置用户信息等都在这 个目录下。§ /sbin :这个目录是用来存放系统管理员的系统管理程序。§ /home :存放用户的主目录。如果建立一个用户,用户名是“ji”,那么在/home 目录下就有一个对应的/home/ji 路径,用来存放用户的主目录。§ /lib :lib 是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。§ /mnt :这个目录主要用来
21、临时装载文件系统,系统管理员运行 mount 命令完成装载工作。§ /opt:该目录用来安附加软件包§ /proc :目录存放了进程和系统得信息,可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。§ /root :根(root)用户的主目录。如果用户是以超级用户的身份登录的,这个就是超级用户的主目录。§ /sbin,/usr/sbin,/usr/root/sbin:存放了系统管理的工具、应用软件和通用的 root 用户权限的命令。§ /tmp :用来存放不同程序执行时产生的临时文件。§ /usr :是 linux 文
22、件系统中最大的目录之一。它存放了可以在不同主机间共享的只读数据。§ /lost+found : 目录中存放所有和其他目录没有关联的的文件,这些文件可以用 Linux 工具 fsck 查找得到。§ /sbin : /usr/sbin : /usr/local/sbin : Contains system administration command files that can only be run by the root user.§ /var : 用来存放易变的数据,这些数据在系统运行过程中会不断变化。/var/spool/mail 存放收到的电子邮件,/va
23、r/log 存放系统的日志。本实验用到的命令有:PATH, cd, echo, file, ls, mkdir , pwd , rmdir 等。1. 登录到你的 Linux 系统2. 在你的主目录下建立如下图所示的目录树。给出完成这项工作的所有会 话。(会话是指你命令的输入和结果的输出,你提交的作业要包含这些内 容)3. 显示你登录目录的绝对路径,给出这个会话过程。4. 在系统中,执行 cd professional/courses 命令,回答下列问题:a. 你的主目录的绝对路径是什么?给出获得该绝对路径的命令及命令输出。b.acm 目录的绝对路径是什么?c. 给出 acm 目录的两个相对路径
24、。d.执行 cd major/cs381/labs 命令。然后执行一个命令显示当前目录的 绝对路径,给出这个会话过程。e. 给出获得你的主目录三个不同的命令。5. 改变目录到/usr。在这个目录下有多少个文件和目录,他们的文件内容类 型是什么?6. 在/usr/bin 目录下有多少个普通文件、目录文件和链接文件?如何得到这个答案?7. 你系统中的 Linux 内核映像文件在那个目录中?给出这个可执行内核映像文件的名称和文件内容类型。8. Linux 系统规定,隐含文件是首字符为”.”的文件,如.profile。在你的系统中查找.profile 和.login 文件,他们在什么地方,给出这两个文
25、件部分内容。9. 显示你的主目录下的所有隐含文件的文件名。给出你的会话过程。10. 下面这些目录的 inode 号是多少:root、你的主目录(home directory)、/temp、 /professional、和/personal? 写出会话过程。注:符号“”为主目录11. 在 labs 目录下,用文本编辑器创建一个名字为 lab1 的文件,文件的内容 为:“Use a text editor to create a file called lab1 under the labs directory in your directory hierarchy. The file shoul
26、d contain the text of this problem. ”。 回答下列问题:a. lab1 文件的类型,用 Linux 命令回答这个问题,给出会话过程。b. lab1 文件内容的类型,用 Linux 命令回答这个问题,给出会话过程。12. 退出系统。2.5 Linux 应用实验项目 5:文件安全实验目的:1. 学习 Linux 的文件访问权限,用户的类型和文件访问权限的类型;2. 学习如何确定一个文件的访问权限;3. 学习如何设置和改变一个文件的访问权限;4. 学习如何在文件或目录的创建时设置缺省访问权限。实验内容:在 Linux 系统中,一个文件的用户类型有三种:所有者( o
27、wner users )、 组( group users)、其他人( Other users )Linux 系统中,文件有三种访问权限:读(r)-允许读某个文件;写(w) -允许 写、修改和删除某个文件;执行(x) -允许执行(run)某个文件。对于一个目录而言:读(r) -允许用户列出目录的内容,使用 ls 命令;写 (w)-允许用户在目录下建立新文件,删除子目录和文件;执行(x)-允许用户搜索 这个目录,用 cd 命令。使用 ls -l 或 ls -ld 命令显示文件的访问权限:本实验使用的命令有:finger、cd、mkdir、ls、chmod、touch、umask 等1.登录到你的
28、Linux 系统2.根据下列的要求,写出得到这些信息的会话过程:a. 你的用户名;b. 你的用户 ID;c. 你的组 ID 和组名字;d. 在你同一组中的其他用户名。注:在/etc/passwd 和/etc/group 文件中查到部分信息,要理解这两个文件的格式。3. 系统管理员给你的主目录设置的权限是什么?使用什么命令来得到这个答案,给出你的会话过程。6.在你的主目录中的 temp、professional 和 personal 三个子目录,设置使自己(owner)拥有读、写、执行 3 种访问权限,设置其它用户只有读和执行权限。 在/tmp 目录下创建名为 d1、d2 和 d3 的目录。在
29、d1 目录下,用 touch 命令创建一个名为 f1 的空文件。给出 d1、d2、d3 和 f1 的访问权限。给出完成这些工作 的会话。7 设置当前目录为你的主目录,设置/temp 仅执行权限,然后执行 ls ld temp,再执行 ls l temp 命令。结果如何?成功执行 ls l temp 命令需要的 最小权限是什么?请设置 temp 目录的最小权限,然后再一次执行 ls l temp 命令。给出这个过程的会话。注:登录系统不能使用 root 用户8. 用 umask 命令显示当前的掩码。把你的主目录设置为当前目录,然后在/temp/d1 目录下,创建 d11 目录,用 touch 命
30、令创建 f2 空文件。在 temp 目录 下用编辑器创建 hello.c 文件,该文件的内容如下:#include <stdio.h>main(void)printf (“Hello, world!n”);再运行命令 gcc o greeting hello.c ,生成了可执行文件 greeting。长列表显示 f2、 hello.c、greeting 和 d1 文件访问权限。9. 退出系统2.6 Linux 应用实验项目 6: 基本文件处理实验目的:1.学会如何显示文本文件的内容;2.学会如何复制、追加、移动和删除;3.学会如何合并文件;4.学会如何确定文件的大小;5.学会如何比
31、较文本文件;6.学会使用各种打印命令。实验内容:实验用到的命令:|、man、vi、cat、nl、head、tail、ls、cp、wc、lpr 等1. 登录到你的 Linux 系统2. 创建几个大小不等的文本文件,供本实验和后面几个实验用。用 man cat > mediumFile 命令创建中等大小的文件;用 man bash > largeFile 命令创建 一个大文件;在创建一个名字为 smallFile 关于学生数据的小文件,文件每 行内容(蓝色字体部分)如下,注意字段之间用 tab 符隔开:FirstName LastNameMajorGPAEmailPhoneHere i
32、s the minimum amount of data that you will have in this file.JohnDoeECE3.54111.222.3333JamesDavisECE3.71111.222.1111AlDavisCS2.63111.222.2222AhmadRashidMBA3.04111.222.4444SamChuECE3.68chu111.222.5555ArunRoySS3.86111.222.8888Ric
33、kMarshCS2.34111.222.6666JamesAdamCS2.77111.222.7777ArtPohmECE4.00111.222.9999JohnClarkECE2.68clark111.111.5555NabeelAliEE3.56111.111.8888TomNelsonECE3.81111.111.6666PatKingSS3.77111.111.7777JakeZuluCS3.00111.
34、111.9999JohnLeeEE3.64jlee111.111.2222SunilRajECE3.86111.111.3333CharlesRightEECS3.31111.111.4444DianeRoverECE3.87111.111.5555AzizInanEECS3.75111.111.11113. 使用 cat 和 nl 命令显示 smallFile 文件内容并显示行号。两个命令的输出应该 完全一样。给出完成这项任务的命令。4. 用 more 命令显示 smallFil
35、e 和 mediumFile 文件内容,每屏显示 18 行。给出你的命令(显示的内容不需要)。5. 显示 largeFile 文件的开始 12 行内容,显示 smallFile 文件的最后 5 行内容, 要用什么命令?哪个命令能显示 smallFile 文件从第 6 行开始到结束,且逆序 显示?给出你的会话。6. 本实验目的观察使用带-f 选项的 tail 命令。复制 smallFile 文件,文件名为dataFile,创建一个文件名为 ch7.c 的 c 语言文件,内容如下:#include <stdio.h>main()int i; i = 0; sleep(10);while
36、 (i < 5) system("date"); sleep(5);i+;while (1) system("date");sleep(10);现在依次运行下列三个命令。第一个命令生成一个 c 语言的可执行文 件,文件名为 generate;第二个命令是每隔 5 秒和 10 秒把 date 命令的 输出追加到 dataFile 文件中,这个命令为后台执行,注意后台执行的命 令尾部加上&字符;最后一个命令 tail f dataFile,显示 dataFile 文 件的当前内容和新追加的数据:gcc ch9.c o generate gene
37、rate >> dataFile & tail f dataFile在输入 tail -f 命令 1 分钟左右后,按<Ctrl-C>终止 tail 程序。用kill -9 pid 命令终止 generate 后台进程的执行。注:pid 是执行 generate 程序的进程号;使用 generate >> dataFile&命令后,屏幕打印后台进程作业号和进程号,其中第一个字段方括号内 的数字为作业号,第二个数字为进程号;也可以用 kill -9 %job 终止 generate 后台进程,job 为作业号。最后用 tail dataFile
38、命令显示文件追加的内容。给出这些过程的你 的会话。7. 在前面你已把 dataFile 文件复制为 smallFile 文件的拷贝。用 ls l 命令观察这 两个文件的修改时间是否一样。它们是不同的,dataFile 文件的修改时间应该 是这个文件的创建时间。什么命令能够保留这个修改时间不变呢?这两个文 件的 inode 号是多少?再把文件名 dataFile 改成(移动)newDataFile,文件 newDataFile 的 inode多少?与 dataFile 文件的 inode 号是否相同,若相同,为什么? 然后再把文件 newDataFile 移动到/tmp 目录下,文件/tmp/n
39、ewDataFile 的inode 号是多少?比较结果如何,为什么? 给出完成上述工作的会话过程。8. 在屏幕上显示文件 smallFile、mediumFile、largeFile 和/tmp/newDataFile 的字 节数、字数和行数。smallFile 和/tmp/newDataFile 文件应该是相同的。你能用 其它命令给出这些文件的字节数的大小吗?什么命令。给出会话过程。9. 打印 smallFile文件的两个备份,且带行号和头部(标题)信息。用什么命令?你能用其它命令完成这项工作吗(注:可使用管道命令)?给出会话过程。10. 退出系统.2.7 Linux应用实验项目7:高级文件
40、处理实验目的:1. 学习如何压缩和解压文件;2. 学习如何排序文本文件;3. 学习如何搜索文件或目录;4. 学习如何查找文本文件的内容;5. 学习如何搜索某个 Linux 命令存放在何处;6. 学习如何对文本文件使用 cutting和 pasting字段的数据库操作。实验内容:实验用到的命令:gzip、gunzip、sort、find、vi、cat、ls、cp、where、which、grep、cut、paste1. 登录到你的 Linux 系统2. 显示文件 midiumFile 和 largeFile 文件的大小。用 gzip 命令压缩文件 midiumFile 和 largeFile,压
41、缩后的文件名字是什么?给出这两个文件压缩 前后的大小及压缩率。如果你系统中有 zmore 命令,使用这个命令显示压 缩文件 midiumFile 的内容。最后再解压这两个文件。给出会话过程。3. 以 GPA 作为关键字排序文件 newSmallFile 中的数据,忽略空格。给出会 话过程。4. 搜索你的主目录,找到所有的 HTML 和 C 程序文件(文件有.html、.htm或.c 扩展名),显示符合要求的文件路径和文件名。给出你的会话。5. 给出命令,搜索主目录,显示创建时间在/etc/passwd 之后的文件及其路径。6. 下面的命令在什么地方:ftp、ssh、tar、telnet、pas
42、swd 和 find?给出会话过程。7. 用下面的 smallFile 文件(是前面 smallFile 文件的增强版,蓝色字体部分为 smallFile 文件的内容),并完成以下任务:(用 grep 命令)$ more smallFileJohnDoeECE3.54 111.222.3333JamesDavisECE 3.71 111.222.1111AlDavisCS2.63 111.222.2222AhmadRashidMBA3.74111.222.4444SamChuE
43、CE3.68chu111.222.5555ArunRoySS3.06 111.222.8888RickMarshCS2.34 111.222.6666JamesAdamCS2.77111.222.7777ArtPohmECE4.00111.222.9999JohnClarkECE2.68clark 111.111.5555NabeelAliEE3.56111.111.8888TomNelsonECE3.81 111.111.6666Pat
44、KingSS2.77 111.111.7777JakeZuluCS3.00111.111.9999JohnLeeEE2.64jlee111.111.2222SunilRajECE3.36111.111.3333Charles RightEECS3.31111.111.4444DianeRoverECE3.87111.111.5555AzizInanEECS3.75111.111.1111LuJohnCS3.06lu.johnxy
45、 111.333.1111LeeChowEE3.74chowlc.www.ord 111.333.2222AdamGilesSS2.54111.333.3333AndyJohnEECS3.98 111.333.4444a. 显示计算机科学专业(CS)学生的行及行号。给出你的会话。b. 显示 first name 为 John 的学生的行及行号。给出你的会话。c. 显示 first name 或 last name 为 Lee 的学生的行及行号。给出你的会话。d. 显示 e-mail 地址以 .org 结尾的学生的行及行号。给出你的
46、会话。e. 显示 GPA 在 3.69 和 4.0 在之间的学生的行及行号。给出你的会话。f.显示计算机科学学生 GPA 在 3.5 和 4.0 在之间的学生的行及行号。给出 你的会话。8. 用 cut 和 paste 命令,构造并显示一个表,包含以下四个字段:first name、last name、GPA 和 academic major(专业)。给出你的会话。9. 退出系统2.9 Linux 应用实验项目 8:管道与I/O重定向实验目的:1. 学习如何使用 Linux 的 I/O 重定向和管道操作;2. 学习使用 I/O 重定向和管道操作完成单个命令不能实现的复杂任务;3. 学习如何使用
47、 I/O 重定向、管道和 FIFOs 去完成单个命令不可能实现的复 杂任务。实验用到的命令:|、<、>、find、cat、who、sort、cut、head、ls、wc 等实验内容:1. 登录到你的 Linux 系统中2. 用 cat 命令创建一个名字为 test.data 文件,文件内容如下。文件创建成功 后,用 cat 命令显示这个文件的内容。给出你的会话过程。This data is to be stored in a file called test.data by using the cat command. We can create the test.data fil
48、e with this data by using a text editor such as vi. However, the purpose of this exercise is to show an interesting use of output redirection.3. 用一行命令显示当前登录到系统中的用户的数量。给出命令和输出结果。4. 用一行命令显示第一个登录到系统中的用户的名字。给出命令和输出结果。提示:使用 who、sort、cut、head 命令和管道实现。5. 计算命令 ls l 的输出中的字符数、单词数和行数,并把它显示在显示器 上。给出命令和输出结果。6. 退
49、出系统2.10 Linux 应用实验项目 9:进程实验目的:1. 了解有关 Linux 进程的属性;2. 学习有关 Linux 的前台、后台进程及守护进程;3. 学习有关 Linux 命令的顺序执行和并发执行;4. 学习有关挂起和终止进程;5. 了解 Linux 的信号。6.了解你系统中 Linux 进程的层次结构。实验内容:实验用到的命令:ps、kill、nice、pstree 等1. 进入你的 linux 系统2. 在你进入系统中,有多少进程在运行?进程 init、sched、cron、inetd 的 ID是多少。给出你得到这些信息的会话过程。3. init、sched、cron 和 in
50、etd 进程的父进程是哪一个?这些父进程的 ID 是什 么?init、sched、cron 和 inetd 进程的优先数是多少?根据优先数从高到 低(大到小)列出这些进程。给出会话过程。4. 你系统中有多少个 HTTP 服务进程?它们的进程 ID 是什么?获得上面每 个信息用一个命令实现。给出你的会话过程。5. 有多少个 sh、bash、csh 和 tcsh 进程运行在你的系统中?给出会话过程。6. linux 系统中,进程可以在前台或后台运行。前台进程在运行结束前一直 控制着终端。若干个命令用分号(;)分隔形成一个命令行,用圆括弧把 多个命令挂起来,他们就在一个进程里执行。使用“&”
51、符作为命令分隔 符,命令将并发执行。可以在命令行末尾加“&”使之成为后台命令。请用一行命令实现以下功能,它一小时后再屏幕上显示文字“Time forLunch!”来提醒你去吃午餐。给出会话过程。注:可以使用 sleep 命令7. 写一个命令行,实现 find 和 sort 命令的并发执行。find 命令显示在你的主 目录下 foobar 文件的路径;sort 命令以 GPA 作为关键字排序 smallFile 文 件,且忽略字段间的空格。两个命令的错误信息重定向到/dev/null 中。find 命令的输出重定向到 find.out 文件中,sort 命令的输出重定向到 sort.ou
52、t 文件中。当命令运行结束后,显示 find.out 和 sort.out 的内容。给出会话 过程。8. 给出一个命令,终止 ID 为 12345 的进程和 ID 为 2 的作业。9. 写一命令行,使得 date 、uname a 、who 和 ps 并发执行。给出会话过程。10. 在 shell 下执行下面的命令。3 个 pwd 命令的运行结果是什么?$ pwd$ bash$ cd usr$ pwd$ $<Ctrl-D>#终止 shell$ pwd注:“$”为系统提示符11. 用 pstree 命令显示你系统中进程层次结构。12. Log out.3.系统开发实验项目 系统开发实
53、验以Linux内核开发为主,通过这些项目开发验证内核的功能,锻炼学生分析问题的能力。LINUX 系统调用介绍1. 进程控制的系统调用l fork 系统调用创建新的子进程格式: pid=intfork()fork 调用返回时,系统中已有两个用户级环境完全相同的进程存在,这两个 进程从 fork 调用中得到的返回值不同,其中子进程得到的返回值为零,父进程 得到的返回值是新创建子进程的进程标识号。l exec 系统调用 格式:(六种)int execl(path,arg0,arg1,argn,(char *)0)char *path, *arg0, *arg1, , *argn ;exec 调用进程的正文段被指定的目标文件的正文段所覆盖,其属性的变化方 式与 fork 成功后从父进程那里继承属性的方式几乎是一样的。系统中绝大多数 命令都是通过 exec 来执行的,不但 shell 进程所创建的子进程使用它来执行用户 命令,shell 进程本身和它的祖先进程也是用 exec 来启动执行的。l exit 系统调用终止进程执行 格式:void exit(status)intsta
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《威海节日习俗》课件
- 《室内设计课件》课件
- 单位管理制度集合大合集人力资源管理篇
- 单位管理制度合并选集【员工管理篇】十篇
- 单位管理制度分享汇编员工管理篇
- 单位管理制度分享大全人员管理篇十篇
- 《审计与管理》课件
- 《客房优化方案》课件
- 《诊断思路》课件
- (高频选择题50题)第2单元 社会主义制度的建立与社会主义建设的探索(解析版)
- 淮安市洪泽区2022-2023学年七年级上学期期末生物试题【带答案】
- 2024年民航安全知识培训考试题库及答案(核心题)
- MOOC 汉字文化解密-华中师范大学 中国大学慕课答案
- 黑龙江省哈尔滨市香坊区2023-2024学年八年级上学期期末语文试卷
- 青岛版(五四制)四年级数学下册全册课件
- 农村污水处理设施运维方案特别维护应急处理预案
- 【施工组织方案】框架结构施工组织设计
- 工业控制系统安全与实践 课件 第7-9章 工业控制系统异常行为检测、工控系统信息安全风险评估、入侵响应
- 人工智能背景下高校智慧思政建设
- 高考物理复习讲义第88讲 电磁感应中的双杆模型(解析版)
- 老年人的心肺复苏课件
评论
0/150
提交评论