Linux操作系统期末复习题SWJTU绝对珍贵附答案版Word下载.docx
- 文档编号:22834967
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:24
- 大小:87.22KB
Linux操作系统期末复习题SWJTU绝对珍贵附答案版Word下载.docx
《Linux操作系统期末复习题SWJTU绝对珍贵附答案版Word下载.docx》由会员分享,可在线阅读,更多相关《Linux操作系统期末复习题SWJTU绝对珍贵附答案版Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
表示输出重定向,>
>
表示追加输出改向,<
表示输入重定向,<
<
表示本地文档重定向(追加输入改向)。
四.填空
1.进程是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动,一个完整的进程包括程序、执行程序所需要的数据、记录进程状态的动态数据资料(进程映像)三部分,描述Linux进程数据结构的文件是/include/linux/sched.h。
2.进程的三个基本状态等待状态、就绪状态、执行状态,Linux将执行、就绪分为运行态,而将等待状态分为可中断等待状态、不可中断的等待态两种状态。
3.Linux的调度启动命令有at、cron、batch,$at–f/tmp/printjob210012/25/04的含义为:
在04年12月25日21:
00执行/tmp/printjob中的作业。
4.ps命令的功能是查看系统进程,top命令的作用是显示系统当前的进程和其它状况。
5.Linux提供的进程通信机制有信号、管道、消息队列(msg)、共享内存(shm)、信号量(sem)种。
五.问答:
111111111111.说明Linux操作系统的调度机制。
Linux采用两级调度,用户作业进入内存,直接参与交换调度或进程调度。
进程和线程采用同样的表示和管理方式,也使用同样的调度函数。
Linux采用请求页式内存动态管理方法,根据进程执行的实际需要分配内存页面并换入内容,同时使用内核交换进程kswapd按照记龄(aging)置换算法来实现页面淘汰功能,内核交换进程周期性地执行。
Linux用简单的函数实现了三种进程调度算法,虽然不十分完美,但高效,可适用于大多数情况。
222222222222.解释Linux系统的虚拟文件系统VFS整体结构;
目录结构,Inode结构!
VFS整体结构:
VFS采用超级块和i节点来描述文件系统,这些数据结构在文件系统初始化过程中,由具体逻辑文件系统的超级块和i节点的数据来填充。
而当文件系统关闭时,VFS的超级块和i节点也就消失了。
目录结构:
整个Linux文件系统形成一个完整的目录树,每一个逻辑文件系统都可作为一个独立子树安装到目录树的某枝节点上。
VFS超级块中用指针s-root记录着该文件系统在根文件系统目录树的信息,使用指针s-dev记录指向该逻辑文件系统(设备号).
或者:
Linux系统中,目录也是文件的一种,称为目录文件,每一个目录也由一个i节点来描述,i节点中文件类型标识这是一个目录文件,同时在对应的索引表(物理块)中存放用来描述文件的目录项列表。
目录项列表用来描述一个目录所包含的全部文件和子目录,每一个目录项对应着一个文件或目录。
Inode结构:
1、VFSinode包含文件访问权限、属主、组、大小、生成时间、访问时间、最后修改时间等信息。
它是linux管理文件系统的最基本单位,也是文件系统连接任何子目录、文件的桥梁。
inode结构中的静态信息取自物理设备上的文件系统,由文件系统指定的函数填写,它只存在于内存中,可以通过inode缓存访问。
虽然每个文件都有相应的inode结点,但是只有在需要的时候系统才会在内存中为其建立相应的inode数据结构,建立的inode结构将形成一个链表,我们可以通过遍历这个链表去得到我们需要的文件结点,VFS也为已分配的inode构造缓存和哈希表,以提高系统性能。
EXT2inode用来定义文件系统的结构以及描述系统中每个文件的管理信息,每个文件都有且只有一个inode,即使文件中没有数据,其索引结点也是存在的。
每个文件用一个单独的Ext2inode结构来描述,而且每一个inode都有唯一的标志号。
Ext2inode为内存中的inode结构提供了文件的基本信息,随着内存中inode结构的变化,系统也将更新Ext2inode中相应的内容。
Ext2inode对应的是Ext2_inode结构。
33333333333333.解释Ext2文件系统结构?
给出一个文件名,系统是如何找到文件内容的?
系统结构:
i节点和超级块是Ext2文件系统最关键结构。
其中:
i节点:
用来描述各种类型的文件,是整个文件系统的基本(/include/linux/ext2_fs.h)
超级块:
是描述整个文件系统的重要数据。
组描述符也是描述文件系统块组分布和使用情况的主要数据。
(/include/linux/ext2_fs.h)
线性检索法:
以下步骤:
1)系统读入根索引节点
(1),从文件地址项查找根目录文件所在物理块号读入内存。
2)将磁盘第2个inode读入内存,找出bin目录文件所在物理块号并将它读入内存。
3)将磁盘第10号节点读入内存,从中判断ls文件所在的物理块号。
4)目录查询操作到此结束,如果顺序查找过程中发现一个文件分量名未能找到,则停止查找并送回“文件未找到”信息。
44444444444444.掌握Linux下进程创建的函数fork和vfork。
fork函数:
创建子进程,具体调用如下:
#include<
sys/type.h>
unistd.h>
Pid_tfork(viod)
正确返回:
父进程返回子进程的进程号,子进程返回0。
错误返回:
-1
子进程是父进程的一个拷贝。
子进程从父进程那里得到数据段和堆栈段的拷贝。
由于父子进程的运行顺序无关。
故运行结果的先后顺序不定,若要求父子进程运行顺序一定,要采用进程间通讯机制。
若父进程将标准输出重定向到某一文件,子进程也将标准输出重定向到同一文件。
Fork函数调用的主要用途有两个:
a、一个进程希望复制自身,从而父子进程能同时执行不同的代码。
b、进程想执行另外一个进程。
vfork函数
Vfork函数作用基本类似于fork,调用流程与返回值与fork函数完全相同。
但它们的语义不同。
a、用vfork创建新进程的主要目的在于用exec函数执行另外的进程(如fork函数的第二个用途)。
目的:
提高效率。
b、vfork中子进程先运行,父进程挂起,直至子进程执行exec或exit,此后父子进程执行次序无限制。
555555555555555.掌握rpm,tar,gzip命令的使用方法。
RPM软件包管理程序的使用
A)安装软件包:
rpm-ivh软件包.rpm
可选参数说明:
-v 显示安装的软件包的名称
-i 安装软件
-t(--test)测试安装,不是真的安装
--nodeps安装前不执行软件包依赖性检查。
不推荐使用
-force强制安装一个软件包
-h打印50个“#”符号,与-v合用
如rpm-ivhtelnet-server-0.17-25.i386.rpm
B)删除软件包
rpm–e软件包.rpm[可通过rpm-qa|egrep软件包.rpm查看是否安装了此软件包]
错误信息:
...isneededby....[可加--nodeps,但不推荐使用]
如rpm-ev
telnet-server-0.17-25.i386.rpm(先要停止Telnet服务)
C)升级软件包
rpm–Uvh软件包.rpm
自动删除相应软件包的老版本,若配置文件同新版本不兼容,自动将其保存为oldconfig.rpmsave文件.
D)查询软件包
rpm–q软件包(名称)
具体可使用如下特定参数
rpm–ql列出包中所有文件(包括配置/文档文件)
rpm–qs列出包中所有文件的状态
rpm–qd列出包中所有的文档文件
rpm–qc列出包中所有的配置文件
rpm–qa列出系统中安装的所有软件包
rpm–qa|grep“telnet”查询系统中包含telnet的rpm包或rpm–qitelnet
rpm-qffilename查询包含该文件的软件包
E)校验软件包
可校验文件大小、MD5校验码、文件权限、类型及属主等信息。
rpm–V软件包.rpm检查校验该软件包中的文件是否存在
rpm–Vf/bin/vi校验软件包中的单个文件
rpm–Va校验安装的所有软件包
rpm–Vp软件包.rpm比较一个源软件包和已经安装的软件包
1)tar命令
tar可以为文件和目录创建档案。
语法:
tar[主选项+辅选项][tar文件][目录]
主选项:
c创建新的档案文件。
r把要存档的文件追加到档案文件的未尾。
t列出档案文件的内容,查看已经备份了哪些文件。
u更新文件。
即用新增的文件取代原备份文件。
x从档案文件中释放文件。
f使用档案文件或设备,这个选项通常是必选的。
辅助选项:
b该选项是为磁带机设定的。
其后跟一数字,用来说明区块的大小,系统预设值为20(20*512bytes)。
k保存已经存在的文件。
如在还原文件的过程中,遇到相同的文件,不会进行覆盖。
m还原文件时,把所有文件的修改时间设定为现在。
M创建多卷的档案文件,以便在几个磁盘中存放。
v详细报告tar处理的文件信息。
如无此选项,tar不报告文件信息。
z用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩。
例1:
把/home目录下包括它的子目录全部做备份文件,备份文件名为usr.tar。
$tarcvfusr.tar/home
例2:
把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为usr.tar.gz。
$tarczvfusr.tar.gz/home
例3:
把usr.tar.gz这个备份文件还原并解压缩。
$tarxzvfusr.tar.gz
例4:
查看usr.tar备份文件的内容,并以分屏方式显示在显示器上。
$tartvfusr.tar|more
要将文件备份到一个特定的设备,只需把设备名作为备份文件名。
例5:
ϕ在/dev/fd0的软盘中创建一个备份,并将/home中所有的文件都拷到备份中。
$tarcf/dev/fd0/home
κ要恢复设备磁盘中的文件,可使用xf选项:
$tarxf/dev/fd0
λ创建一个多卷的tar备份文件。
当使用M选项向一个软驱进行存档时,tar命令在一张软盘已满的时候会提醒您再放入一张新的软盘。
$tarcMf/dev/fd0/home
2)gzip命令
减少文件大小可以减少存储空间;
通过网络传输文件时,可以减少传输的时间。
gzip是经常使用的一个对文件进行压缩和解压缩的命令。
语法:
gzip[选项]压缩(解压缩)的文件名
各选项含义:
-c将输出写到标准输出上,并保留原有文件。
-d将压缩文件解压。
-l对每个压缩文件,显示下列字段:
压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字。
-r递归查找指定目录并压缩或解压缩其中的所有文件。
-t测试,检查压缩文件是否完整。
-v对每个压缩和解压的文件,显示文件名和压缩比。
-num用指定的数字num调整压缩的速度,1或--fast表示最快压缩方法(低压缩比),9或--best表示最慢压缩方法(高压缩比)。
系统缺省值为6。
例1:
把/home目录下的每个文件压缩成.gz文件。
$gzip/home*
例2:
把例1中压缩的文件解压,并列出详细的信息。
$gzip-dv*
例3:
压缩一个tar备份文件,如usr.tar,此时压缩文件的扩展名为.tar.gz
$gzipusr.tar
66666666666.掌握shell变量的定义与使用,会编写简单的关于文件操作的shell程序。
777777777777.掌握linux下gcc,g++,gdb,make应用程序的作用和基本使用。
gcc能够编译三种语言:
C、C++和ObjectC,利用gcc命令可同时编译并连接C和C++源程序。
也可对几个C源文件利用gcc编译、连接并生成可执行文件。
例:
gcc-ofactorialmain.cfactorial.c
gcc只编译C++源文件,不能自动和C++程序使用的库连接。
因此,通常使用g++命令来完成C++程序的编译和连接。
g++-ohellohello.C。
make工具来自动完成编译工作。
gdb为GNU的调试器,是一个交互式工具,工作在字符模式。
可完成如下的调试任务:
设置断点;
监视程序变量的值;
程序的单步执行;
修改变量的值。
88888888888.解释Linux进程的概念、状态及转换、进程间通信方式以及task_struct结构。
进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。
一个完整进程包括程序、执行程序所需要的数据以及记录进程状态的动态数据资料
等待状态、就绪状态和执行状态是一个进程所具有的最基本的三种状态。
Linux系统的2.2.16版本进程共有六种状态,包括:
运行状态、可中断等待状态、不可中断等待状态、僵死状态、暂停状态和交换状态。
在2.4.0版本中取消了交换状态,加入独占状态。
进程的整个生命周期中,大致的转换路径总是沿着三个闭合回路进行:
第一个回路:
由就绪状态和执行状态形成。
第二个回路:
由执行状态、等待状态和就绪状态形成第三个回路:
执行状态、暂停状态和就绪状态构成退出:
处于执行状态的进程调用退出函数exit之后,进程就会进入僵死状态。
进程间通信。
两种方式:
低级通信:
互相发送少量的控制信息,一般只传递一个或者几个字节的数据,进程利用这些简单的信息,实现互斥和同步,控制运行速度。
高级通信:
基本不涉及进程执行速度控制,用来在进程之间传递大量的信息,由于这种通信方式主要用于交换信息。
因此,在开发本地进程间通信的同时,也为远程进程间的通信、网络程序的开发及控制奠定了基础。
Linux系统的PCB用一个称为task-struct的结构体来描述(/include/linux/sched.h中)。
其中信息可分为:
(1)进程描述信息
(2)进程控制信息(3)进程资源信息(4)CPU现场信息
99999999999.掌握Linux下用户账号管理,文件权限管理,环境变量的定义,和网络相关的配置文件和应用程序。
账户一般分为三种:
普通用户账户\系统管理账户\系统账户1)账户的信息存储在/etc/passwd文件中2)/etc/shadow系统包含一个/etc/passwd的同伴文件/etc/shadow。
该文件只对root用户可读,且包含加密的密码信息。
3)/etc/group文件定义了Linux系统上所有的组.使用adduser添加普通用户账户,必须以root登录。
2)添加用户组向/etc/group文件添加新组,语法:
groupadd[-ggid]mygroup;
gid一般是500以上。
也可用命令删除,语法如下:
userdel[-r]login加上-r参数将删除用户主目录及其创建的文件
Linux系统的/etc/passwd文件含有系统中每个用户的信息(加密后的口令存于/etc/shadow文件中)。
crypt命令可提供给用户以加密文件。
网络文件配置1、/etc/conf.modules文件
该配置文件定义了各种需要在启动时加载的模块的参数信息。
2、/etc/hostname文件
该文件包含系统的主机名称,完全的域名,
3、/etc/sysconfig/network-scripts/ifcfg-ethN文件
在RedHat中,系统网络设备的配置文件保存在"
/etc/sysconfig/network-scripts"
目录下,ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eth1包含第二块网卡的配置信息。
4、/etc/resolv.conf文件
该文件是由域名解析器使用的配置文件
5、/etc/host.conf文件
该文件指定如何解析主机名。
6、/etc/sysconfig/network文件
该文件用来指定服务器上的网络配置信息,
10101010101010.掌握文件系统安装表,VFS超级快,文件系统类型注册表的基本结构以及关系。
文件系统安装表记录着整个系统中当前可使用(已安装)的全部文件系统,是操作系统访问具体存储设备上文件系统的入口。
文件系统类型注册表记录着整个系统当前所支持的全部文件系统类型。
文件系统安装表、VFS超级块和文件系统类型注册表之间的关系
111111*********.掌握文件系统、进程系统、系统管理的基本命令使用方法。
$cp-iexam1.c/usr/wang/shiyan1.c
若不希望重新命名,可以使用下面的命令:
$cpexam1.c/usr/wang/
将/usr/xu中的所有文件移到当前目录中:
$mv/usr/xu/*.
例2:
将文件wch.txt重命名为wjz.doc
$mvwch.txtwjz.doc
$rm-itestexample
显示文件内容命令
cat命令:
2、more命令
3、less命令
4、head命令
用head命令只显示文件或标准输入的头几行。
语法:
head[-n]文件
5、tail命令
若用户想查看文件的尾部,可使用tail命令。
tail[+/-num][参数]文件
6、od命令
od命令查看特殊格式的文件内容。
通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。
od[选项]文件…
各选项含义:
-A指定地址基数,包括:
d十进制
o八进制(系统默认值)
x十六进制
n不打印位移值
文件内容查询命令
(1)
1、grep、fgrep和egrep命令
grep命令在文件example中搜索模式“textfile”。
$grep’textfile’example
搜索并显示所有包含goto语句的代码行:
$grepgoto*.c
从文件mypats中读取要搜索的模式。
$catmypats
editor
create
$grep-fmypatsexam
2、find命令
查找当前目录中所有以main开头的文件并显示这些文件的内容。
$find.-name‘main*’-execmore{}\;
删除当前目录下所有一周之内没有被访问过的a.out或*.o文件。
$find.\(-namea.out-o-name‘*.o’\)-atime+7-execrm{}\;
说明:
\(和\)表示括号(),其中“\”称为转义符。
“-namea.out”是指要查找名为a.out的文件;
“-name‘*.o’”是指要查找所有名字以.o结尾的文件。
两个-name间-o表示逻辑或or,即查找名字为a.out或名字以.o结尾的文件。
find在当前目录及其子目录下找到这样的文件后,再进行判断,看其最后访问时间是否在7天以前(条件-atime+7),若是,则对该文件执行命令rm(-execrm{}\;
)。
{}代表当前查到的符合条件的文件名;
\;
是语法要求的。
3、locate命令
例如:
查找相关字issue
$locateissue
/etc/issue
/etc/
/usr/man/man5/issue.5
/usr/man/man5/.5
df命令:
检查文件系统的磁盘空间占用情况。
du命令
du为“diskusage”缩写,统计目录(或文件)所占磁盘空间的大小。
dd命令把指定的输入文件拷贝到指定的输出文件中,且在拷贝过程中可进行格式转换。
要把一张软盘的内容拷贝到另一张软盘上:
$ddif=/dev/fd0of=/tmp/tmpfile
$ddif=/tmp/tmpfileof=/dev/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 操作系统 期末 复习题 SWJTU 绝对 珍贵 答案