在线考试
答题剩余时间0小时51分18秒
考生须知

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

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

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

  • 1.
    (单选题)关于recv函数的介绍错误的为()
    • A.recv函数是数据接收函数
    • B.flags设置为MSG_DONTWAIT表示函数是阻塞方式接受数据
    • C.函数有阻塞和不阻塞之分
    • D.函数成功返回实际接收到的字节数,失败返回-1
  • 2.
    (单选题)共享内存的基本特点描述错误的为()
    • A.两个或者多个进程共享的内存会映射在堆区和栈区之间
    • B.多个进程通过共享内存通信时会把数据直接反映到同一块物理内存
    • C.共享内存提供了足够的同步机制
    • D.共享内存的进程间通信是速度最快的进程间通信方式
  • 3.
    (单选题)关于信号量的描述错误的为()
    • A.信号量的本质就是一个由系统内核维护的全局计数器,
    • B.信号量初值即资源总数
    • C.已获得资源的线程在其不需要继续使用资源时,会释放手中的资源,令信号量计数器的值回升。
    • D.信号量使用完毕后系统会自动销毁信号量并释放资源
  • 4.
    (多选题)线程都共享进程的哪些内容()
    • A.栈区
    • B.代码区
    • C.文件描述符
    • D.数据区
  • 5.
    (单选题)pthread_join函数的描述错误的为()
    • A.线程过程函数中返回的指针如果指向动态分配的内存,则程序会自动释放内存
    • B.等待线程终止并与之汇合,同时回收该线程的相关资源
    • C.成功返回0,失败返回错误码
    • D.若retval参数非NULL,则pthread_join函数将线程过程函数所返回的指针,拷贝到该参数所指向的内存中
  • 6.
    (单选题)void* shmat(int shmid,const void* shmaddr,int shmflg); 函数描述错误的为()
    • A.函数用于卸载共享内存
    • B.成功返回共享内存起始地址,失败返回-1
    • C.内存地址一般置为NULL,由系统自动分配
    • D.shmflg可以取0或者SHM_RDONLY或者SHM_RND
  • 7.
    (单选题)Linux系统中消息队列的限制正确的为()
    • A.可发送消息字节数max:16384
    • B.队列数据长度之和max:8192
    • C.系统中消息队列数max:16
    • D.系统中消息数总和max:262145
  • 8.
    (单选题)消息队列对比其他IPC机制的优势错误的为()
    • A.流量控制
    • B.面向记录
    • C.状态过滤
    • D.天然同步
  • 9.
    (单选题)int semget(key_t key,int nsems,int semflg); 函数描述错误的为()
    • A.函数用于创建新的或获取已有的信号量集
    • B.成功返回信号量集标识符,失败返回-1
    • C.nsems是存储信号量个数
    • D.semflg只能取0或者IPC_CREAT
  • 10.
    (单选题)下列代码中,哪段代码是实现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);
  • 11.
    (单选题)无名管道的描述错误的为()
    • A.无名管道是一个与文件系统无关的内核对象,主要用于父子进程之间通信
    • B.pipe成功返回1,失败返回-1
    • C.pipe函数会输出两个文件描述符,一个用于读取数据,一个用于写入数据
    • D.无名管道需要用专门的系统调用函数创建
  • 12.
    (单选题)阅读如下代码:
    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";
  • 13.
    (单选题)阅读如下代码:
    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
  • 14.
    (单选题)关于互斥的描述错误的为()
    • A.互斥通过函数pthread_mutex_init初始化互斥体
    • B.互斥使用完毕需要手动使用pthread_mutex_destroy销毁
    • C.互斥的使用,不能解决并发冲突的问题
    • D.Pthread_mutex_lock函数是对特定的互斥体加锁
  • 15.
    (单选题)阅读如下代码:
    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;
  • 16.
    (单选题)关于消息队列的特点描述错误的为()
    • A.消息队列是一个由系统内核负责存储和管理,并通过消息队列标识符引用的消息链表
    • B.msgrcv函数是从消息队列中提取信息,提取的顺序都是按照先进先出的顺序
    • C.可以通过msgget函数创建一个新的消息队列或获取已有的消息队列
    • D.可以通过msgsnd函数向消息队列的尾端追加信息,所追加的信息除了包含消息数据以外,还包含了消息类型和数据长度(以字节为单位)
  • 17.
    (单选题)下列关于进程间通信不正确的是()
    • A.共享内存是进程间通信最快的方式
    • B.在使用msgsnd发送消息时,如果消息队列满,则发送阻塞。
    • C.无名管道的适用范围是父子进程。
    • D.若此信号量的值为正,则进程可以使用资源。进程将信号量加1表示使用了资源。
  • 18.
    (单选题)函数sem_getvalue描述错误的为()
    • A.函数的声明在pthread.h中,因此失败不是返回-1而是错误码
    • B.获取信号量计数器的当前值
    • C.成功返回0,失败返回-1
    • D.计数器的当前值通过第二个参数带出来
  • 19.
    (单选题)关于listen函数的介绍错误的为()
    • A.函数失败返回0,成功返回1
    • B.在指定套接字上启动对连接请求的侦听
    • C.监听同一时间客户端的最大连接数
    • D.可以将socket函数的套接字从主动变为被动
  • 20.
    (单选题)关于单播模式描述错误的为()
    • A.每个数据报发往单个目的主机,目的地址指明单个接收者
    • B.服务器可以及时响应客户机的请求
    • C.服务器不可以针对不同客户的不同请求提供个性化的服务,只能统一化服务
    • D.网络中传输的信息量与请求该信息的用户量成正比

unic的更多相关文章

  1. unicode 和 utf8

    关于 unicode utf8 文章来自于 http://blog.csdn.net/tge7618291/article/details/7599902 ascii 主要来表示英文.但是要全世界那么 ...

  2. python之路3:

    class set(object): """ set() -> new empty set object set(iterable) -> new set o ...

  3. zz转码问题

    http://blog.csdn.net/tge7618291/article/details/7599902 主原创文章,未经博主允许不得转载.                     <&l ...

  4. C Primer Plus(第五版)12

    第 12 章 存储类, 链接和内存管理 在本章中你将学习下列内容 . 关键字: auto, extern, static, register, const, volatile, restricted. ...

  5. Unicode与UTF-8互转(C语言实现)

    1. 基础 1.1 ASCII码 我们知道, 在计算机内部, 所有的信息最终都表示为一个二进制的字符串. 每一个二进制 位(bit)有0和1两种状态, 因此八个二进制位就可以组合出 256种状态, 这 ...

  6. 我的Python成长之路---第二天---Python基础(7)---2016年1月9日(晴)

    再说字符串 一.字符串的编码 字符串的编码是个很令人头疼的问题,由于计算机是美国人发明的,他们很理所当然的认为计算机只要能处理127个字母和一些符号就够用了,所以规定了一个字符占用8个比特(bit)也 ...

  7. CSS3字体模块

    介绍 字体提供了包含字符的视觉表现的资源.在最简单的等级中,其包含由字符编码到表示这些字符的形状(被称为字形)的映射信息.根据一组标准字体属性被分入一个字体家族的字体共享一个通用设计风格.在一个家族中 ...

  8. Delphi中unicode转汉字函数(转)

    源:Delphi中unicode转汉字函数 近期用到这个函数,无奈没有找到 delphi 自带的,网上找了下 有类似的,没有现成的,我需要的是 支持 “\u4f00 ” 这种格式的,即前面带标准的 “ ...

  9. 【转载】扩展Robot Framework,实现失败用例自动再执行(失败重跑)

    使用自动化脚本进行测试,经常受环境影响等各方面导致本能成功的脚本失败,下面介绍了RFS框架下,失败重跑的方法: 通过改写RobotFramework源代码增加--retry选项,实现test级别的失败 ...

随机推荐

  1. python day09 函数(第一篇)

    2019.4.9 S21 day09笔记总结 一.三元运算 三元运算又叫三目运算.(是为了赋值的) v = 前面 if 条件 else 后面 #条件为真,v取if前面的值:条件为假,v取if后面的值 ...

  2. python bmp转jpg 且灰度图转彩色

    今天在简书,上看到了一个 bmp转jpg的代码,便记录一下. # coding:utf-8 import os from PIL import Image # bmp 转换为jpg,灰度图转RGB d ...

  3. IoU

    IoU #include <cstdio> #include <algorithm> #define re(i,a,b) for(int i=a;i<=b;i++) us ...

  4. 【笔记】Python基础三:文件

    一,文件操作 (一),文件处理流程 1,打开文件,获得文件句柄(open函数提供)并赋值 2,通过句柄对文件进行操作 3,关闭句柄 f = open('陈粒',encoding='utf-8')#op ...

  5. mysql判断表里面一个逗号分隔的字符串是否包含单个字符串、查询结果用逗号分隔

    1.mysql判断表里面一个逗号分隔的字符串是否包含单个字符串 : FIND_IN_SET select * from tablename where FIND_IN_SET(传的参数,匹配字段) 例 ...

  6. MySQL如何解决1209错误

            1209 - The MySQL server is running with the--read-only option so it cannot  execute this sta ...

  7. TZOJ 2703 Cow Digit Game(sg博弈)

    描述 Bessie is playing a number game against Farmer John, and she wants you to help her achieve victor ...

  8. Maven解决NoPluginFoundForPrefixException错误

    Maven解决NoPluginFoundForPrefixException错误方法 错误出现的原因 你指的是一个不存在的插件,如由于错误的前缀. 您使用的是第三方的Maven插件没有部署到中央Mav ...

  9. 转:Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-j8m0mf5q/mysqlclient

    错误场景 第一次部署服务器时mysqlclient安装失败 思考 初步考虑是pip没有升级,最后发现不是这个原因. 解决办法 来源:https://blog.csdn.net/mr_tia/artic ...

  10. Tomcat开启本地库(Apache Tomcat Native Library)支持

    操作系统环境:Ubuntu 17 amd64位 软件环境:Tomcat 9 tomcat安装位置:/opt/tomcat JDK:1.8.144 64位  安装步骤: 1:编译安装 cd /opt/t ...