unic

Easter79
• 阅读 535

在线考试

答题剩余时间0小时51分18秒

考生须知

1.本次考试结束后,剩余补考次数:2次

2.考试时间为60分钟,超时系统自动交卷

3.本次考试满分100分(5*20道),60分通过考试

    (单选题)关于recv函数的介绍错误的为()

    •  A.recv函数是数据接收函数
    •  B.flags设置为MSG_DONTWAIT表示函数是阻塞方式接受数据
    •  C.函数有阻塞和不阻塞之分
    •  D.函数成功返回实际接收到的字节数,失败返回-1

    (单选题)共享内存的基本特点描述错误的为()

    •  A.两个或者多个进程共享的内存会映射在堆区和栈区之间
    •  B.多个进程通过共享内存通信时会把数据直接反映到同一块物理内存
    •  C.共享内存提供了足够的同步机制
    •  D.共享内存的进程间通信是速度最快的进程间通信方式

    (单选题)关于信号量的描述错误的为()

    •  A.信号量的本质就是一个由系统内核维护的全局计数器,
    •  B.信号量初值即资源总数
    •  C.已获得资源的线程在其不需要继续使用资源时,会释放手中的资源,令信号量计数器的值回升。
    •  D.信号量使用完毕后系统会自动销毁信号量并释放资源

    (多选题)线程都共享进程的哪些内容()

    •  A.栈区
    •  B.代码区
    •  C.文件描述符
    •  D.数据区

    (单选题)pthread_join函数的描述错误的为()

    •  A.线程过程函数中返回的指针如果指向动态分配的内存,则程序会自动释放内存
    •  B.等待线程终止并与之汇合,同时回收该线程的相关资源
    •  C.成功返回0,失败返回错误码
    •  D.若retval参数非NULL,则pthread_join函数将线程过程函数所返回的指针,拷贝到该参数所指向的内存中

    (单选题)void* shmat(int shmid,const void* shmaddr,int shmflg); 函数描述错误的为()

    •  A.函数用于卸载共享内存
    •  B.成功返回共享内存起始地址,失败返回-1
    •  C.内存地址一般置为NULL,由系统自动分配
    •  D.shmflg可以取0或者SHM_RDONLY或者SHM_RND

    (单选题)Linux系统中消息队列的限制正确的为()

    •  A.可发送消息字节数max:16384
    •  B.队列数据长度之和max:8192
    •  C.系统中消息队列数max:16
    •  D.系统中消息数总和max:262145

    (单选题)消息队列对比其他IPC机制的优势错误的为()

    •  A.流量控制
    •  B.面向记录
    •  C.状态过滤
    •  D.天然同步

    (单选题)int semget(key_t key,int nsems,int semflg); 函数描述错误的为()

    •  A.函数用于创建新的或获取已有的信号量集
    •  B.成功返回信号量集标识符,失败返回-1
    •  C.nsems是存储信号量个数
    •  D.semflg只能取0或者IPC_CREAT

    (单选题)下列代码中,哪段代码是实现TCP协议Server端等待客户端连接功能的()

    •  A.int sockfd = socket(PF_INET, SOCK_STREAM, 0); if(sockfd==-1)perror("创建socket失败"),exit(-1); struct sockaddr_in addr; addr.sin_family = PF_INET; addr.sin_port = htons(PORT); inet_aton("192.168.182.225", &addr.sin_addr);
    •  B.int sockfd = socket(PF_INET, SOCK_STREAM, 0); if(sockfd==-1)perror("创建socket失败"),exit(-1); struct sockaddr_in addr; addr.sin_family = PF_INET; addr.sin_port = htons(PORT); inet_aton("192.168.182.225", &addr.sin_addr);
    •  C.struct sockaddr_in fromaddr; socklen_t len=sizeof(fromaddr); int fd = accept(sockfd,(SA*)&fromaddr, &len); if(fd==-1)perror("失败"),exit(-1);
    •  D.char buf[100] = {}; if(read(fd, buf, sizeof(buf))<=0) perror("失败"); write(fd, "欢迎您", 14);

    (单选题)无名管道的描述错误的为()

    •  A.无名管道是一个与文件系统无关的内核对象,主要用于父子进程之间通信
    •  B.pipe成功返回1,失败返回-1
    •  C.pipe函数会输出两个文件描述符,一个用于读取数据,一个用于写入数据
    •  D.无名管道需要用专门的系统调用函数创建

    (单选题)阅读如下代码: int sockfd = socket(PF_INET, SOCK_DGRAM, 0); if(sockfd==-1)perror("socket创建失败"),exit(-1); //2.准备地址 (空白处) //3.绑定 int res = bind(sockfd, (struct sockaddr*)&addr, sizeof(addr)); if(res == -1)perror("绑定失败"),exit(-1); printf("绑写成功\n"); //4.通信 char buf[100] = {}; int len = read(sockfd, buf, sizeof(buf)); if(len<=0) perror("读取失败"),exit(-1); printf("读到%d字节的数据,内容是:%s\n",len,buf); //5.关闭 close(sockfd); 空白出应该填上的代码是:()

    •  A.struct sockaddr_un addr; addr.sin_family = PF_INET; addr.sin_port = htons(8888); addr.sin_addr.s_addr = inet_addr("192.168.182.225");
    •  B.struct sockaddr_un addr; addr.sin_family = PF_INET; addr.sin_port = htons(8888); addr.sin_addr.s_addr = "192.168.182.225";
    •  C.struct sockaddr_in addr; addr.sin_family = PF_INET; addr.sin_port = htons(8888); addr.sin_addr.s_addr = inet_addr("192.168.182.225");
    •  D.struct sockaddr_in addr; addr.sin_family = PF_INET; addr.sin_port = htons(8888); addr.sin_addr.s_addr = "192.168.182.225";

    (单选题)阅读如下代码: void* task(void* p){ int* pi = (int*)p; printf("*pi=%d\n", *pi); *pi = 200; } int main() { pthread_t id1; int x = 100; if(pthread_create(&id1, 0, task, &x)){ printf("create thread error...\n"); return -1; } printf("x=%d\n", x); return 0; } 打印出数字为:()

    •  A.*pi=100 x=100
    •  B.*pi=200 x=100
    •  C.*pi=200 x=200
    •  D.*pi=100 x=200

    (单选题)关于互斥的描述错误的为()

    •  A.互斥通过函数pthread_mutex_init初始化互斥体
    •  B.互斥使用完毕需要手动使用pthread_mutex_destroy销毁
    •  C.互斥的使用,不能解决并发冲突的问题
    •  D.Pthread_mutex_lock函数是对特定的互斥体加锁

    (单选题)阅读如下代码: struct sembuf op; op.sem_num = 0;//对下标为0的信号量操作 (空白处1) op.sem_flg = 0;//无法完成时阻塞,可以是IPC_NOWAIT semop(semid, &op, 1); printf("访问共享资源\n"); sleep(30); printf("完成共享资源的访问\n"); (空白处2) semop(semid, &op, 1); 空白处1和空白处2应该填上的代码是:()

    •  A.不需要填写代码
    •  B.op.sem_op = 1;和op.sem_op = 1;
    •  C.op.sem_op = 1;和op.sem_op = -1;
    •  D.op.sem_op = -1;和op.sem_op = 1;

    (单选题)关于消息队列的特点描述错误的为()

    •  A.消息队列是一个由系统内核负责存储和管理,并通过消息队列标识符引用的消息链表
    •  B.msgrcv函数是从消息队列中提取信息,提取的顺序都是按照先进先出的顺序
    •  C.可以通过msgget函数创建一个新的消息队列或获取已有的消息队列
    •  D.可以通过msgsnd函数向消息队列的尾端追加信息,所追加的信息除了包含消息数据以外,还包含了消息类型和数据长度(以字节为单位)

    (单选题)下列关于进程间通信不正确的是()

    •  A.共享内存是进程间通信最快的方式
    •  B.在使用msgsnd发送消息时,如果消息队列满,则发送阻塞。
    •  C.无名管道的适用范围是父子进程。
    •  D.若此信号量的值为正,则进程可以使用资源。进程将信号量加1表示使用了资源。

    (单选题)函数sem_getvalue描述错误的为()

    •  A.函数的声明在pthread.h中,因此失败不是返回-1而是错误码
    •  B.获取信号量计数器的当前值
    •  C.成功返回0,失败返回-1
    •  D.计数器的当前值通过第二个参数带出来

    (单选题)关于listen函数的介绍错误的为()

    •  A.函数失败返回0,成功返回1
    •  B.在指定套接字上启动对连接请求的侦听
    •  C.监听同一时间客户端的最大连接数
    •  D.可以将socket函数的套接字从主动变为被动

    (单选题)关于单播模式描述错误的为()

    •  A.每个数据报发往单个目的主机,目的地址指明单个接收者
    •  B.服务器可以及时响应客户机的请求
    •  C.服务器不可以针对不同客户的不同请求提供个性化的服务,只能统一化服务
    •  D.网络中传输的信息量与请求该信息的用户量成正比

Copyright(C)  达内时代科技集团有限公司 2011-2013  tarena.com.cn  返回顶部

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Java修道之路,问鼎巅峰,我辈代码修仙法力齐天
<center<fontcolor00FF7Fsize5face"黑体"代码尽头谁为峰,一见秃头道成空。</font<center<fontcolor00FF00size5face"黑体"编程修真路破折,一步一劫渡飞升。</font众所周知,编程修真有八大境界:1.Javase练气筑基2.数据库结丹3.web前端元婴4.Jav
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
HIVE 时间操作函数
日期函数UNIX时间戳转日期函数: from\_unixtime语法:   from\_unixtime(bigint unixtime\, string format\)返回值: string说明: 转化UNIX时间戳(从19700101 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式举例:hive   selec
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k