1、习题答案1.填空题(1)操作系统 (2)手工操作 (3)批处理操作系统、分时操作系统、实时操作系统(4)时间片 (5)应用、计算机技术2.选择题(1)D (2)C (3)C (4)A (5)C3.思考题(1)嵌入式系统指的是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。(2)低成本开发、可应用于多种硬件平台、可定制内核、多用户多任务、良好的网络功能。(3)为软件系统的运行,提供模拟的硬件平台,在不影响原有系统的前提下,可运行多种系统。习题答案1.填空题(1)命令行解释器 (2)用户、内核 (3)Shell脚本
2、(4)su (5)ps2.选择题(1)C (2)D (3)B (4)B (5)C3.思考题(1)首先命令是用户向系统内核发送的的控制请求,而这个控制命令是无法被内核所理解的。其只是一个文本流。而Shell是命令行解释器,本质是用来解析用户命令的。Linux内核可以做很多事,如硬件显卡、声卡、内存、硬盘等都属于内核来控制。这些硬件执行操作都需要由用户来下达控制命令。而内核对于用户的文本控制命令是“听不懂”的。因此用户在命令行提示符下输入命令文本,这样的命令传递给内核前,就需要有一个“翻译”,而这个“翻译”就是Shell。在特定的情况下,有时需要执行很多命令,则可以将命令集合起来,结合控制语句,通
3、过编辑成Shell脚本文件,交由Shell批量执行。(2)分区一般指硬盘分区,即将硬盘的整体存储空间划分成多个独立的区域;挂载可以认为是对文件系统访问的一种方式,将移植了文件系统的磁盘分区,连接到某一特定的目录,通过访问目录达到访问磁盘分区的效果。4.编程题(1)tar -cvf test.tar test gzip -v test.tar习题答案1.填空题(1)多用户 (2)用户名 (3)/home/用户名 (4)用户组 (5)usermod2.选择题(1)D (2)C (3)B (4)B (5)A3.思考题(1)磁盘配额即限制磁盘资源使用。通常情况下,管理员可以对本域中的每个用户所能使用的
4、磁盘空间进行配额限制,从而使得每个用户只能使用最大配额范围内的磁盘空间。(2)(1)quota安装,支持quota命令。(2)磁盘分区挂载到指定目录。(3)在指定目录中创建配额文件。(4)设置配额文件,限制用户访问目录(磁盘分区)。(5)启动磁盘配额,测试。(6)设计开机启动磁盘配额(可选)。习题答案1.填空题(1)Deb (2)获取存在依赖关系的软件包 (3)命令行 (4)dpkg -i (5)apt-get install2.选择题(1)A (2)A (3)D (4)B (5)C3.思考题(1)APT软件包管理工具不同于dpkg,其解决了一个重要的问题就是软件卸载过程中的软件包的依赖性问题
5、。Ubuntu系统采用集中式的软件仓库机制,将各种类型的软件包存放在软件仓库中,然后将仓库置于各种镜像服务器中,并保持一致。对于用户而言,这些散布在互联网中的众多服务器就是软件源(Reposity),或者称为镜像源站点。服务器会定期上传软件包的最新版本,这样Ubuntu的用户就可以随时获取最新版本的软件包。(2)(1)cp /etc/apt/sources.list /etc/apt/sources.list.old /复制配置文件,进行备份(2)打开/etc/apt/sources.list,删除旧的镜像源地址,添加新的镜像源地址(3)sudo apt-get update /刷新软件源,获
6、取服务器中软件资源并建立索引习题答案1.填空题(1)命令的组合 (2)全屏 (3)分析器、汇编器、链接器、C库 (4)break(5)时间戳2.选择题(1)D (2)C (3)C (4)A (5)C (6)B3.思考题(1)在预处理的阶段主要处理带“#”的指令,例如,#include(头文件)、#define(宏定义)等,并且删除注释,添加行号和文件名标识。编译阶段中,GCC将预处理的文件进行词法分析、语法分析、语义分析,检查代码的规范性。确认无误后,GCC将代码翻译为汇编语言文件。汇编阶段则将汇编代码转换为机器可以执行的指令。链接阶段是一个复杂的过程,包括符号地址确定、符号解析与重定位、指令
7、修正等内容。(2)Make是一种工程管理器,其本质为管理多文件的一种工具。通常情况下,Make被用来编译源代码,其特点在于Make可以实现自动编译,所谓自动编译即根据文件的时间戳自动发现更新过的文件而减少编译的工作量。通俗地说,即Make在编译代码时,只编译改动的文件。其他未改动且已经编译过的文件将不再编译,这大大减少了编译的时间,提高了编译的效率。4.编程题(1) 1 CC = gcc 2 OBJS = test1.o test2.o test3.o 3 CFLAGS = -Wall -O2 -g 4 OBJ = test 5 6 $(OBJ) : $(OBJS) 7 $(CC) $ -o
8、$ 8 .PHONY:clean 9 10 clean: 11 rm *.o $(OBJ) 习题答案1.填空题(1)网路号、主机号 (2)5 (3)255.255.255.0 (4)判断主机发送数据包给外网或内网 (5)静态配置、动态配置2.选择题(1)D (2)A (3)C (4)A (5)B3.思考题(1)子网掩码的主要作用是判断主机发送的数据包是发送给外网还是内网。主机A向主机B发送数据包,则主机A先将自己的子网掩码与目标主机B的IP地址执行“与”操作。假设主机B的IP地址为192.168.0.100,主机A的子网掩码为255.255.255.0,将IP地址与子网掩码进行“与”操作得到网
9、络地址,结果为192.168.0.0。主机A将此网络地址与主机B所在的网络地址做对比,如果网络地址相同,则表明主机A与主机B在同一网络中,数据包向内网发送;如果不同,则向外网发送(发送至网关)。网关又称为连接器或协议转换器。网关主要用于在传输层上实现网络连接(两个上层协议不同的网络互联)。网关的实质是一个网络通向其他网络的IP地址。例如,网络A与网络B,网络A的IP地址范围为192.168.1.1192.168.1.254,其子网掩码为255.255.255.0;网络B的IP地址范围为192.168.2.1192.168.2.254,子网掩码为255.255.255.0。如果没有路由器,两个网
10、络之间不能进行TCP/IP通信,因为TCP/IP协议根据子网掩码判定两个网络中的主机处于不同的网络,此时要实现网络间的通信,必须要通过网关才行。(2)NFS(Network File System)服务的本质为网络文件系统。网络文件系统是一种可以实现远程访问的文件系统,即NFS将系统中的文件通过网络共享给其他系统中的用户。这样用户就可以像访问本地文件一样访问远端系统上的文件。(3)安装tftp软件,确认客户端与服务器端对tftp的支持;配置服务器端tftp配置文件,设置传输目录,传输属性;创建传输目录;启动tftp服务。习题答案1.填空题(1)#!(2)修改权限 (3)PATH (4)字符串
11、(5)定义2.选择题(1)D (2)A (3)A (4)C (5)B3.思考题(1)如果系统中的用户需要重复执行某一特定的任务时,可以选择将任务的操作命令全部集合到Shell脚本文件中。每次执行该脚本文件,即可将这些命令批量交由Shell进行处理。Shell脚本本身无需编译,相对于管理系统任务和其他重复工作的例程来说,具有明显的优势。4.编程题(1) 1 #!/bin/bash 2 num=$RANDOM%100+1 3 4 count=0 5 while : 6 do 7 read -p 计算机生成了一个 1100 的随机数,你猜: guess 8 if $guess -eq $num 9
12、then 10 echo 恭喜,竞猜正确 11 exit 12 elif $guess -gt $num 13 then 14 echo 猜大 15 elif $guess -lt $num 16 then 17 echo 猜小 18 fi 19 20 ( count + ) 21 22 if $count -lt 7 23 then 24 continue 25 else 26 echo 竞猜失败 27 break 28 fi 29 done习题答案1.填空题(1)普通字符、特殊字符(2) (3)b (4)d (5)w2.选择题(1)A (2)B (3)C (4)C (5)A3.思考题(1)
13、正则表达式(Regular Expression)也可以称为规则表达式,是对字符串(普通字符)和特殊字符(称为“元字符”)操作的一种逻辑方式。简单地说,即正则表达式由一些普通字符和元字符组成。普通字符包括大小写字母和数字,元字符则有一些特殊的含义。通过这些特定的字符以及字符的组合,组成一个“规则字符串”,用来表示对其它字符串的一种过滤逻辑。4.编程题(1)1-9d0,3-(10-2|0?1-9)-(301|12d|0?1-9)$习题答案1.思考题(1)在Shell编程中,数组变量的赋值有两种方法。方法1:array_name=(value1 value2)方法2:array_nameindex
14、=value(2)在Shell中,trap命令用来实现对信号的响应,其响应信号的方式有以下3种。(1)执行自定义的处理响应信号。(2)执行信号的默认处理。(3)忽略该信号。上述3种信号响应方式分别对应trap命令的3种语法格式。(1)trap命令接收到signal-list清单中数值相同的信号时,执行commands命令串。trap “commands” signal-listtrap commands signal-list上述语法格式,需要注意的是,单引号与双引号表示的意义不同。当Shell程序执行trap命令时,会对commands中的命令串进行扫描。如果使用单引号标识commands,
15、则Shell不会对commands中的变量或命令进行替换,否则commands中的变量或命令将会被当时具体的值替换。(2)trap命令接收到signal-list清单中数值相同的信号时,执行默认操作,即忽略comands命令串。trap signal-list(3)trap命令接收到signal-list清单中数值相同的信号时,执行忽略操作,即不指定commands命令串。trap “ ” signal-list(3)移动或旋转实现的原理为:先删除后显示。(1)向旧方块所在界面位置处输出空字符,将原有的字符覆盖,则实现擦除(2)移动或获取新方块的坐标(3)通过新的坐标向界面中输出字符显示(4)在一个处理程序中不可能同时实现方块自动降落、按键控制方块移动(或旋转)以及整行消除等功能。因此,考虑将该案例代码设计为两部分,其中第1部分的主要工作为响应玩家按键输入,并根据玩家的按键输入发送相应的信号;而第2部分的主要的工作为实现与玩家的界面互动,例如,显示界面、方块的动态操作等。将需要实现的功能进行函数封装,使用时相互调用,保证灵活性、逻辑性,易于理解。