11月ATI(下属AMD)笔试题及答案

上传人:亦*** 文档编号:253508066 上传时间:2022-02-13 格式:DOC 页数:7 大小:21KB
返回 下载 相关 举报
11月ATI(下属AMD)笔试题及答案_第1页
第1页 / 共7页
11月ATI(下属AMD)笔试题及答案_第2页
第2页 / 共7页
11月ATI(下属AMD)笔试题及答案_第3页
第3页 / 共7页
11月ATI(下属AMD)笔试题及答案_第4页
第4页 / 共7页
11月ATI(下属AMD)笔试题及答案_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《11月ATI(下属AMD)笔试题及答案》由会员分享,可在线阅读,更多相关《11月ATI(下属AMD)笔试题及答案(7页珍藏版)》请在金锄头文库上搜索。

1、XX年11月ATI(下属AMD)笔试题及答案 ATI笔试题共有8个题目: 1:windows API里面用于线程同步的有哪些? 答案:共有12个API 1) 临界区共有五个API (1)InitializeCriticalSection 此函数用于设置临界区对象,即对临界区对象初始化。该函数必须在执行EnterCriticalSection前调用。单个进程的线程可以为互斥同步使用临界区对象。进程负责分配临界区对象使用的内存,可以通过对CRITICALSECTION类型变量的定义和使用来实现。 (2)EnterCriticalSection 此函数用于等待指定的临界区对象的所有权。授予调用线程所

2、有权后,该函数返回,临界区对象在单个进程的各线程内强制互斥同步。在线程拥有临界区对象以后,对同一个临界区对象应调用EnterCriticalSection函数,防止发生死锁。在退出临界区后用LeaveCriticalSe- ction函数使其他线程可以进入临界区。 (3)TryEnterCriticalSection 此函数用没有阻塞的方式试图进入一个临界区。假设函数调用成功,那么进展调用的线程拥有对临界区的所有权,否那么立即返回。 (4)LeaveCriticalSection 此函数用于释放对临界区对象的所有权。每次线程对同一个对象执行EnterCriticalSection或TryEnt

3、erCriticalSection都必须调用 LeaveCriticalSection函数。 (5)DeleteCriticalSection 此函数用于删除一个临界区对象,释放所有与不再为自己所控制的临界区对象有关的资源。一个临界区对象被删除,就不能再对其调用函数EnterCriticalSection,函数TryEnterCriticalSection和函数LeaveCriticalSection了。 2) 互斥和信号量共有7个API (1) CreateMutex 此函数用于创立命名或未命名的互斥对象。这些互斥对象用于进程同步,当互斥对象不为任何线程拥有时才处于信号态,否那么将处于非信号

4、态。假设要线程释放其所有权,那么线程在每次互斥对象处于非信号态时都调用函数ReleaseMutex。当不再需要互斥对象时可以使用函数CloseHandle来关闭互斥对象。当所有互斥对象的翻开句柄都关闭时,就删除互斥对象。 (2)OpenMutex 用于返回存在的已命名互斥对象的句柄。该函数允许多个进程翻开同一个互斥对象的句柄。该函数的调用一定要在函数CreateMutex创立互斥对象之后,当不需要句柄时可以调用CloseHandle函数。 (3)ReleaseMutex 此函数用于释放互斥对象。假设函数调用成功,互斥对象处于信号态。 (4)CreateSemaphore 此函数用于创立已命名或

5、未命名的信号量对象,信号量用计数器实现同步。每次取信号量时(可利用函数WaitForSingleObject来取),信号量计数器递减;每次ReleaseSemaphore释放信号量值时,信号量计数器递增。计数永远不会小于0或大于在lSemMaxCount参数中定义的值。 (5)OpenSemaphore 用于翻开一个已经存在的命名的信号量对象。该信号量必须是函数CreateSemaphore创立的。如果不再需要时,可以用函数CloseHandle关闭返回的句柄。 (6)WaitForSingleObject 此函数仅当在参数列表中指定的对象处于信号态或超过了超时间隔时,该函数才返回。 (7)R

6、eleaseSemaphore 用来递增信号量的计数。对于CreateSemaphore函数创立的对象使用,计数可以到达设定的最大计数值。 2: windows内核内存分为paged memory和 nonpaged memory,请问有什么区别? 答案: paged memory:是指可以分页的内存,可以交换到硬盘文件上。 Nonpaged memory:不可分页,也就是不能交换到硬盘文件上。有些内存,比方驱动程序,内核代码是不允许交换出去的,应该常驻内存,就使用nonpaged memory。 3:请问什么情况下,cache中只放指令(数据直接从存储器存取)比cache中放数据和指令的效率

7、高? 答案:计算密集型 cache中只放指令(数据直接从存储器存取)比cache中放数据和指令的效率高,可以充分利用指令的局部原理。 4:RISC和CISC等其他指令集相比有哪些优点,请至少举出5个。 答案: (1)寻址方式少且简单,一般为23种,最多不超过4种,绝不出现存储器间接寻址方式。 (2)指令集中的指令数目一般少于100种,指令格式一般少于4种。 (3)指令功能简单,控制器多采用硬布线方式,以期更快的执行速度。 (4)平均而言,所有指令的执行时间为一个处理时钟周期。 (5)指令格式中用于指派整数存放器的个数不少于32个,用于指派浮点数存放器的个数不少于16个。 (6)强调通用存放器资

8、源的优化使用。 (7)支持指令流水并强调指令流水的优化使用。 5:选择题:如果两个节点x,y,preorder遍历,x在y之前,postorder遍历,x在y之后,请问x,y的关系为: A x是y的左兄弟 B x是y的右兄弟 C x是y的祖先 D x是y的后裔 答案:C 6:请问下面程序如果运行会出现什么结果?如果有错误请指出并改正。 include include class mystring public: mystring() mstr=NULL; mystring(mystring& str) if(mstr!=NULL) delete mstr; mstr=new charstrle

9、n(str.mstr); strcpy(mstr,str.mstr); mystring & operator=(const char *str) if(mstr!=NULL) delete mstr; mstr=new charstrlen(str)+1; strcpy(mstr,str); mystring() if(mstr!=NULL) delete mstr; private: char *mstr; ; int main() mystring str1; str1=hello world; mystring str2; str2=str1; mystring str3=str2;

10、return 0; 答案: 程序运行会出现内存释放错误 错误共有四处,分别在下面改正的代码中标出。 include include class mystring public: mystring() mstr=NULL; mystring(mystring& str) /*if(mstr!=NULL) delete mstr; */ /错误1,因为mstr没有被初始化,所以此处可能为NULL,也可能不为NULL,如果不为null,那么会出错,因为mstr是一个随机的值。 mstr=new charstrlen(str.mstr)+1; /错误2:长度应该1 strcpy(mstr,str.ms

11、tr); mystring & operator=(mystring& str) /错误3:缺少赋值重载函数 if(mstr!=NULL) delete mstr; mstr=new charstrlen(str.mstr)+1; /错误2:长度应该1 strcpy(mstr,str.mstr); mystring & operator=(const char *str) if(mstr!=NULL) delete mstr; mstr=new charstrlen(str)+1; strcpy(mstr,str); mystring() if(mstr!=NULL) delete mstr;

12、 /错误4:析构函数中,应该析构数组 private: char *mstr; ; int main() mystring str1; str1=hello world; mystring str2; str2=str1; mystring str3=str2; return 0; 7:100个乒乓球取胜之道,A,B两个人轮流拿,A先拿,一次只能拿1,5个,获胜者为拿到最后一个球的人。请问A第一次该拿几个?以后又该怎么拿,才能够确保获胜? 答案:A先拿4个,然后B拿,设B拿x个,那么每次A拿6-x个即可。 8:有编号150的人,依次排列,然后单号出列,然后剩下的人重新编号,单号出列,依次类推,最后剩下一个人,请问这个人原来编号是多少号?如果是每一次双号出列,请问这个人原来编号是多少? 答案:单号出列:32号 双号出列:1号

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号