Linux操作系统期末复习题SWJTU(绝对珍贵)附答案版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分:上机作业:
第二部分:
一、填空
1.软件提供的三种模式商业软件、共享(试用)软件、自由软件。
2.Linux发行遵循GNU 的通用公共许可证(GPL),其目标是保持和POSIX 标准兼容.
3.Posix表示可移植操作系统接口,其目的是是为了提高UNIX环境下应用程序的可移植性。
4.目前linux主要应用在软件供应商、学术界及ASP、ISP、ICP公司。
5.目前linux发行版本主要有Debian、Red Hat、Slackware、Openlinux、Blue Point、Red Flag、Xteam Linux、Debian、Suse。
6.Linux内核具有两种版本号,分别是:实验版本、产品化版本,这样区分的优点可以方便广大软件人员加入到Linux的开发和测试工作中来,另一方面又可以让一些用户使用上稳定的Linux 版本。
7.操作系统功能可以分为文件系统管理、处理器管理、内存管理、设备管理、网络管理五大部分(子系统)。
8.操作系统的体系结构是软件内部结构配置的一种抽象描述。通常操作系统可划分为模块结构、层次结构、对象结构三种结构,linux属于模块结构。
9.根据Eric Raymond的观点,他将linux内核的开发模式称为集市模式,而将传统软件的开发模式称为教堂模式。
二、填空
1.Linux安装过程中通常至少要创建根分区和交换分区两个分区。
2.系统安装完成后,用dd命令制作启动软盘的完整命令是:
# dd if=bootnet.img of=/dev/fd0 bs=1440k 。
3./dev/hda表示第一个IDE硬盘, /dev/hda6表示第一个IDE硬盘上第六个主分区或扩展分区。
4.Linux采用的启动管理器有LILO和GRUB两种;对应的配置文件的名称分别是/etc/lilo.conf 和/boot/Grub/menu.lst(或grub.conf)。
三.填空
1.Linux采用ext2或ext3作为其默认文件系统的。
2.Linux中的五种基本文件类型分别是普通文件、目录文件、设备文件、链接文件、管道文件。
3.Linux系统中文件权限分别赋予文件拥有者、拥有者所在用户组、其他用户组三类用户,每类用户权限用三位表示,分别是读(r)、写(w)、执行(x)。
4.Linux中改变文件权限的命令是chmod;改变文件所有者的命令是chown;改变文件所属组的命令是chgrp。
5.Linux采用链接法方法实现文件共享,这样方法产生的文件又可分为硬链接和符号链接两种。两种文件的各自特点硬链接文件和源文件指向同一个i节点;符号链接文件为指向文件的路径。
6.Linux下拷贝文件的命令是cp,移动一个文件在目录树中的位置的命令是mv,删除一个文件的命令是rm。
7.Linux下显示文件内容的命令有cat、more、less、head、tail、od。
8.在linux shell中>表示输出重定向,>>表示追加输出改向,<表示输入重定向,<<表示本地文档重定向(追加输入改向)。
四.填空
1.进程是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动,一个完整的进程包括程序、执行程序所需要的数据、记录进程状态的动态数据资料(进程映像)三部分,描述Linux 进程数据结构的文件是/include/linux/sched.h。
2.进程的三个基本状态等待状态、就绪状态、执行状态,Linux将执行、就绪分为运行态,而将等待状态分为可中断等待状态、不可中断的等待态两种状态。
3.Linux的调度启动命令有at、cron、batch,$at –f /tmp/print job 2100 12/25/04的含义为:在04年12月25日21:00执行/tmp/print job中的作业。
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、VFS inode包含文件访问权限、属主、组、大小、生成时间、访问时间、最后修改时间等信息。它是linux管理文件系统的最基本单位,也是文件系统连接任何子目录、文件的桥梁。inode结构中的静态信息取自物理设备上的文件系统,由文件系统指定的函数填写,它只存在于内存中,可以通过inode缓存访问。虽然每个文件都有相应的inode结点,但是只有在需要的时候系统才会在内存中为其建立相应的inode数据结构,建立的inode结构将形成一个链表,我们可以通过遍历这个链表去得到我们需要的文件结点,VFS也为已分配的inode构造缓存和哈希表,以提高系统性能。EXT2 inode用来定义文件系统的结构以及描述系统中每个文件的管理信息,每个文件都有且只有一个inode,即使文件中没有数据,其索引结点也是存在的。每个文件用一个单独的Ext2 inode结构来描述,而且每一个inode 都有唯一的标志号。Ext2 inode为内存中的inode结构提供了文件的基本信息,随着内存中inode结构的变化,系统也将更新Ext2 inode中相应的内容。Ext2 inode对应的是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
#include
Pid_t fork(viod)
正确返回:父进程返回子进程的进程号,子进程返回0。
错误返回:-1