Linux 第5章课后习题答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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内存管理子系统就需要释放一些内存页,从而增加系统中空闲内存页得数量。

相关文档
最新文档