复习要点(答案)

上传人:s****a 文档编号:108194231 上传时间:2022-06-15 格式:DOCX 页数:11 大小:18.15KB
返回 下载 相关 举报
复习要点(答案)_第1页
第1页 / 共11页
复习要点(答案)_第2页
第2页 / 共11页
复习要点(答案)_第3页
第3页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
什么是“多道程序设计”技术?它对操作系统的形成起到什么作用?让多个计算问题同时装入一个计算机系统的主存储器并行执行;作用:操作系统在引入多道程序设计技术后,使得系统具有了多道的特性,宏观上并行,微观上串行的特点。使OS能更好地对计算机进行管理,使计算机的硬件资源得到更充分的利用尤其是CPU,从而提高OS的管理能力什么是“原语”、“特权指令”、“系统调用命令”和“访管指令”?它们之间有无一定的联系?原语:是由若干多机器指令构成的完成某种特定功能的一段程序,具有不可分割性特权指令:指具有特殊权限的指令。这类指令只用于操作系统或其他系统软件,一般不直接提供给用户使用。系统调用命令:系统调用是用户程序请求操作系统为其服务的惟一形式,在UNIX中把系统调用称为程序员接口访管指令:访管指令是一条可以在目态下执行的指令,用户程序中凡是要调用操作系统功能时就安排一条访管指令操作系统是如何处理源程序中出现的系统调用命令的?什么是操作系统的基本功能?进程同步,作业调度,内存管理,文件管理。硬件资源分配信号量上的P、V操作只是对信号量的值进行加1或减1操作吗?在信号量上还能够执行除P、V操作外的其他操作吗?一个计算机有6台磁带机,有n个进程竞争使用,每个进程最多需要两台。那么n为多少(nv=5)时,系统才不存在死锁的危险?n*(x-1)+1v=mn:进程数x:最多使用的资源数m:资源总数列出UCOS-II中实现互斥型信号量管理的所有函数,并且指明每个函数的用途。OS_EVENT*OSMutexCreate(INT8Uprio,INT8U*err);用途:实现创建互斥型信号量OS_EVENT*OSMutexDel(OS_EVENT*pevent,INT8Uopt,INT8U*err);用途:删除mutex;voidOSMutexPend(OS_EVENT*pevent,INT16timeout,INT8U*err)用途:实现等待一个互斥型信号量INT8UOSMutexPost(OS_EVENT*pevent)用途:实现释放一个互斥型的信号量INT8UOSMutexAccept(OSEVENT*pevent,INT8U*err)用途:实现检查互斥型信号量,以判断某共享资源是否可以使用;INT8UOSMutexQuery(OS_EVENT*pevent,OS_MUTEX_DATA*pdata);用途:实现获取某个mutex的信息;举例说明执行shell程序的方法。直接用sh命令执行:$shtest.sh使用source命令执行:$sourcetest.sh将文件改为可执行文件,直接执行$chmod+xtest.sh./test.sh什么是系统调用。所谓系统调用就是系统内核提供的、功能强大的一系列得函数,系统调用是在内核中实现的,把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序比较进程与程序的区别(1) 进程是动态的,而程序是静态的。进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。没有建立进程的程序不能作为1个独立单位得到操作系统的认可。(2) 1个程序可以对应多个进程,但1个进程只能对应1个程序。进程和程序的关系犹如演出和剧本的关系。LinuxSocket有几种类型,请列举?流式Socket(SOCK_STREAM)和数据报式SocketSOCK_DGRAM)。进程与线程的区别与联系?区别:1.进程在执行过程中拥有独立的内存单元,而多个线程共享内存;2.线程的划分尺度小于进程,使得多线程程序的并发性高3.独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制联系:进程和线程都是由操作系统所体现的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。请列出LinuxTCPsocket编程的流程?Client:socket()-connect()-send()-recv-close()Server:socket()-bind()-listen()-accept()-recv()-send()-recv-close()描述Linux中IPC包含几种进程间通信方式,分别是什么?信号量共享内存消息队列进程间如何通过信号量实现同步与互斥。进程通信中,信号量通过PV操作实现同步与互斥;P操作为S=S-1;表示申请一个资源,V操作为S=S+1;表示释放一个资源。互斥的实现:初始化信号量mutex=1;当进程进入临界区时执行P操作,退出临界区时执行V操作,从而实现互斥同步的实现:把信号想象成代表一个消息。当S=0表示消息未产生;当S0则表示消息已经产生,转换成消费者和生产者的问题,从而实现同步列出linuxSYSTEMVIPC中共享内存的主要的四个函数,并且指明每个函数的用途。intshmget(key_tkey,size_tsize,intshmflg);用途:创建一块共享内存void*shmat(intshmid,void*shmaddr,intshmflg);用途:shmat调用把参数shmid标识的内存段连到调用进程的一个有效地址上。intshmdt(void*shmaddr);用途:实现对共享内存的操作控制简述套接字的历史和发展。1982-BerkeleySoftwareDistributions操作系统引入了sockets作为本地进程之间通信的接口1986-Berkeley扩展了socket接口使之支持UNIX下的TCP/IP通信现在很多应用(FTP,Telnet,etc)都依赖这一接口说明TCP与UDP协议各自的优点和缺点,分别适用于什么应用。tcp需要先建立连接才能通话同时需要形成三路握手,因此信息传递的可靠性比较高,资源开销加大;UDP不需要以上TCP的两个条件,因此通信效率和实时性要高点,但可靠性不高;应用:UDP适用于一次只发送少量数据,对可靠性要求不高的应用环境;TCP的应用则相反UC/OS-II的所有功能模块实现的功能和提供的API函数名、参数、返回值等Linux中进程管理(Fork调用、exec调用)、文件、设备管理、内存管理、进程间通信机制(IPC)涉及到的系统调用和讲过或安排做过的程序等LinuxShell程序设计中讲过或者安排完成的程序。其中重占:丿、I二八、一个Linux程序,打开一个文本文件,并从该文件中读出一段数据osPART_IIIunix_pexamO6v2#includevunistdh#includevfcntlh#include#include#include#include#include#defineBUFFERSIZE128intmain(intargc,char*argv)intfrom_fd;size_tsize_read;charbufferBUFFERSIZE;if(from_fd=open(./rpm.txt,O_RDONLY)=-1)printf(arguments1wrong!nexit!n);exit(0);size_read=read(from_fd,buffer,BUFFERSIZE);if(size_read0)printf(contentofthefile:%s,buffer);close(from_fd);exit(0);在UCOS-II中有一个程序,需要一个任务专门管理一个消息队列,为其它任务提供打印服务,其它任务当需要在屏幕上打印字符串时往消息队列中发送消息,而本任务则等待消息队列中的消息,当有消息时取出并打印其包含的消息内容,如无消息则等待(阻塞)无使用流式Socke啲简单应用,它包括客户和服务器两个程序。服务器在某个端口进行监听。当客户同服务器建立连接后,服务器以发送回字符串“Hello!AreYouFine”作为响应。然后,客户程序结束运行,服务器继续进行监听。网络编程PROGRAMexam01在UCOS-II中有一个程序,有两个任务,通过消息邮箱进行通信,优先级为5的任务每隔500毫秒往邮箱中发一个消息,然后通过延时函数进入等待状态,优先级为8的任务等待邮箱中的消息,如果邮箱中没有消息则阻塞,获取了邮箱中的消息后,将消息的内容进行显示。osPART_ISOURCEOSMbox例子在Linux下,一个进程创建子进程的代码PART_IIIunix_pexamO4#include#include#include#includeintmain(intargc,char*argv)pid_tchild;printf(Iamtheparentprocess:%ldn,getpid();if(child=fork()=-1)printf(Forkerrorn);elseif(child=0)printf(Iamthechildprocess:%ldn,getpid();sleep(2);execl(/home/yangzl/unixC_p/for_exam04/main,NULL);printf(execliswrong!n);exit(0);elseprintf(Parentprocessagain!n);wait(NULL);printf(Parentprocessagainandagain!n);exit(0);下面的代码是一个服务程序,创建一个名为5678的共享存储区并连接到自己的地址空间。然后对该共享存储区写数据,写入小写的26个字母(a-z,数据写完后,进程等待直到客户进程读完数据,然后退出osPART_lllunix_pipcexam15shm_sc以下是一个shell程序,测试文件/home/shell/hello.c是否存在,如果存在则将其拷贝到/home/backup目录下,再在/home/shell目录下重新创建一个。#!/bin/sh#echopleasecreatefilehello.c!if-e/home/shell/hello.c;thenmv-f/home/shell/hello.c/home/backup/echobackupingoldfile!ficd/home/shelltouchhello.cechodone!exit0下面的代码是一个服务程序,创建一个名为1234的消息队列。然后根据用户输入的内容,往该消息队列发数据,当用户输入“end”,程序退出。以下是在UCOS-II中使用内存管理的一个示例程序,在主函数中创建一块内存区,一个任务从该内存区中获取一个内存块,进行读写后,释放该内存块。osPART_lSOURCEOSMemCreate在Linux中,用pthread库创建线程并等待其退出的程序。ospthreadexam001.c
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!