Linux第5章课后习题答案
- 格式:doc
- 大小:24.00 KB
- 文档页数:4
第一章Linux系统简介一、思考题1.UNIX的大部分代码是用一种流行的程序设计语言编写的,该语言是什么?C语言2.UNIX系统的特点有哪些?·多任务·多用户·并行处理能力·设备无关性·工具·错误处理·强大的网络功能·开放性3.什么是Linux?其创始人是谁?Linux是一个功能强大的操作系统,同时它也是一个自由软件,是免费的、源代码开放的、可以自由使用的UNIX兼容产品。
其创始人是Linus4.Linux操作系统的诞生、发展和成长过程始终依赖者的重要支柱都有哪些?·UNIX操作系统·MINIX操作系统·GNU计划·POSIX标准·Internet5.简述Linux系统的特点。
·自由软件·良好的兼容性·多用户、多任务·良好的界面·丰富的网络功能·可靠地安全性、稳定性·支持多种平台6.常见的Linux的发行版本有哪些?·Red Hat Linux·Caldera OpenLinux·SuSE Linux·TurboLinux·红旗Linux·中软Linux二、选择题1.Linux最初是以MINIX操作系统为模板而开发出来的。
2.关于Linux内核版本的说法,下列选项中错误的是(C)。
A.表示为主版本号.次版本号.修正号B.1.2.3表示稳定的发行版C.1.3.3表示稳定的发行版D.2.2.5表示对内核2.2的第5次修正(补充:次版本号为偶数的是稳定版本;为奇数的则是测试版本。
)3.Linux属于自由软件。
4.自由软件的含义是软件可以自由修改和发布。
5.一下不具有多任务性的操作系统是DOS第二章Linux系统入门一、思考题1.Linux系统有哪些运行级别?其含义是什么?可用级别为0~6,其中0:关闭系统;6:重新启动,其他略。
linux教程第三版答案【篇一:linux系统应用教程习题答案】xt>1. linux系统有哪些主要的优点?答:linux的优点主要有:开放性、多用户、多任务、良好的图形用户界面、设备的独立性、丰富的网络功能、可靠的系统安全、良好的可移植性、丰富的应用软件支持、内核完全免费等优点。
2. 常用操作系统有哪些?它们各具有那些特点?答:常用操作系统主要有linux、unix、windows等。
linux是一个内核完全免费、可运行在多个硬件平台、功能齐全、安全性好、界面友好的一种操作系统。
unix功能强大、稳定性好,但价格昂贵,不适合小型企业或者个人使用。
windows是一个功能完全的多任务操作系统,具有丰富的应用软件,友好的用户界面,但windows主要运行在基于intel体系结构的pc系列机上,由微软公司独立控制系统的设计、升级和维护,用户使用windows需要支付一定的费用。
3. linux的组成结构有哪些?答:linux由四个主要部分组成,即内核、shell、文件系统和实用工具。
4. linux系统的主要应用领域有哪些?答:linux系统主要应用在桌面系统、服务器、嵌入式系统和集群计算机等领域。
第2章 linux系统的安装1. 什么是linux的多系统安装?答:linux的多系统安装指在同一台计算机中,除了安装linux外还安装其他操作系统。
此时,需要对计算机中的硬盘空间进行合理分配,并且按照不同操作系统的需要,在硬盘上建立相应格式的分区。
一般来说,linux的多系统安装指在同一台计算机中同时安装windows系统和linux系统。
2. 虚拟机安装linux有什么特点?答:与多系统linux相比,虚拟机安装linux采用了完全不同的概念。
多系统linux在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。
而虚拟机安装linux系统是同时运行多个操作系统,而且每个操作系统都可以进行虚拟的分区、配置而不影响真实硬盘的数据,并且还可以将几台虚拟机连接为一个局域网。
linux教程第三版课后答案linux教程第三版课后答案【篇一:linux张同光版课后习题答案】gnu的含义是(国际性的源代码开放)。
(2)linux的版本号分为:(内核版本)和(发行版本)。
(3)安装linux时最少需要三个个分区,分别是(boot分区)和(根分区)和(swap分区)。
(4)linux默认的系统管理员帐号是(root)。
(5)如果linux启动后进入命令行模式,要进入gui,可执行(init5)命令。
(6)rhel6.2默认的系统引导工具是(grub)。
(7)grub的用户界面有三种:(菜单模式)、(菜单编辑模式)和(命令行模式)。
(8)grub的默认菜单文件menu.lst其实是(grub.conf)文件的符号链接。
(9)硬盘的第0柱,第0面,第1扇区,这个扇区叫做(mbr)。
(10)mbr由三部分组成:(主引导程序)、(硬盘分区表dpt)和(硬盘有效标志)。
(11)内核的分类:(单片型内核)、(模块型内核)。
(12)(初始化内存映像盘)称为初始化内存盘,为系统提供一系列内核映像无法提供的模块,这些模块对正确引导系统非常重要。
(13)在内核加载完毕、进行完硬件检测与驱动程序加载后,此时主机硬件已经准备就绪了,这时候内核会启动一号进程(/sbin/init)。
(14)rhel6系统上,文件(etc/inittab)只能设置运行级别。
(15)(etc/rc.d/init.d)文件是在系统启动最后一个被读取的用户自定义启动脚本文件。
(16)操作系统为用户提供了两种接口,分别是(命令界面)和(程序界面)。
(17)命令接口演化为两种主要形式,分别是(命令行界面)和(图形用户界面)。
(18)linux中的两个主要的桌面环境是(kde)和(gnome)。
(19)输入重定向符是()。
(20)输出重定向符是()和()。
(21)错误输出重定向符是(2)和(2)。
(22)管道符是(|)。
(23)vim拥有5种编辑模式:(命令模式)、(输入模式)、(末行模式)、(可视化模式)和(查询模式)。
Ubuntu linux 操作系统与实验教程(第2版)课后习题第一章习题一1、判断题(1)在一台主机上只能安装一个虚拟机。
(2)在一个虚拟机下只能安装一个操作系统。
(3)格式化虚拟机下的操作系统就是格式化主机的操作系统。
(4)虚拟机的安装有三种安装类型。
(5)VMware Workstation 15 默认分配的推荐虚拟机的存是1G。
(6)Ubuntu 有两种安装方式:即Ubuntu和安装Ubuntu。
(7)解压vmware-install.pl文件安装VM tools。
(8)VMtools安装完成后可以在主机和虚拟机之间任意拖动和复制文件。
2、简答题(1)请简述在虚拟机的安装过程中,四种网络类型的特点?(2)简述.vmdk 和.vmx 文件的不同点?(3)Ubuntu应该建立几个分区?每个分区的大小是多少?(4)虚拟机捕获屏幕有什么作用?3、实验题(1)安装VMware Workstation Pro 15。
(2)为安装ubuntukylin-16.04.06创建虚拟机。
(3)在虚拟机中安装ubuntukylin-16.04.06。
(4)在Ubuntu下安装VM tools。
(5)上述实验完成后创建快照,如果使用Ubuntu过程中出现问题,可以恢复快照。
(6)更改虚拟机的内存、添加硬盘。
第二章习题二1、判断题(1)Linux操作系统诞生于1991 年8月。
(2)Linux是一个开放源的操作系统。
(3)Linux是一个类unix操作系统。
(4)Linux是一个多用户系统,也是一个多任务操作系统。
(5)Ubuntu Linux 16.04默认的桌面环境是Gnome。
(6)Ubuntu每一年发布一个新版本。
(7)ubuntu Linux 16.04包含LibreOffice套件。
2、简答题(1)什么是Linux?(2)简述Linux系统的产生过程?(3)简述Linux系统的组成?(4)什么是Linux 内核版本?举例说明版本号的格式。
Linux思考题51.fork()与clone()二者之间得区别就是什么?答:fork创建一个进程时,子进程只就是完全复制父进程得资源,复制出来得子进程有自己得task_struct结构与pid,但却复制父进程其它所有得资源。
通过fork创建子进程,需要将上面描述得每种资源都复制一个副本。
fork()调用执行一次返回两个值,对于父进程,fork函数返回子程序得进程号,而对于子程序,fork函数则返回零,这就就是一个函数返回两次得本质。
在fork之后,子进程与父进程都会继续执行fork调用之后得指令。
系统调用fork()与vfork()就是无参数得,而clone()则带有参数。
fork()就是全部复制,vfork()就是共享内存,而clone()就是则可以将父进程资源有选择地复制给子进程,而没有复制得数据结构则通过指针得复制让子进程共享,具体要复制哪些资源给子进程,由参数列表中得clone_flags来决定。
另外,clone()返回得就是子进程得pid。
2.什么就是进程?什么就是线程?Linux系统中得进程有那些状态?如何获取系统中各进程得状态?答:进程就是指在系统中正在运行得一个应用程序;线程就是系统分配处理器时间资源得基本单元,或者说进程之内独立执行得一个单元。
对于操作系统而言,其调度单元就是线程。
一个进程至少包括一个线程,通常将该线程称为主线程。
一个进程从主线程得执行开始进而创建一个或多个附加线程,就就是所谓基于多线程得多任务。
Linux系统中得进程状态有:TASK_RUNNING(运行状态),TASK_INTERRUPTIBLE(可中断睡眠状态),TASK_UNINTERRUPTIBLE(不可中断得睡眠状态),TASK_STOPPED(暂停状态),TASK_NONINTERACTIVE(不可交互睡眠状态),TASK_DEAD(死亡状态),EXIT_ZOMBIE(僵死进程),EXIT_DEAD(僵死撤销状态)ps 查瞧静态得进程信息可以使用man 来查瞧ps 得使用参数以下就是几个常使用到得,a 显示当前终端得所有进程信息u 使用以用户为主得格式输出进程信息x 显示当前用户在所有终端下得进程信息-e 显示系统内得所有进程# ps 只显示当前用户打开得进程]# ps aux 显示系统中所有进程信息3.Linux系统中进程有哪两种模式?各有何特点?答:用户进程与系统进程,用户进程就就是用户自己打开得应用程序,可有可无。
1.将图形化用户界面转换成虚拟终端,并将虚拟终端转换成图形化用户界面答案:将图形化界面转换成虚拟终端:CTRL+ALT+(F1~F76),或在图形化的终端修改运行级别,输入init 3,切换到多用户字符界面将字符虚拟终端切换到图形终端:CTRL+ALT+F7,或修改运行级别,输入init 5,或在字符终端上启动X服务,输入startx2.请尝试字符界面下注销、重启、关机命令。
答案:字符界面下注销:输入exit或CTRL+D重启:shutdown r now或shutdown r n(n为分钟)关机:shutdown h now或shutdown h n(n为分钟)3.用date命令将系统时间设置为2013年3月19日8时44分。
答案:date 0319********4.用cal命令查询你出生日期是星期几。
答案:cal 月份年份如1990年3月,输入:cal 3 19905.cd命令将工作目录转换为/boot/grub,并用返回用户主目录。
答案:cd /boot/grubCd ~6.显示/root文件夹下所有文件和目录(包括隐含文件和子文件夹下内容)答案:ls –al /root7.用cat命令显示/root/install.log文件,要求显示文件的每行必须有行号。
答案:cat –n /root/install.log8.用more和less命令显示/root/install.log文件,感受各种翻页命令。
答案:more /root/install.logless /root/install.logmore和less可以用来分屏查看文件内容,当文件内容超过一个屏幕时,可以实现分屏显示文件的功能,但是,more只能向下分屏和查看,不能使用向上翻页的功能,而less除了能完成more的功能之外,还可以实现前后翻屏。
9.显示/etc/inittab文件的前5行和后10行。
答案:head –n 5 /etc/inittabtail –n 10 /etc/inittab10.用man命令和--help选项分别查看ls命令。
习题一参考答案1-1 存储程序式计算机的主要特点是什么?答:存储程序式计算机(即冯·诺依曼型计算机)的主要特点是集中顺序过程控制。
它模拟手工操作过程,由CPU集中管理,通过程序计数器控制指令的顺序执行每一个指令。
1-2 批处理系统和分时系统各具有什么特点?为什么分时系统的响应比较快?答:批处理系统中操作人员将作业成批装入计算机并由计算机管理运行,在程序的运行期间用户不能干预,因此批处理系统的特点是:用户脱机使用计算机,作业成批处理,系统内多道程序并发执行以及交互能力差。
分时系统中不同用户通过各自的终端以交互方式共同使用一台计算机,计算机以“分时”的方法轮流为每个用户服务。
分时系统的主要特点是:多个用户同时使用计算机的同时性,人机问答方式的交互性,每个用户独立使用计算机的独占性以及系统响应的及时性。
分时系统一般采用时间片轮转的方法,使一台计算机同时为多个终端用户服务,因此分时系统的响应比较快。
1-3 实时信息处理系统和分时系统从外表看来很相似,它们有什么本质的区别呢?答:实时信息处理系统是指用计算机对实时数据进行处理的系统。
它要求必须在规定的时间内做出响应,一般要求响应时间为秒级、毫秒级甚至微秒级,比分时系统要求严格。
实时系统要求高可靠性和安全性,不要求很强的会话功能。
而分时系统只要求系统及时做出响应,具有很强的会话功能。
1-4 什么是多道程序设计技术?试述多道程序运行的特征?答:多道程序设计技术是指同时把多个作业(程序)放入内存并允许它们交替执行和共享系统中的各类资源;当一道程序因某种原因(如 I/O请求)而暂停执行时,CPU立即转去执行另一道程序。
多道程序运行具有如下特征: 多道:计算机内存中同时存放几道相互独立的程序。
宏观上并行:同时进入系统的几道程序都处于运行过程中,它们先后开始了各自的运行,但都未运行完毕。
微观上串行:从微观上看,内存中的多道程序轮流或分时地占有处理机,交替执行。
《Linux系统应用与开发教程》所有课后习题和答案第1章 Linux概述 (1)第2章 shell及常用命令 (4)第3章 vi编辑器的使用 (7)第4章 X Window系统的使用 (9)第5章 Linux系统的常用软件 (11)第6章硬件管理 (11)第7章网络基本配置 (12)第8章常用网络服务的配置和使用 (15)第9章系统管理与监控 (19)第10章 Linux系统的安全管理 (21)第11章shell程序设计 (24)第12章gcc的使用与开发 (26)第13章gtk+图形界面程序设计 (27)第14章Qt图形界面程序设计 (28)第15章集成开发环境KDeve lop的使用 (31)第1章 Linux概述1.什么是Lin ux?Linux是一套免费使用和自由传播的类UN IX操作系统,源代码开放,能运行于各类硬件平台,包括Inte l x86系列和RISC处理器。
这个系统是由世界各地成千上万的程序员设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的U NIX兼容产品。
2. Linux有哪些特性?(1)开放性(2)多用户(3)多任务(4)良好的用户界面(5)设备独立性(6)丰富的网络功能(7)可靠的系统安全(8)良好的可移植性3. Linux与Windo ws操作系统的主要区别是什么?(1)从发展的背景看,Linux是从一个比较成熟的操作系统发展而来的,而其他操作系统,如Windo ws等,都是自成体系,无对应的相依托的操作系统(2)从使用费用上看,Linux是一种开放、免费的操作系统,Window s是封闭的系统,需要有偿使用。
(3)Linux上丰富的应用软件也是自由的,而在Wind ows下,几乎所有的软件都有独立的版权,需要购买使用,即使某些软件可以免费使用,也一般不提供其源代码,更不用说由用户修改扩充其功能了。
Linux思考题5
1.fork()和clone()二者之间的区别是什么?
答:fork创建一个进程时,子进程只是完全复制父进程的资源,复制出来的子进程有自己的task_struct结构和pid,但却复制父进程其它所有的资源。
通过fork创建子进程,需要将上面描述的每种资源都复制一个副本。
fork()调用执行一次返回两个值,对于父进程,fork函数返回子程序的进程号,而对于子程序,fork函数则返回零,这就是一个函数返回两次的本质。
在fork 之后,子进程和父进程都会继续执行fork调用之后的指令。
系统调用fork()和vfork()是无参数的,而clone()则带有参数。
fork()是全部复制,vfork()是共享内存,而clone()是则可以将父进程资源有选择地复制给子进程,而没有复制的数据结构则通过指针的复制让子进程共享,具体要复制哪些资源给子进程,由参数列表中的clone_flags来决定。
另外,clone()返回的是子进程的pid。
2.什么是进程?什么是线程?Linux系统中的进程有那些状态?如何获取系统
中各进程的状态?
答:进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。
对于操作系统而言,其调度单元是线程。
一个进程至少包括一个线程,通常将该线程称为主线程。
一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务。
Linux系统中的进程状态有:TASK_RUNNING(运行状态),TASK_INTERRUPTIBLE(可中断睡眠状态),TASK_UNINTERRUPTIBLE(不可中断的睡眠状态),TASK_STOPPED(暂停状态),TASK_NONINTERACTIVE(不可交互睡眠状态),TASK_DEAD(死亡状态),EXIT_ZOMBIE(僵死进程),EXIT_DEAD(僵死撤销状态)
ps 查看静态的进程信息
可以使用man 来查看 ps 的使用参数以下是几个常使用到得,
a 显示当前终端的所有进程信息
u 使用以用户为主的格式输出进程信息
x 显示当前用户在所有终端下的进程信息
-e 显示系统内的所有进程
# ps 只显示当前用户打开的进程
]# ps aux 显示系统中所有进程信息
3.Linux系统中进程有哪两种模式?各有何特点?
答:用户进程和系统进程,
用户进程就是用户自己打开的应用程序,可有可无。
系统进程即是内核进程,是维持操作系统正常工作自动生成的,关闭系统进程会产生不可预知的结果。
4.Linux系统中进程控制块的作用是什么?它进程有何关系?
答:进程控制块(PCB)的作用:进程控制块是进程组成中最关键的部分,它保存有进程的重要信息。
1) 每个进程有唯一的PCB.。
2) 操作系统根据PCB.
对进程实施控制和管理。
3) 进程的动态、并发等特征是利用PCB.表现出来的。
4) PCB是进程存在的唯一标志。
5.Linux系统如何执行进程调度?
答:首先查找所有在就绪队列中的进程,从中选出优先级最高且在内存的一个进程,如果队列中有实时进程,那么实时进程将优先运行。
如果最需要运行的不是当前进程,则挂起当前进程,并保护它的现场,然后为选中的进程恢复运行现场。
5.8 Linux系统一般采用哪种文件系统?其构造形式如何?
答:采用ext2文件系统。
(现在几乎是默认用ext3了)ext2文件系统中的文件信息都保存在数据块中。
在同一个ext2文件系统中,所有数据块的大小一样。
ext2文件系统将逻辑分区划分成块组,每个块组重复保存一些有关整个文件系统的关键信息,以及实际的文件和目录的数据块。
系统引导块总是介质上的第一数据块,只有根文件系统才放有引导程序。
5.9什么是块组?什么是超级块?超级块的功能是什么?
答:linux用的是虚拟文件系统,块组是相当于windows系统的硬盘分区,比如c盘d盘。
超级块位于块组的最前面,描述文件系统整体信息的数据结构,主要描述文件系统的目录和文件的静态分布情况,以及描述文件系统的各种组成结构的尺寸、数量等。
5.10什么是索引节点?索引节点主要有哪些内容?它与文件有何关系?
答:索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。
一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。
系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。
2. 索引节点与文件的关系
Linux 为每个文件分配一个称为索引节点的号码inode,可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。
系统是通过索引节点(而不是文件名)来定位每一个文件。
文件系统处理文件所需要的所有信息都放在称为索引节点的数据结构中。
文件名可以随时更改,但是索引节点对文件是唯一的,并且随文件的存在而存在。
一个文件系统允许的inode节点数是有限的,如果文件数量太多,即使每个文件都是0字节的空文件,系统最终也会因为节点空间耗尽而不能再创建文件.
5.11为什么要设立虚拟文件系统?它与实际文件系统的关系是怎样的?
答: Linux系统支持多种文件系统,必须使用一种统一的接口,而VFS可以实现;VFS 是建立在具体文件系统之上的,它为用户程序提供一个统一的、抽象的、虚拟的文件系统界面。
5.13 Linux系统采用哪两种内存管理技术?各自的基本实现思想是什么?
答:Linux系统采用交换和请求分页存储管理两种内存管理技术; 1)请求分页的基本思想是,当执行一个程序时,才把它换入内存,但并不把全部程序都调入内存,而是用到哪一页就调入哪一页;2)内存交换基本思想,当系统中出现内存不足时,Linux内存管理子系统就需要释放一些内存页,从而增加系统中空闲内存页的数量。
5.17 Linux信号机制是如何实现进程通信?
答:Linux信号机制基本上是从Unix系统中继承过来的。
早期Unix系统中的信号机制比较简单和原始,后来在实践中暴露出一些问题,因此,把那些建立在早期机制上的信号叫做"不可靠信号",信号值小于SIGRTMIN(Red hat 7.2中,SIGRTMIN=32,SIGRTMAX=63)的信号都是不可靠信号。
这就是"不可靠信号"的来源。
它的主要问题是:
•进程每次处理信号后,就将对信号的响应设置为默认动作。
在某些情况下,将导致对信号的错误处理;因此,用户如果不希望这样的操作,那么就要在信号处理函数结尾再一次调用signal(),重新安装该信号。
•信号可能丢失,后面将对此详细阐述。
因此,早期unix下的不可靠信号主要指的是进程可能对信号做出错误的反应以及信号可能丢失。
Linux支持不可靠信号,但是对不可靠信号机制做了改进:在调用完信号处理函数后,不必重新调用该信号的安装函数(信号安装函数是在可靠机制上的实现)。
因此,Linux下的不可靠信号问题主要指的是信号可能丢失。
信号值位于SIGRTMIN和SIGRTMAX之间的信号都是可靠信号,可靠信号克服了信号可能丢失的问题。
Linux在支持新版本的信号安装函数sigation()以及信号发送函数sigqueue()的同时,仍然支持早期的signal()信号安装函数,支持信号发送函数kill()。
注:不要有这样的误解:由sigqueue()发送、sigaction安装的信号就是可靠的。
事实上,可靠信号是指后来添加的新信号(信号值位于SIGRTMIN及SIGRTMAX之间);不可靠信号是信号值小于SIGRTMIN的信号。
信号的可靠与不可靠只与信号值有关,与信号的发送及安装函数无关。
目前linux中的signal()是通过sigation()函数实现的,因此,即使通过signal ()安装的信号,在信号处理函数的结尾也不必再调用一次信号安装函数。
同时,由signal()安装的实时信号支持排队,同样不会丢失。
5.19 Linux系统中设备驱动分层结构是怎样的?如何实现与设备的无关性?答:在面向对象的程序设计中,可以为某一类相似的事物定义一个基类,而具体的事物可以继承这个基类中的函数。
如果对于继承的这个事物而言,其某函数的实现与基类一致,那它就可以直接继承基类的函数;相反,它可以重载之。
这种面向对象的设计思想极大地提高了代码的可重用能力,是对现实世界事物间关系的一种良好呈现。
Linux内核完全由C语言和汇编语言写成,但是却频繁用到了面向对象的设计思想。
在设备驱动方面,往往为同类的设备设计了一个框架,而框架中的核心层则实现了该设备通用的一些功能。
同样的,如果具体的设备不想使用核心层的函数,它可以重载之。
Linux系统采用设备文件统一管理硬件设备,从而将硬件设备的特性及管理细节对用户隐藏起来,实现用户程序与设备无关性。
(注:文档可能无法思考全面,请浏览后下载,供参考。
)。