当前位置:文档之家› unix操作系统期末复习要点

unix操作系统期末复习要点

29.对所有用户的变量设置,应当放在哪个文件下。

答案:/etc/profile一.单项选择题(每题1分,共20分)大部分主要的Linux 系统文件是存放在什么目录之中。

答案:/bin答案:shell 脚本10.什么命令用来显示文件和目录占用的磁盘空间。

答案:du11.安装CD-ROM 时,默认选择是什么类型的文件系统。

答案:.iso966012. swap 文件与swap 分区相比,它具有哪些优点。

答案:可以更有效率地应用磁盘空间13. 如果在/etc/group 文件中有一行内容是 “students::600:z3,l4,w5那么在“student 组中有多少个用户。

答案:不清楚14./etc 文件系统的标准应用是用于? 答案:存放用于系统管理的配置文件15.什么命令可被用来显示已安装文件系统的占用磁盘空间?答案:df16. 在安装Linux 操作系统过程中你可以选择什么形式来登录。

答案:选择“文本登录”在级别 3层次设置系统起始模式17.在ext2文件系统中,一个目录数据块中的指针指向的是?答案:目录的i 节点18. 在Linux shell 中,什么变量代表的是shell 程序命令的程序文件名。

答案:$0 19. 哪个组合键,可以退出 X Window 。

答案:Ctrl+Alt+Backspace 20.在Linux 中,可使用什么命令来删除指定目录。

答案:rmdir21.在ps 命令中的哪个参数是用来显示所有用户的进程的。

答案:a22.显示二进制文件的命令是? 答案:od 或hexdump23.哪个可以显示Linux 系统中注册的用户数(包含系统用户)。

答案:wc --lines /etc/passwd 24.在一行结束位置加上什么符号,表示未结束,下一行继续。

答案:1. 2. Linux 标准c 和c++编译器。

答案:gcc3. 4. 5. 什么命令可用来使shell 变量变为一个全局变量。

在一个bash shell 脚本的第一行上应加入什么语句。

Linux 命令行是由什么提供的。

答案:shell 答案:export 答案:#!/bin/bash6. 你可编制一个由一系列命令组成的程序,该程序可由shell 执行。

这种类型的程序被称作?7. 答案:命令名8. 9. 要从shell 命令行中执行一条命令,必须首先键入? 使用标准输出重定向符(>),比如“>file01将会导致文件file01中的数据被?答案:覆盖 什么命令可把./dir1目录(包括它的所有子目录)内容复制到./dir2中。

答案:cp -r ./dir1/* ./dir225.命令kill 9 的含义是?答案:sends SIGTERM to the process whose PID IS 926.哪个命令用于删除一个非空子目录/tmp。

答案:rm -f /tmp27.使用什么命令可以在今天午夜运行命令cmd1。

答案:echo "cmd1" | at mid night28.你的系统使用增量备份策略,当需要恢复系统时,你需要按什么顺序恢复备份数据。

答案:最后一次全备份,然后从最近到最早的增量备份29.对所有用户的变量设置,应当放在哪个文件下。

答案:/etc/profile30. Linux 系统中,一般把命令Is 定义为Is --color 的别名,以便以不同颜色来标识不同类型的文件。

但是,使用什么形式能够使用原先的ls 命令。

答案:\ls二.判断题(每空1分,共10分)1.按文件的逻辑结构分,数据库文件是一种顺序文件文件。

X2•对一个文件的访问,常由文件属性和口令共同限制。

V3 .目录文件所存放的信息是某一文件的文件目录。

X 该目录中所有子目录文件和数据文件的目录 4•在Linux 系统中,通常把设备作为特别文件来处理。

V5 .文件系统采用二级文件目录可以实现文件共享。

X 解决不同用户间文件命名冲突 6•多道程序提供的可共享资源不足时,可能出现死锁;不适当的分配队列优先权 进程推进顺序也可能产生死锁。

X7.为了系统中各部分资源得到均衡使用,以提高系统的效率,就必须选择对资源需求不同的作业进行合理搭配。

这项工作是由进程週度_作业调度完成的。

X&引入文件系统的主要目的是用于存储系统文件 提高存储空间的利用率。

X 9.文件代表了计算机系统中的软件资源。

V 10•位示图可用于磁盘空间的管理。

V 11.程序和进程是两个不同的概念,程序指出了处理器执行操作的步骤,而进程是一个程序在一个 数据集合上的一次执行。

V 12. 一个进程是PCB 结构与程序和数据的组合。

V采用了一个与进程相联系的进程控制块,根据它而感知进程的 存在及对进程进行控制。

V 14•异步性体现了原语的主要特点。

由于申请等待 I/O 操作而被中断时,可以允许其他进程进入与该进程相关的临界区。

X 可以允许其他进程抢占处理器,但不得进入该进程的临界区三.填空题(每空1分,共10分)1•在Linux 平台下,GNU 发布了一款功能强大的调试工具,称为 gdb (GNU Debugger ),gdb 是一用来—调试__C 和C++程序的调试工具。

其工作在_命令模式—下,需要通过输入命令来实现对应用 程序的调试,通过此调试工具可以在程序运行时观察 程序的内部结构和内存的使用情况。

2. 一个进程内部由若干个进程组成,进程的出现使得多个程序可以并发执行,节省了资源利用率;而 线程 的引入则帮助减少了程序 并发 执行时带来的时空开销。

3.文件是指一组相关数据的有序集合,在 Linux 系统中,文件中的—数据_与数据之间的关系,是由使用_文件—的应用程序建立和解释的,它们仅在一个文件中有关系。

4. 在Linux 环境下,每打开一个磁盘—文件—时,都会在内核中建立一个—文件表项文件表项 中存储着文13.为了描述进程的动态变化过程, 15. 一个正在访问临界资源的进程,件的状态信息、存储文件内容的缓冲区和当前文件的读写位置。

5. Linux操作系统是一款免费使用,且可以自由传播的类Unix操作系统,它支持__多进程__、多用户、_多线程—及多CPU,从其诞生到现在,性能逐步得到了稳定提升。

四.简答题(每题10分,共40 分)1 .试述Linux系统中的各种信号。

信号(signal):全称软中断信号,其本质是软件层次上对中断机制的一种模拟,用于提醒进程, 某件事情已经发生。

Linux系统中的信号可能会处于几个状态,分别为:发送状态、阻塞状态、未决状态、递达状态和处理状态,具体含义是:(1)发送状态:当某种情况驱使内核发送信号时,信号有一个短暂的发送状态;(2)阻塞状态:由于某种原因,发送的信号无法被传递,将处于阻塞状态;未决状态:发送的信号被阻塞,无法到达进程,内核就会将该信号的状态设置为未决;(3)递达状态:若信号发送后没有阻塞,信号就会被成功传递并到达进程,此时为递达状态;(4)处理状态:信号被递达后会被立刻处理,此时信号处于处理状态。

2 .什么是操作系统?它有什么基本特征?从资源管理的观点出发,操作系统的功能由哪些部分组成?操作系统是一组控制和管理计算机软件和硬件资源、合理组织计算机的工作流程以及方便用户使用计算机的程序集合。

操作系统的基本特性是共享性、并发性、虚拟性和不确定性4个万面。

从资源管理的观点出发,操作系统的功能可分成五大部分:处理器管理,存储管理,文件管理,设备管理,作业管理。

操作系统的这五大部分相互配合,协调工作,实现对计算机系统的资源管理和控制程序的执行。

3.简要说明Linux文件系统中索引结点和目录项的含义。

(1)索引结点:索引结点(index node,简称inode)的实质是一个结构体,主要功能是保存文件的属性信息(如所有者、所属区、权限、文件大小、时间戳等),Lin ux系统中的每个文件都会被分配一个in ode,当有文件创建时,系统会在inode表中获取一个空闲的in ode,分配给这个文件。

inode存储在inode表中, inode 表存储inode和in ode的编号(in umber),i node表在文件系统创建之时便被创建,因此文件系统中可存储的文件数量也在文件系统创建时已确定。

⑵目录项:Linux 文件系统中的索引结点保存着文件的诸多属性信息,但并未保存文件的文件名。

实际上, Linux 系统中文件的文件名并不保存在文件中,而是保存在存放该文件的目录中。

Linux 系统中定义了一个被称为目录项(dentry)的结构体,该结构体主要存储文件的文件名与inode 编号,系统通过读取 目录项中的文件名和文件的in umber ,来判断文件是否存在于这个目录中。

dentry 中允许同一个inode 对应不同的文件名,但不允许相同的文件名对应不同的ino de 。

4. 简要说明Linux 系统中的虚拟文件系统。

虚拟文件系统又称虚拟文件切换系统(Virtual Filesystem Switch),是操作系统中文件系统的虚拟 层,其下才是具体的文件系统。

虚拟文件系统的主要功能,是实现多种文件系统操作接口的统一,既能让上层的调用者使用同 一套接口与底层的各种文件系统交互, 又能对文件系统提供一个标准接口, 使Linux 系统能同时支持 多种文件系统。

虚拟文件系统与上层应用及底层的各种文件系统之间的关系如图所示。

5. 画图说明多道程序程序的工作情况。

6. 简述产生信号的产生及处理。

信号被应用于进程间通信,但信号实际并不由进程发送,在遇到某种情况时,内核会发送某个 信号到某个进程,通常产生信号的情况有以下五种:(1) 组合按键(2) 系统检测到硬件异常。

(3) 满足某种软件条件。

(4) 通过系统调用发送信号。

中央处理机外部设备程序A输出结束输入 输出结束(5) 在终端通过命令发送信号。

信号递达进程后才可能被处理,信号的处理方式有三种:(1)忽略:大多数信号都可以被忽略,但 9号信号SIGKILL 和19号信号SIGST0P 是超级用户杀 死进程的可靠方法,不能被忽略。

(2)捕获:对信号做捕获处理时,进程通常需要先为该信号设置信号响应函数,这是一个回调函数,当指定信号产生时,内核会为该进程调用并执行对应的信号响应函数。

9号信号SIGKILL 和19号信号SIGSTOP 同样不能被捕获。

(3) 执行默认动作:系统为每个信号设置了一些默认动作,当信号递达,进程又未设置信号的响 应函数时,系统会对进程执行信号的默认动作。

五.程序设计题(每题10分,共20 分)1.用C 语言输入文件路径并打开:#in clude<stdio.h> #in clude<stdlib.h> mai n(){FILE *fp;Char ch,file name[50];scanf( “ %s ,filename); if((fp=fo pen (file name,exit(0);printf(“ len 0=(%d ,ftell(fp));ch=fgetc(fp); while(ch != EOF){pu tchar(ch);printf(请输入文件路径及名称n );r ” ))==NULL){ printf(不能打开文件 );ch二fgetc(fp);printf( n“);printf( “ len 1=%d” ,ftell(fp));rewi nd(fp);printf( “ len 2=%d,ftell(fp));ch=fgetc(fp);while(ch!二EOF){pu tchar(ch);ch=fgetc(fp);printf( n“);fclose(fp);2.用Shell实现使用局部变量的递归#!/bi n/bashMAX ARG=5E WRONG ARGS=65E RANGE ERR=66if[-z “ S1”]the necho “ Usage: 'basename $0' number ”exit $E WRONG ARGSfiif [ “ $1t”$MAX_ARG]the necho ” Out of range (5 is maximum).fifact(){local nu mber二$1if [ “ $nu mbee”qO]- the nfactorial=1elselet"decrnum = nu mber-1" fact $decr num let"factorial = $NUMBER * 八?"fi return $factorial3.编写程序实现shell的基本功能,读入用户从键盘输入的命令,并执行它#in clude<stdio.h>mai n(){char comma nd[32];char *prompt二” $”;while(printf( “%s ,*prompt),gets(command)!二NULL){if(fork()==0)elsewait(O);exec Ip (comma nd,comma nd(char*)O);4. C语言实现简单copy功能#in clude<stdio.h>#in clude<stdlib.h>mai n(argc,argv){int argc;char *argv [] int fd1,fd2 ,n;char buf[512];fd1=o pen (argv[1],0);fd2=creat(argv[2],0644);while(( n=read(fd1,buf,512))>0)write(fd1,buf, n);close(fd1);close(fd2);。

相关主题