• 沒有找到結果。

浙江大学 2004 —2005 学年 冬 学期期终考试 《操作系统分析与实验》课程试卷

N/A
N/A
Protected

Academic year: 2021

Share "浙江大学 2004 —2005 学年 冬 学期期终考试 《操作系统分析与实验》课程试卷"

Copied!
1
0
0

加載中.... (立即查看全文)

全文

(1)

浙江大学 2004 —2005 学年 冬 学期期终考试

《操作系统分析与实验》课程试卷

考试时间: 120 分钟 开课学院: 专业:___________

姓名:____________ 学号:_____________ 任课教师:_____________

题序 总分

评分 评阅人

壱、 选择题。对于每一个小题,各选择一个正确的答案,填入“()”中 (共40分,每题2

分)

1. ( ) 2. ( ) 3. ( ) 4. ( ) 5. ( ) 6. ( ) 7. ( ) 8. ( ) 9. ( ) 10. ( ) 11. ( ) 12. ( ) 13. ( ) 14. ( ) 15. ( ) 16. ( ) 17. ( ) 18. ( ) 19. ( ) 20. ( )

1. Linux内核的发布者是________ 。

A. Linus Torvards B. http://www.kernel.org C. RedHat D. http://www.gnu.org 2. 目前Linux内核稳定的发行版本编号是________ 。

A. 9.0 B. 2.6.10 C. 2.4.18 D. 2.6.10-rc3-bk15

3. 在bash shell提示符后,键入set并且按下<Enter>键。系统显示________ 。 A. 一个帮助界面,列出了shell常用命令;

B. set命令应该随带的参数名称及其意义;

C. 环境变量和它们当前设置的列表;

D. shell的出错提示信息,表示set命令不存在。

4. Linux继承了UNIX的传统,也提供在线帮助系统。当你使用man passwd时,系统不会 显示________ 。

A. 与passwd命令相关的命令; B. passwd命令的格式;

C. passwd命令的参数的意义; D. passwd命令的历史。

5. shell是Linux的命令解释器。以下关于shell的说法中, ________是错误的 。

(2)

A. command.com是一种LINUX shell; B. C shell是一种LINUX shell;

C. TC shell是一种LINUX shell; D. Korn shell是一种LINUX shell。

6. 在Linux文件系统中,有一个目录叫“/dev”。该目录下的文件________ 。 A. 是某个设备的逻辑标识; B. 也是包含一串二进制数的通用文件;

C. 是某类设备的逻辑标识; D. 以上全不对。

7. Linux的一个目录项(directory entry)________ 。

A. 描述了该目录下,一个文件的信息; B. 是一种描述目录的数据结构;

C. 保存了某一子目录的全部信息; D. 保存了某一子目录或某一文件的全部信息。

8. 使用________,不能显示你的家目录的绝对路径。

A. 显示/etc/passwd的内容; B. cd

C. 查看环境变量$PWD; D. echo $HOME

9. 命令________显示当前目录下文件名满足如下条件的所有文件的类型:文件名以chapter开 始,后面跟着一个数字1、2、6、8或9,以.eps结尾。

A. ls chapter[12689].eps B. ls chapter[1,2,6,8,9].eps C. file chapter[1,2,6,8,9].eps D. file chapter[12689].eps 10. 命令chmod =r sample实现命令________的效果。

A. chmod 004 sample B. chmod 444 sample C. chmod 040 sample D. chmod 400 sample

11. 进程的作业号为3,pid号为10974,并且忽略2号signal和15号signal。尽管如此,命 令________将终止它。

A. kill –9 %3 B. kill –2 %3

C. kill –9 %10974 D. kill –2 %10974 12. CPU调度算法_____没有在LINUX的2.4.18版中使用。

A. FCFS B. SJF

C. ROUND ROBIN D. priority

13. 命令_____编译power.c并把生成的可执行代码保存到XpowerY文件。

A. gcc –c XpowerY power.c B. gcc –g XpowerY power.c C. gcc –o XpowerY power.c D. 以上命令都不能

14. SHELL终端中,输入“!vi,将_____。

A. 不带参数执行vi命令 B. 执行以“vi”开头的一条命令

C. 无条件执行vi命令 D. 执行最近刚执行过的以“vi”开头的命令 15. 在一个磁盘分区中创建一个与Windows兼容的文件系统,可以用_____。

A. mknod B. mkdir C. mkfs D. mkfs.ext2

16. Linux为每一个文件系统设置了magic number,其作用是_____。

A. 描述文件系统的类型 B. 记录了该文件系统中文件、目录总数 C. 表达了共享该文件系统的进程数 D. 唯一表示该文件系统的id

(3)

17. Linux的系统调用mount(),属于_____。

A. 设备管理的操作 B. 文件系统的操作 C. 存储管理的操作 D. 进程管理的操作

18. Linux的系统调用fork()创建一个子进程。在所创建的子进程里,fork()_____。

A. 返回父进程的pid B. 返回值大于0 C. 返回值为0 D. 不返回任何值

19. Linux内核的全程变量_____的初值决定于计算机硬件。

A. jiffies B. kstat

C. ROOT_DEV D. high_memory 20. Linux内核的全程变量jiffies _____。

A. 用于记录定时器初始时间 B. 是CPU调度算法用来记录轮转时间片的 C. 是Linux所管理的计算机的基准时间 D. 是Linux内核的基准时间

二、判断题。对于每一个小题,各选择一个正确的答案,填入“()”中(共20分,每题2分)

1. ( ) 2. ( ) 3. ( ) 4. ( ) 5. ( ) 6. ( ) 7. ( ) 8. ( ) 9. ( ) 10. ( )

1.尽管Linux的distributor很多,但它们使用的Linux内核是一样的,最多只有内核版本的区别。

2.Linux没有版权,可以免费使用。

3.使用whoami命令可以让系统显示你的用户名。

4.利用/etc/passwd文件,可以判断你的系统允许哪些用户登录。

5.LINUX系统中有一文件“entry.S”。其扩展名“.S”表示特殊文件类型,即汇编语言源程序。

6.事实上,shell命令全部由对应的文件来执行。例如,“ls”命令就是通过执行“/bin/ls”文件实 现的。

7.bg %1命令把后台的1号作业转为前台作业。

8.对于所有的LINUX进程,只要它运行在前台,都可以用<Ctrl-C>终止它。

9.创建新进程运行可执行文件“/tmp/a.out”,可以用execv(“/tmp/a.out”)。

10. Hard link虽然与symbolic link不同,但都可以实现跨文件系统的连接。

三、(20分)Linux文件系统管理中,引入了虚拟文件系统VFS。在VFS层,根据路径查找对应 inode时,往往调用path_init()和path_walk()。其中,用到了函数follow_dotdot(),如下所示。

(1) 请说明函数 follow_dotdot()的作用。

(2) 阅读 Linux 内核第 2.4.18 版的函数 follow_dotdot(),逐行解释其含义和作用。必要的数据结 构见如下描述。

static inline void follow_dotdot(struct nameidata *nd) {

while(1) {

struct vfsmount *parent; struct dentry *dentry;

(4)

read_lock(&current->fs->lock);

if (nd->dentry == current->fs->root &&

nd->mnt == current->fs->rootmnt){

read_unlock(&current->fs->lock); break;

}

read_unlock(&current->fs->lock);

spin_lock(&dcache_lock);

if (nd->dentry != nd->mnt->mnt_root) { dentry = dget(nd->dentry->d_parent);

spin_unlock(&dcache_lock);

dput(nd->dentry);

nd->dentry = dentry;

break;

}

parent=nd->mnt->mnt_parent;

if (parent == nd->mnt) {

spin_unlock(&dcache_lock);

break;

}

mntget(parent);

dentry=dget(nd->mnt->mnt_mountpoint);

spin_unlock(&dcache_lock);

dput(nd->dentry);

nd->dentry = dentry;

mntput(nd->mnt);

nd->mnt = parent;

} }

struct nameidata {

struct dentry *dentry; struct vfsmount *mnt; struct qstr last;

unsigned int flags; int last_type;

};

struct vfsmount {

struct list_head mnt_hash;

struct vfsmount *mnt_parent; /* fs we are mounted on */

struct dentry *mnt_mountpoint;/* dentry of mountpoint */

struct dentry *mnt_root; /* root of the mounted tree */

struct super_block *mnt_sb; /* pointer to superblock */

struct list_head mnt_mounts; /* list of children, anchored here */

struct list_head mnt_child; /* and going through their mnt_child */

atomic_t mnt_count; int mnt_flags;

(5)

char *mnt_devname; /* Name of device e.g. /dev/dsk/hda1 */

struct list_head mnt_list;

};

struct dentry {

atomic_t d_count; unsigned int d_flags;

struct inode * d_inode; /* Where the name belongs to - NULL is negative */

struct dentry * d_parent; /* parent directory */

struct list_head d_hash; /* lookup hash list */

struct list_head d_lru; /* d_count = 0 LRU list */

struct list_head d_child; /* child of parent list */

struct list_head d_subdirs; /* our children */

struct list_head d_alias; /* inode alias list */

int d_mounted; struct qstr d_name;

unsigned long d_time; /* used by d_revalidate */

struct dentry_operations *d_op;

struct super_block * d_sb; /* The root of the dentry tree */

unsigned long d_vfs_flags;

void * d_fsdata; /* fs-specific data */

unsigned char d_iname[DNAME_INLINE_LEN]; /* small names */

};

struct fs_struct {

atomic_t count; rwlock_t lock; int umask;

struct dentry * root, * pwd, * altroot;

struct vfsmount * rootmnt, * pwdmnt, * altrootmnt;

};

四、编程序,显示系统的缺页中断次数(20分)

(1) 请叙述Linux的缺页中断调用机理。

(2) 请给出你的显示方案。

參考文獻

相關文件

第二条 研究生院负责课程体系结构设置,研究生学位公共课及公共选修课(以

22 韩立余: 《当代单边主义与多边主义的碰撞及其发展前景》 , 《国际经济法学刊》2018 年第 4 期,第 3 9-40

“告诉大家一个好消息和一个坏消息。好消息是下星期不考试了! ”同学们

试题管理界面左侧,按照试卷结构罗列出了 HSK(一级)至 HSK(六

上述定理, 即 Dini, Lipschitz, Dirichlet 判别法, 给出函数能展开成 Fourier 级数的充分条件... 下面罗列几个例子,

[r]

微积分的创立是数学发展中的里程碑, 它的发展 和广泛应用开启了向近代数学过渡的新时期, 为研究 变量和函数提供了重要的方法和手段. 运动物体的瞬

笛卡儿企图通过坐标系给几何引进新方 法, 他的成就远远超出他的期望. 坐标系是数 学中的双刃剑, 使得几何的目的可以通过代 数达到, 反过来,