版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式操作系统应用技术开发复习题附标准答案嵌入式操作系统应用技术开发复习题附标准答案PAGEPAGE15嵌入式操作系统应用技术开发复习题附标准答案PAGE1、简述Linux操作系统拥有的特质。答:开放的源代码,优秀的兼容性,齐全的帮助理册页,优秀的采集支撑支撑多用户多任务多办理器支撑多种文件系统,独到的挂载方式保证数据的安全性将运用次澄彻的中心完成为库,可重用性优秀采用模块化分层的次澄彻策划方式,可靠易保护将设施等所有都看做是文件,供给一致的文件操作接口对设施等进行操作2、解说POSIX。答:POSIX表示可移植操作系统接口,能够提高UNIX情况下运用次澄彻的可移植性。POSIX规范界说了规范
2、的API,只假如符合这一规范的运用次澄彻,就能够够在多种操作系统中运行。矚慫润厲钐瘗睞枥庑赖。3、解说通用公共同意证GPL。答:GPL保证软件对所合用户来讲是自在的。依据GPL的软件供给给用户时必要供给源码,一旦用户得到依据GPL的软件,就能够够对其任意地改写,修正此后假如要供给给其他人也必要依据GPL,并开放源码,同意被修正。聞創沟燴鐺險爱氇谴净。4、Linux系统下,常常使用的在线帮助文件有哪些?答:1、man学习手册2、info学习手册3、How-To文件。5、Linux系统下进行C次澄彻开发的首要两个规范。答:1、ANSIC规范2、POSIX规范。6、正常Linux系统调用函数,假如实
3、行成功将返回什么值?假如实行失败将返回什么值?并对哪一个系统所有变量进行赋值,以指导详细的过失情况。残骛楼諍锩瀨濟溆塹籟。答:成功时返回为0,不可以够功时正常返回-1,也或许返回一些非0值。失败时将会在所有变量errno中赋值指导过失品种酽锕极額閉镇桧猪訣锥。7、画出Linux函数库调用和系统调用的表示图,简单说明系统调用(API)函数的功能。答:运用次澄彻库函数系统调用内核硬件设施API是操作系统和用户次澄彻之间的接口,运用次澄彻经过API与操作系统进行通讯,使用操作系统供给的服务。API同时保证了操作系统数据和次澄彻的安全性。彈贸摄尔霁毙攬砖卤庑。因此,API供给给用户安全地使用操作系统供
4、给的服务。8、简单说明在Linux次澄彻开发经过中,利用GCC工具将C语言次澄彻编译成一个可实行次澄彻言件的四1/10个序次。答:1、预办理2、编译3、汇编4、连接9、解说gcc工具的o、c、I、L、l等5个参数的功能功能。答:o:把文件送出到output_filename,c:只编译,不连接I:L:在库文件的搜寻路径列表中增添dirname目录l:謀荞抟箧飆鐸怼类蒋薔。-ofile指定送出文件为file-c预办理,编译,汇编源文件,可是不做连接,发生.o(OBJ)文件-Idirname在头文件的搜寻路径列表中增添dirname目录-Ldirname在“-I”的搜寻目录中增添dirname目录
5、,在连接库文件时候使用-lname假如一个库文件的称呼为“libname.a”,次澄彻实行时若要连接这个库文件,就要使用该选项进行连接,简单库名中的前缀“lib”和后缀“.a”厦礴恳蹒骈時盡继價骚。10、可实行次澄彻言件在积蓄时(没有调入到内存)分为几部分,说明各段的首要内容。答:1、可实行代码区(text):存放CPU实行的机器指令。2、已初始化数据区(data):包括了在次澄彻中已经被初始化的所有变量和静态变量。3、未初始化数据区(bss):未初始化的所有变量和静态变量,在次澄彻开始实行从前被内核初始化为0或空指针。茕桢广鳓鯡选块网羈泪。11、可实行次澄彻言件调入到内存发生进度后,分为几个
6、积蓄地域,说明各地域的首要内容与功能。答:前三个与10中内容同样4、堆区:用于动向内存分配5、栈区(heap):由编译器自动分配释放,存放函数的参数值、返回值、局部变量等。鹅娅尽損鹌惨歷茏鴛賴。12、Linux系统下,用C语言编程,进行文件办理,有哪两类函数可用?试比较两类函数的优弊端。答:ANSIC优点:1.拥有丰富的函数可供使用。2.直接对内存缓冲区进行操作,能够高效的写任意长度的数据块,在数据长度知足要求时部署基层系统调用,变低的系统的开支且没有数据块大小的限制,整体的效率要比直接对硬件操作的系统调用高3.拥有更好的兼容性籟丛妈羥为贍偾蛏练淨。弊端:对系统调用进行封装,因此使用时会在库函
7、数中再调用系统调用,就一次读写同样的数据来讲,效率比系统调用要低預頌圣鉉儐歲龈讶骅籴。POSIX优点:在类UNIX等系统中有很好的可移植性,能够直接设置对硬件的控制弊端:1.使用时会影响系统性能,假如一次只存取很少的内容,效率会很低2.硬件会限制对基层系统调用一次能读写的数据块大小,假如数据很小,会留住空隙。3.兼容性不是很好渗釤呛俨匀谔鱉调硯錦。13、Linux系统中,系统默以为每一个进度翻开了几个个文件?即每一个进度能够直接操作哪几个流?答:3个,STDIN_FILENO规范送入文件,STDOUT_FILENO规范送出文件,STDOUT_FILENO规范错误文件。每一个进度能够直接操作ST
8、DIN:规范送入流,STDOUT规范送出流,STDERR:规范过失送出流。铙誅卧泻噦圣骋贶頂廡。14、规范送入送出设施的文件描绘符和文件流指针辩白是什么?文件流指针与文件描绘符有什么差异?答:使用系统调用open()成功返回一个文件描绘符,文件描绘符是所有翻开的文件都被分配一个独一非负整数用于表示该翻开的文件,内核经过文件描绘符对文件进行操作。擁締凤袜备訊顎轮烂蔷。文件流指针:在操作一个文件时要翻开该文件使用ANSIC库函数fopen翻开一个文件后返回一个文件流指针与该文件关系,所有对该文件的读写操作都能够经过该指针流完成。在Linux中,文件流指针中封装2/10了文件描绘符,才能使经过文件流
9、指针对文件操作成为或许。贓熱俣阃歲匱阊邺镓騷。15、Linux文件品种,在shell运用层面用ls-l检察命令不同样样品种的文件辩白展现什么内容?答:文件的品种,文件权限,应连接个数,拥有者,拥有者所在组,文件大小,最后一次修正时间。文件品种表记:目录文件d,一般文件f,字符设施文件c,块设施文件b,管道文件p,链接文件l,socket文件s16、在Linux某个文件系统下,文件属性中独一表记某个文件的是什么?独一表记一个翻开的文件是什么?答:索引节点,文件描绘符。17、lslc,-lu,-lt辩白列出的是什么时间?答:lc:最后一次修正i结点时间.-lu:最后一次接见时间.-lt:最后一次修
10、正内容时间18、一个文件设置了setuid位,该可实行文件在实行时有什么首要的影响。答:会使得拥有实行该文件权限的用户实行该文件时,即便不是文件所有者也会使用文件所有者的权限。19、一个常例文件的大小能够为0(st_size字段界说),那么目录和符号连接的长度可否能够为0?答:不为0.由于每当目录文件成立刻,会自动发生两个“.”开头的隐含文件,符号链接,文件包括着另一个文件的路径名。坛摶乡囂忏蒌鍥铃氈淚。20、Linux系统下,进度完成的方式有哪几种?答:1.在本进度或许其他进度中使用kill()调用发送SIGKILL信号。2.进度运行经过中遇到内存段矛盾,非法指令等过失,由操作系统发送相映的
11、信号停止进度。3.进度实行到return或许调用exit()或许运行到最后自然完成。4.实行exec类函数实行新的进度蜡變黲癟報伥铉锚鈰赘。21、Linux系统下,线程完成的方式有哪几种?答:1、调用pthread_exit()撤出。2、调用pthread_cancel函数取消该线程。3、成立线程的进度撤出或许所有函数完成。4、其中的一个线程实行了exec类函数实行新的进度。5.线程调用pthread_exit()或许实行到return或许实行完成自然停止。6.线程实行中出错由系统停止買鲷鴯譖昙膚遙闫撷凄。22、线程间通讯的系统有哪几种?答:1.信号量2.互斥量3.共享所有变量23、进度间通讯
12、的系统有哪几种?答:本田主机通讯:1.信号2.信号量,信息队列,共享内存3.管道(包括出名管道和无名管道)4.共享内存綾镝鯛駕櫬鹕踪韦辚糴。采集通讯:1.socket2.rpc24、画出头向连接的(TCP)socket通讯模型,并讲解说明其中首要的socket函数。答:3/10read/recvwrite/sendread/recvwrite/sendsocket():成立一个socket,看作通讯的一个端点bind():为socket命名,假如成立的AF_INET套接字将其关系到一个IP端口号,假如AF_UNIX套接字将其关系到一个文件系统的路径名驅踬髏彦浃绥譎饴憂锦。listen():成立
13、一个队列用来保留等待办理的连接accept():壅闭等待连接哀告,在有连接哀告时成立一个新的socket来与客户进行通讯recv()/read():接收数据send()/write():发送数据connect():用户经过在一个命名的或许未命名的socket和服务器的socket成立连接25、画出头向非连接的(UDP)socket通讯模型,并讲解说明其中首要的socket函数。4/10recvfromsendtorecvfromsendtosocket,bind26、Linux系统IO操作有哪几种方式?答:1、壅闭I/O2、非壅闭I/O3、多路选择I/O4、信号启动I/O27、字节布列序次有几
14、种方式?答:大端方式,小端方式采用大端方式将高位存放在低地址,小端方式将低位存放在低地址。采用大端方式进行数据存放符合人类的正常思想,而采用小端方式进行数据存放利于计算机办理。猫虿驢绘燈鮒诛髅貺庑。28、POSIX规范下,文件办理的基本操作函数有哪些?5/10答:open翻开文件close关闭文件read()从文件或设施中读读数据write()向文件或许设施中写数据fcntl():传达控制信息到设施启动次澄彻锹籁饗迳琐筆襖鸥娅薔。编程29、怎样使用ANSIC规范库,完成文件拷贝操作。答:假如要从file.in文件中拷贝数据到file.out中#include#includeintmain()i
15、ntc;FILE*in,*out;/界说两个文件流指针in=fopen(file.in,r);/in与file.in文件关系,使用只读方式翻开構氽頑黉碩饨荠龈话骛。out=fopen(file.out,w);/out与file.out文件关系,用只写方式翻开輒峄陽檉簖疖網儂號泶。while(c=fgetc(in)!=EOF)fputc(c,out);/凡是循环从file.in中用fgetc()读出一个字符放到c中,再从c中写入到file.out。假如没有读到文件尾(EOF),就连续下一次循环尧侧閆繭絳闕绚勵蜆贅。exit(0);30、怎样使用POSIXIO库,完成文件拷贝操作。答:#inclu
16、de#include#include#include#includeintmain()intc50;/暂存从file.in中读出的字符intin,out;intnread;/存放read()返回值,即成功读取的字符数in=open(file.in,O_RDONLY);/以只读方式翻开file.inout=open(file.out,O_CREAT|O_WRONLY,S_IRUSR|S_IWRUSR);/以只写方式翻开file.out,假如该文件不存在,就使用所有者可读可写的方式成立它识饒鎂錕缢灩筧嚌俨淒。while(nread=read(in,c,50)0)/哀告从file.in中读取50个字
17、符放入c中,并返回实质读取的字符数放入nread中凍鈹鋨劳臘锴痫婦胫籴。write(out,c,nread);/将c中的合用字符写入file.out,假如还有字符未读出,循环,假如返回值为0(即已经读完了所有字符),撤出循环恥諤銪灭萦欢煬鞏鹜錦。6/10if(nread0)/假如返回值为-1,出现过失,在终端送出“read()error!”鯊腎鑰诎褳鉀沩懼統庫。write(2,read()error!,13);exit(0);31、怎样编程完成文件夹的拷贝。答:/*送入式样如./cpfilefile1file2*/#include#include#include#include#include
18、#include#include#include#include#include#defineBUFSIZE1024#definePERMS0666#defineDUMMY0intcpfile(char*source_file,char*target_file)intsource,target,num;chariobufferBUFSIZE;if(source=open(source_file,O_RDONLY,DUMMY)=-1)printf(Sourcefileopenerror!n);return1;if(target=open(target_file,O_WRONLY|O_CREAT,
19、PERMS)=-1)硕癘鄴颃诌攆檸攜驤蔹。printf(Targetfileopenerror!n);return2;while(num=read(source,iobuffer,BUFSIZE)0)if(write(target,iobuffer,num)!=num)printf(Targetfilewriteerror!n);return3;close(source);close(target);return0;intcpdir(char*source_dir,char*target_dir)DIR*source=NULL;DIR*target=NULL;structdirent*ent=
20、NULL;charname1100,name2100;source=opendir(source_dir);mkdir(target_dir,S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH);target=opendir(target_dir);if(source!=NULL&target!=NULL)while(ent=readdir(source)!=NULL)if(strcmp(ent-d_name,.)!=0strcmp(ent-d_name,.)!=0)阌擻輳嬪諫迁择楨秘騖。strcpy(name1,0);strcat(name1,source_dir);7/10st
21、rcat(name1,/);strcat(name1,ent-d_name);strcpy(name2,0);strcat(name2,target_dir);strcat(name2,/);strcat(name2,ent-d_name);if(ent-d_type=4)cpdir(name1,name2);if(ent-d_type=8)cpfile(name1,name2);closedir(source);closedir(target);return0;intmain(intargc,char*argv)cpdir(*(argv+1),*(argv+2);return0;写一成立(f
22、ork)新进度的次澄彻,利用管道系统,实现在子进度中写入数据,在父进度中读出数据。答:#include#include#include#includeintmain()intdata_processed;intfile_pipes2;/管道的描绘符constcharsome_data=123;/存放将要传输的数据charbufferBUFSIZ+1;/stdio.h中已经界说的BUFSIZ大小为8K氬嚕躑竄贸恳彈瀘颔澩。pid_tfork_result;memset(buffer,0,sizeof(buffer);/buffer空间初始化0釷鹆資贏車贖孙滅獅赘。if(pipe(file_pip
23、es)=0)fork_result=fork();if(fork_result=-1)fprintf(stderr,Forkfailure);exit(EXIT_FAILURE);/子进度从管道中读出数据放到bufferr中if(fork_result=0)data_processed=read(file_pipes0,buffer,BUFSIZ);怂阐譜鯪迳導嘯畫長凉。printf(Read%dbytes:%sn,data_processed,buffer);谚辞調担鈧谄动禪泻類。exit(EXIT_SUCCESS);/父进度往管道中写入数据elsedata_processed=write(
24、file_pipes1,some_data,strlen(some_data);嘰觐詿缧铴嗫偽純铪锩。printf(Wrote%dbytesn,data_processed);exit(EXIT_SUCCESS);32、编程完成who|sort答:#include#include#include#include#include8/10#includeintmain(intargc,char*argv)if(fork()=0)intfds2;dup2(fds1,1);if(pipe(fds)=-1)close(fds0);execlp(who,who,(char*)0);perror(pipe);exit(EXIT_FAILURE);elseif(fork()=0)close(fds0);close(fds1);charbuf128;wait(NULL);dup2(fds0,0);wait(NULL);close(fds1);/mustinclude,orblockexeclp(sort,sort,(char*)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024生活垃圾运输合同范本-农村生活垃圾处理项目3篇
- 2024苗木运输途中保险理赔及应急处理服务合同2篇
- 2025年度金融机构小微企业委托贷款借款合同范本3篇
- 2025年度水电安装与设备远程监控服务合同3篇
- 二零二五年度航空配件海洋货物运输保险及维修服务合同3篇
- 专用工程材料采购协议2024版版A版
- 二零二五年度特色小镇存量房买卖居间服务协议3篇
- 2024版:古典家具修复与保养服务协议
- 二零二五年度股权代持合同:涉公司重组与并购协议3篇
- 小学数学竞赛中的问题解决能力提升
- 门诊发生火灾应急预案演练建议5篇,门诊发生火灾的应急预案
- 医疗废物转运工作制度
- 新编建筑施工扣件式钢管脚手架安全技术规范
- 三年级下册小猿口算题1000道
- 《古兰》中文译文版
- 井下机电安装安全教育培训试题及答案
- GB/T 4744-2013纺织品防水性能的检测和评价静水压法
- GB/T 24267-2009建筑用阻燃密封胶
- 劳动仲裁追加申请申请书(标准版)
- 决策的艺术课件
- 了不起的狐狸爸爸-全文打印
评论
0/150
提交评论