在线考试
答题剩余时间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. woff/woff2字体404找不到

    每次控制台都报这个错,很纳闷,服务器上明明放了字体文件,怎么找不到呢 今天突然想起来,IIS的MIME类型要配置一下 之前部署网站,一个链接下载app的时候,IIS就不识别apk格式的文件,尽管服务器 ...

  2. hibernate多生成一个外键以及映射文件中含有<list-index>标签

    (原文地址: http://blog.csdn.net/xiaoxian8023/article/details/15380529) 一.Inverse是hibernate双向关系中的基本概念.inv ...

  3. 统一集中管理系统cronsun简介,替代crontab

    一.背景 crontab 是 Linux 系统里面最简单易用的定时任务管理工具,相信绝大多数开发和运维都用到过.在咱们公司,很多业务系统的定时任务都是通过 crontab 来定义的,时间长了后会发现存 ...

  4. 思科模拟器GNS3-2.1.8安装笔记 (适用于版本2.0.3以上的GNS3)

    当前现阶段学习经常使用的路由交换设备主要来自于思科.华为和华三三家,这三家的设备操作配置大致类似,却又不尽相同.因为实体设备通常都非常昂贵,所以作为学习,我们通常会使用它们提供的模拟器.华为的模拟器是 ...

  5. Centos7 安装可视化图形

    因为安装的Centos7最小安装包,虚拟机没有可视化界面,可以采用下列命令,安装可视化界面. init id::initdefault: yum install -y libdevmapper* yu ...

  6. JS判断一个数组中有无重复元素(数字)

    前段时间遇到了这个问题 也百度了很多 不过还是用自己的方法解决了 一个超级简单的方法 简单到令人发指 由于直接写文本太丑了 所以还是截图吧 嘻嘻嘻 假如有一个这样的数组 (这是假如  可能每个人的数据 ...

  7. map和list循环遍历

    //map遍历(zmm是实体类) Map<String, zmm> maps = new HashMap<String, zmm>(); //给map存值: maps.put( ...

  8. 利用css实现带有省略号的段落

    带有省略号的段落就是你只能在一行显示一段文字,文字过长是肯定不能完全显示的,如果默认的话,超出的文字会自动换行,撑大盒子. 1.这时需要设置white-space: nowrap,禁止换行.这样的话, ...

  9. 计数排序之python

    话说,一口气不能吃个胖子, 一次性 学习 计数排序, 也确实容易消化不良. 下面,我们逐步学习下计数排序. 1.  已知一个简单列表 l1 = [5, 4, 3], 分析下这个列表的情况 5 > ...

  10. IDEA集成git方法

    一.IDEA集成git方法 首先idea集成git我们需要先下载一个小软件,git bash  地址:https://git-scm.com/downloads  .下载好了之后直接下一步下一步傻瓜试 ...