答案13级高级编程复习范围_第1页
答案13级高级编程复习范围_第2页
答案13级高级编程复习范围_第3页
答案13级高级编程复习范围_第4页
答案13级高级编程复习范围_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

答案13级高级编程复习范围1.进程是一个具有一定独立功能的程序的一次运行活动。内核空间与用户空间是程序执行的两种不同状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的转移。嵌入式Li中,主要的存储设备为Fl和Mli四种常见的文件类型,分别是。用al可以在进程中设置一送SIGAMcon数是客户端用来同服务端连接的成功时返回。TC的网络模型包括层、层、层。式Linux由Lix和文件统两部成缺可。作入的存,有 NR N技术。.进行括码段,数据段,堆,环量数。在嵌入式系统中,通常没有像BI样的固件程序,因此整个系统的加载启动任务就完全由ub成。利用ls的返回值为文件的长度的函数调用是lseek(fd,0,SEEK_END)进访资那代为临界区。中络过Soc接口实现,它是一种文件描述符。人工创建字符设备节点文件/dev号为2次设备号为0的命令为mknod/dev/test c 250 0.ARM为四步,分别是启动引导程序,加载内核,加载根文件系统,启动用户应用程序。下列基于A发板的内核制作步骤错误的是( B).makedistcl.makemanuc.makemenuconfig ARCH.makeuImage ARCH=armCROSS_COMPILE=arm-lin.下列主要使用NAfl件系统的是( ).JFFS2.YaffB.Crams.NFSD)果把bootl程分为stagst么下边哪一项不是stae1成的工作(、基本硬件初始化。。加载内核映像和根文件系统映像。C跳转到sta语言入口点D设置堆栈指针SP为执行语言代码做准备。关于Li链接文件,下列说法不正确的是(C)、li中链接文件分为硬链接和软链接两种。、软链接又称为符号链接,类似于Win快捷方式。、硬链接文件相当于建立一个新文件。、软链接文件相当于建立一个新文件。.关于无名管道,下列说法错误的是( D).它只能用于具有亲缘关系进程之间的通信.它是一个半双工的通信模式,具有固定的读端和写端。.通常先使用pi数创建一个管道,再通过fo数创建一个子进程,该子进程继承父进程所创建的管道,父子进程关闭相应不用的端口就可以建立通信的管道。.管道可以看作为普通的文件,是文件系统中的一种。.li中加载模块的命令是哪个?( C).lsmodmoBinfinsmrmod.关于信号下列说法错误的是(B).发送信号的函数主要有kiia(paue().ra以向自身发送信号,也可以向其他进程发送信号。.alarm为闹钟函数,一个进程只能有一个闹钟时间。.当系统捕捉到某个信号时,可以忽略该信号或是使用指定的处理函数来处理。.关于说法错误的是( ).UDP供不可靠的非连接型传输层服务,它允许在源和目的地之间传送数据。.T重要的传输层协议,目的是允许数据同网络上的其他节点进行可靠的交换。.U议具有严格的内装差错检验算法确保数据的完整性。.U无连接的,不可靠的传输服务,它执行速度比T。.下列关于字符设备和块设备说法错误的是( B)字符设备是一种按字节来访问的设备块设备只能以块为单位接受输入和返回输出字符设备对于I求要求有对应的缓冲区。.字符设备只能被顺序读写,而块设备可以随机访问。关于驱动程序,下列说法错误的是(C、通过驱动程序可以对设备进行初始化和释放。、通过驱动程序可以把数据从内核传送给对应的硬件设备。、驱动程序运行在用户空间。、通过驱动程序可以从对应的硬件设备读取数据。.下列说法错误的是( C).ex动一个新进程,替换原有的进程,因此进程的P变。ex数组的参数传递有逐个列举和将整个参数构成指针数组传递两种方式。Cex函c数组第六位为,表示指定当前进程所使用的环境变量。.ex函数组中ar和en数组忘记以NU结尾了,此时errno置为EFAULT.下列( )函数是动态分配一个主设备号。.intregister_chrdev_region(dev_tfirst,unsig.intlloc_chrdev_region(devedtminor,unsignedhar*namdunregister_chrdev_region(dev_tfirs.void*kmalloc(size_tsize,intflags);.设备驱动程序中动态开辟内存时,调用函数().malloc()aBlalieof().下列说法错误的是(D).循环服务器在同一个时刻只可以响应一个客户端的请求.并发服务器在同一个时刻可以响应多个客户端的请求.U环服务器对于每一个客户机的请求总是能够满足。.T环服务器一次能处理多个客户端的请求。下面对于块设备和字符设备的说法中不正确的是(C)、块设备以块为单位接收输入和返回输出,而字符设备以字节为单位。、块设备对于I求有对应的缓冲区,因此它们可以选择以什么顺序进行响应,字符设备无需缓冲且可被直接读写。、字符设备没有次设备号。、字符设备只能顺序读写,而块设备可以随机访问。.关于设备驱动说法错误的是( ).Li程序通过设备文件来使用驱动程序操作字符设备和块设备。.主设备号用来标示与设备文件相连的驱动程序;.使用MINOR(De分解出主设备号。.字符设备和块设备都有主、次设备号。下列哪一项不是匿名管道的特点()、匿名管道中的数据是单向流动的。、匿名管道没有名字。、匿名管道存在于文件系统中。、只能通过写端口向匿名管道中写入数据。.Kill原型为int_t pid,;个igno<-1()发送信号给进程I为p进程;发送信号给进程组I和该进程相同的进程;发送信号给进程组内进程I为p绝对值的进程;发送信号给系统的所有进程;pid可能选择有以下四种:.零时,p信号欲送往的进程的标识。.零时,信号将送往所有与调用kil的()进程属同一个使用组的进程。.-时,信号将送往所有调用进程有权给其发送信号的进程,除了进程1(iit).-时,信号将送往以-p组标识的进程。.下面关于vfo()r的说法错误的是( B.vfo子进程一定比父进程先运行。.fork()子进程一定比父进程先运行。.vfo子进程完全共享父进程的地址空间。.fork()子进程完全共享父进程的地址空间。下列关于互斥锁的说法中不正确的是( )、互斥锁是用一种简单的加锁方法来控制对共享资源的原子操作。、互斥锁只有两种状态,也就是上锁和解锁,可以把互斥锁看作某种意义上的全局变量。、互斥锁可以分为快速互斥锁、递归互斥锁和检错互斥锁。、在同一时刻可以有多个线程掌握某个互斥锁,拥有上锁状态的线程能够对共享资源进行操作。下面哪种通信方式适用于不同机器之间的进程通信( D).消息队列B共享内存.信号量套接字.函数getp什么()得到父进程ID得B当前进程ID效用户ID组DD下列哪种进程间通信机制是在软件层次上对中断机制的模拟(C、匿名管道。消息队列。信号。当父进程调用wawai能发生()、该父进程下所有正在运行的子进程立即终止运行。、如果一个子进程已经终止,正等待父进程获取其终止状态,则取得该子进程的终止状态立即返回。、如果没有任何子进程,则立即出错返回。D如果所有子进程都在运行,则父进程阻塞。当一个线程的detac(该线程结束时立即释放它所占有的系统资源。、PTHREAD_CREATE、PTHREAD_CREATE_DETACHED、PTHREAD_SCOPE_、PTHREAD_SCOPE_PROCESS下面哪种通信方式只能用于具有血缘关系的进程间通信()、共享内存B匿名管道C信号量套接字、共享内存。创建或打开消息队列的函数为()、msggesgnsgcsgtl().配置a台内核的命令(A ).makemenugmenuconfigARCH=arm.makebzImakeuImageARCH=arm CROSS_COMPIL加载驱动程序模块的命令为().insmrmlmod D. modinfo.将交叉编译工具arm-linux-gcc解压到.2.tar.gz).tarxvzarm-linux-gcc-–C3/2.tar.Bz.tarxjvfarm-linux-gcc–C./.2.tar.gz.tarxvfarm-linux-gcc-4.3.2.tar.gztarxjvfarm-linux-gcc-4.3.2.tar.gzpar.下列关于条件变量的说法中不正确的是()、通常条件变量和互斥锁同时使用。、条件变量是利用线程间共享的全局变量进行同步的一种机制。条件变量不用进行初始化操作就可以直接使用条件变量必须进行初始化操作才能使用。在li系统中,下列哪个目录中的内容只保存在内存中,而不占用外存空间(C./bi./t./roc D. /boot.下列说法错误的是(D).Fl器的擦写次数是有限的,NA存还有特殊的硬件接口和读写时序。.Jf用于NRfl读写、支持数据压缩的日志型文件系统。.yaffs/是专为型flash计的一种日志型文件系统。.Cra种可读写的压缩文件系统,运行时解压缩,并要求被拷到R去。文件系统是专门针对闪存设计的只读压缩的文件系统.li中加载模块的命令是哪个?( C).lsmodmoBinfinsmrmod.Ki数原型为int_tpid,int一sigpid&时,表示(B).发送信号给进程组I和该进程相同的进程;.发送信号给进程I为p进程;.发送信号给进程组内进程I为p绝对值的进程;.发送信号给系统的所有进程.关于进程间通信下列说法错误的是(B)。。的rri等。。.关于信号下列说法错误的是(B)有kiia(paue().ra以向自身发送信号,也可以向其他进程发送信号。.alarm为闹钟函数,一个进程只能有一个闹钟时间。.当系统捕捉到某个信号时,可以忽略该信号或是使用指定的处理函数来处理。.关于消息队列下列说法错误的是(D).消息队列就是一个消息的列表,可以从中添加消息、读取消息等。.消息队列中创建或打开消息队列使用的函数是msget.添加消息使用的函数是.从消息队列读取消息与

msg函数,它把消息添加到已打开的消息队列末尾。F的是,也遵循先进先出原则。.关于驱动程序,下列说法错误的是(D ).驱动程序提供对设备初始化和释放的功能。.通过驱动程序可以把数据从内核传送给对应的硬件设备。.通过驱动程序可以检测和处理硬件设备出现的错误。.当用户进程调用驱动程序时,系统仍然运行在用户态。.下列(A )选项可以分解出主设备号。.MAev_)dev .MIv_)dev.MKDEVr) .MINOR(iode->i_rdev).关于说法错误的是(D).UDP供不可靠的非连接型传输层服务。.T提供端口编号的译码,以识别主机的应用程序,而且完成数据的可靠传输。.T议具有严格的内装差错检验算法确保数据的完整性。.T行速度比U。.下列哪个命令可以查看已安装的设备的主设备号(A)cat/proc/devices Bls/dev/test Ccat/e.下列说法错误的是( ).循环服务器在同一个时刻只可以响应一个客户端的请求。.并发服务器在同一个时刻可以响应多个客户端的请求。.T环服务器一次能处理多个客户端的请求。.U环服务器对于每一个客户机的请求总是能够满足。下面对于块设备和字符设备的说法中不正确的是(C).块设备以块为单位接收输入和返回输出,而字符设备以字节为单位。.块设备对于I求可以选择以什么顺序进行响应。.字符设备是以字节为单位进行输入输出的,可以随机访问。.字符设备和块设备都有主、次设备号。.intelecmaxd_*readfds*writfe_exceptfds,structtimeval列*timeout).ma至少比待检测的最大文件描述符大。.参数exce例外条件监控的文件描述符集。.正常情况下,返回值为满足要求的文件描述符个数。.经过了tim仍无文件满足要求,返回值为-1.将交叉编译工具arm-linux-gcc解压到.2.tar.gzA).tarxvzarm-linux-gcc-–C3/2.tar.Bz.tarxjvfarm-linux-gcc–C./.2.tar.gz.tarvfrm-linux-gcc–C/3jgz-linux-gcc-4.3..编译a台内核的命令( ).makemenugmeBuconfigARCH=arm.makebzImakeuIDageARCH=armCROSS_COMPIL.下列主要使用NAfl件系统的是( ).JFFS2.Yaffs.Crams.NF)D.类( ).makec基于文本模式的交互式配置。.makeme的菜单型配置。.makeol:使用已有的配置文件(.co问新增的配置选项。.make置需安装图形化系统。.关于内核模块下类说法错误的是( D).内核模块本身并被编译进内核文件(zIgbzIm。ge).模块加载函数通过modult.模块卸载函数通过modult.加载模块的命令是rm载模块的命令是ins,显示模块的命令是lsod.关于无名管道,下列说法错误的是( B).它只能用于具有亲缘关系进程之间的通信。.它是一个全双工的通信模式,两端都可以读写。.使用pi数创建管道,再通过fo数创建子进程,该子进程继承父进程所创建的管道,父子进程关闭相应不用的端口就可以建立通信的管道。.数据被一个进程读出后,将被从管道中删除,其它读进程将不能再读到这些数据。.关于信号下列说法错误的是( C).发送信号的函数主要有kiia(pause()..Ki可以向自身发送信号,也可以向其他进程发送信号。.alarm为闹钟函数,一个进程可以有多个闹钟时间。.当系统捕捉到某个信号时,可以忽略该信号或是使用指定的处理函数来处理该信号。.关于消息队列下列说法错误的是( C).消息队列就是一个消息的列表,用户可以从消息队列种添加消息、读取消息等。.消息队列中创建或打开消息队列使用的函数是msget.读取消息使用的函数是.添加消息使用的函数是

msg与cF的是,也遵循先进先出原则。msg函数,它把消息添加到已打开的消息队列末尾。.关于多线程下列说法错误的是( ).编写Linux多线程程序需要使用头文件pthre连接时需要使用库libpthread..hel多线程的程序,编译命令为gcchello.c-ohello.线程自己调用pthrea出。.线程的正常退出方式包括线程从启动例程中返回。.关于说法错误的是( C).UDP供不可靠的非连接型传输层服务,它允许在源和目的地之间传送数据。.T重要的传输层协议,目的是允许数据同网络上的其他节点进行可靠的交换。.U议具有严格的内装差错检验算法确保数据的完整性。.U无连接的,不可靠的传输服务,它执行速度比T。.下列说法错误的是( ).循环服务器在同一个时刻只可以响应一个客户端的请求.并发服务器在同一个时刻可以响应多个客户端的请求.U环服务器对于每一个客户机的请求总是能够满足。.T环服务器一次能处理多个客户端的请求。.关于设备驱动说法错误的是( C).Li程序通过设备文件来使用驱动程序操作字符设备和块设备。.主设备号用来标示与设备文件相连的驱动程序;.使用MINOR(De分解出主设备号。.字符设备和块设备都有主、次设备号。.下列( A)函数是静态申请一个主设备号。.intregister_chrdev_region(dev_tfirst,unsig.intlloc_chrdev_region(devedtminor,unsignedhar*name);.voidunregister_chrdev_region(dev_tfirst,un.void*kmalloc(size_tsize,intflags);.下列关于字符设备和块设备说法错误的是( ).字符设备是一种按字节来访问的设备。.块设备只能以块为单位接受输入和返回输出。.字符设备对于I求要求有对应的缓冲区。.字符设备只能被顺序读写,而块设备可以随机访问。下面关于vfok()r的说法错误的是( B).vfo子进程一定比父进程先运行。.fo子进程一定比父进程先运行。.vfo子进程完全共享父进程的地址空间。.for产生的子进程复制父进程的代码段和堆栈段。名词解释及简答:.BootLoaderLoa在操作系统内核运行之前运行的一段小程序通过这段小程序我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。.什么是共享内存?共享内存实现的两个步骤是什么?共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。共享内存实现分为两个步骤:()创建共享内存,使用shm;()映射共享内存,将这段共享内存映射到具体的进程空间去,使用sh。.简述t务器和客户端的编程步骤。基于TCP-端()创建一个socket数socket()()绑定I地址、端口等信息到soc用函数bin()()设置允许的最大连接数,用函数listn()()接收客户端上来的连接,用函数acce;t()()收发数据用函数sen和recv或者red()ite()()关闭网络连接。基于TCP-端()创建一个soc,sock;t()()设置要连接的对方的I地址和端口等属性;()连接服务器,用函数conne;t()()收发数据,用函数sen和ecv(者red()it;()()关闭网络连接。. VFS(VirtualFilesystem)是一个内核软件层用来处理与UN准文件系统相关的所有系统调用其强壮性表现在能为各种文件系统提供一个通用的接口。通过这组接口,用户就可以将系统中的文件视为统一的V件,而不必关心其具体的文件系统是什么样的。.有了进程为什么还要引入多线程?()和进程相比,它是一种非常“节俭”的多任务操作方式。在Li下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种“昂贵”的多任务工作方式。()程间方便的通信机制。对不同进程来说,它们具有独立的数据空间,要进行数据的传递只能通过进程间通信的方式进行,这种方式不仅费时,而且很不方便。线程则不然,由于同一进程下的线程之间共享数据空间,所以一个线程的数据可以直接为其它线程所用,这不仅。 任:()使多C统更加有效。操作系统会保证当线程数不大于C目时不同的线程运的C上。()改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立。:#include#include

<stdio.h><unistd.h>main()("using_exit....");("canyouseethis?");_ex若改为exit(): using_exit....三)#include#include#include

<stdio.h><unistd.h><stdlib.h>main(intargc,char*argv[])num=2;intpid;pid=fork();if(pid<0)("forkerror!");0;rif(pid==0)("num:%d",num);(0);(2);("num:%d",num);答案:num:3:2四)#include#include#include

<pthread.h><stdio.h><stdlib.h>cleanup(void*arg)*thr_fn(void*arg)main()_ttid;voidtret;pthread_create(&t*)1);LL,pthread_cleanup_push(cleanfirstuotpush")pthread_cleanup_push(cleanup,"terend push");pthread_cleanup_pop(1); pthread_cleanup_pop(1); prin%s",(char*)arg);return0;pthread_join(tid,&tret);;return0答案::threadsecondpush:threadfirstpush(五)#include#include#include

<stdio.h><stdlib.h><unistd.h>main()*env[]="PATH=/usr"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论