Linux操作系统基础、原理与应用(第二版)张玲 部分课后习题参考答案

笔者本学期使用该教材上课,教师布置的一些课后习题似乎难以在网上找到答案。故分享自己写的答案,水平有限,仅供参考。欢迎指出问题、交流。本文随着学期课程学习进度而动态更新。

1-4

①基于UNIX设计,性能出色。②遵照GPL许可,是自由软件。

③符合POSIX标准,兼容性好。④可移植性好。⑤网络功能强大。⑥安全性好。

1-5

Linux的基本系统由内核、Shell和文件系统这3个部分组成。

Linux内核的功能是运行程序和管理基本硬件设备。

2-8

  1. 目录文件。属主可以完全控制,组用户和其他人只拥有读权限和执行权限。
  2. 普通文件。属主可以完全控制,组用户和其他人只拥有执行权限。
  3. 字符设备文件。属主和组用户拥有读权限和执行权限,其他人不具有任何权限。

2-9

其他人想要访问该文件,必须要先访问该目录。由于该目录访问权限是700,其他人不具有读取权限,所以就不能读取目录下的文件。

2-10

新建立的文本文件默认权限为(777-037)&666=640;

新建立的目录的默认权限为777-037=740。

2-12

  1. 删除目录temp及其内部所有文件。
  2. 删除/temp中的所有目录和文件。
  3. 报错,rmdir不能删除非空目录。

2-14

$ chmod o+x myfile

5-8

Linux使用fork()系统调用,按父进程复制一个子进程,建立子进程的描述符,链入进程链表,fork()返回后,子进程已就绪,等待进程调度。

写时复制技术的目的是优化fork()的性能,不是将父进程的映像复制给子进程,而是让子进程共享父进程映像的同一个复本,直到父子进程有一方遇到写操作时再进行复制。由于子进程在创建时通常就立刻执行exec()系统调用,使得复制操作不会发生,提高了创建进程的效率。

5-9

Shell进程是所有在其下执行的命令的父进程。当Shell接收一个命令行后,会创建一个子进程,将子进程的映像更换为要执行的命令的映像文件,子进程会执行该命令直到结束。若子进程为后台运行,则Shell进程会立即显示命令提示符,准备接收下一个命令;若子进程为前台运行,则Shell进程阻塞自己,等待子进程退出时被唤醒,回收子进程并准备接收下一个命令。

5-13

Linux的调度策略有实时调度策略(先进先出法、轮转法)、普通调度策略(完全公平调度法)。普通进程采用完全公平调度法CFS。

5-17

Linux系统中对死锁问题采取鸵鸟算法,即忽略死锁问题。原因:对付死锁问题的成本过高,而死锁发生的概率也很低。采用死锁预防或者检测算法会严重降低系统效率,以此代价去换取避免概率极小的死锁问题很不划算。

6-9

Linux内存管理是基于分页的。Linux的页式存储机制为了适应x86的分段机制,利用了共享0基址段的方式,即各个段的基址都被设为0,使段式映射实际上不起作用,这样虚拟地址与线性地址是一样的,只需进行页式映射即可得到物理内存地址。此时,段界限为4GB,由于基址为0,故偏移量等于线性地址。

6-12

Linux系统的内存分配与回收采用伙伴算法。特点:分配和回收的空间都是2的幂大小的页块,用以减少内存碎片,增加连续内存分配成功的几率。

6-13

malloc()函数是用户进程使用的,用于分配用户空间中的虚存区中的堆区,即malloc()只是在分配区间上建立匿名映射,并不直接分配物理内存。kmalloc()函数用于获得以字节为单位的一个连续的小块内存区(通常小于128MB),即分配小块连续的物理内存,访问效率高。vmalloc()函数用于分配一个线性地址连续但是物理地址不保证连续的内存区,可以分配较大的内存空间,访问效率一般较低。

7-5

Linux文件系统采用流式文件逻辑结构,采用多重索引文件物理结构。

7-6

1.Linux文件系统中,目录文件存放的是文件列表,即该目录下文件的FCB(Ext中是FCB次部)构成的表,每个FCB是一个目录项;普通文件存放的是文件内容,通常是字符串。2.普通文件的权限分为r、w、x,目录文件权限分为r(读)、w(增删目录中文件)、x(目录可访问)、X(只能访问目录,不能执行目录中无执行权限x的文件)。

7-10

虚拟文件系统位于整个文件系统的最上层,为用户进程及内核其他模块提供了使用文件系统的统一接口。作用:接收来自系统调用层的文件操作请求,把操作结果返回给调用者;负责管理文件系统的缓存,保证文件系统的整体效率;将标准文件操作映射到实际文件系统的操作。与实际文件系统的关系:虚拟文件系统是对实际文件系统的抽象,将标准文件操作映射到实际文件系统的操作,保证Linux可以支持多种不同的文件系统。

选做题:请阐述Linux文件系统引入inode的好处。

引入索引节点inode,实现了将索引节点内容(文件属性信息、索引表)与文件名相分离。使用FCB次部构建的目录项大大减小了目录文件的大小,提升了查找效率;属性信息、索引表与文件名相分离使得对数据块的访问更加灵活,即可以利用文件名和路径去访问文件数据块,也可以利用索引节点inode中的索引表去访问数据块,这一特性也直接保证了文件链接技术的诞生,硬链接正是使用了inode而绕过文件名去访问文件,实现文件的共享。

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值