• 20175221-20175225-20175226 信息安全系统 实验三《实时系统》实验报告


    20175221-20175225-20175226 信息安全系统 实验三《实时系统》实验报告

    小组成员:20175221 曾祥杰、20175225 张元瑞、20175226 王鹏雲

    任务一:

    实验要求:

    • 学习使用Linux命令wc(1)
    • 基于Linux Socket程序设计实现wc(1)服务器(端口号是你学号的后6位)和客户端
    • 客户端传一个文本文件给服务器
    • 服务器返加文本文件中的单词数
    • 上方提交代码
    • 附件提交测试截图,至少要测试附件中的两个文件

    实验步骤

    • 先使用man wc了解wc命令的功能与用法

    wc命令

    -c 统计字节数。
    l统计行数。
    m 统计字符数。这个标志不能与-c 标志一起使用。
    w统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
    L 打印最长行的长度
    
    • wc命令测试两个文件

    • socket编程

    任务二

    任务要求

    • 使用多线程实现wc服务器并使用同步互斥机制保证计数正确
    • 上方提交代码
    • 下方提交测试
    • 对比单线程版本的性能,并分析原因

    实验步骤

    • 多个客户端一起传文件给服务器

    多线程的优点:

    • 第一,将原来在一个大流程中实现的功能放到了多个小流程中,程序更加的简洁和易于阅读。
    • 第二,将不同的功能放到不同的线程中,提高了程序的执行效率。
    • 第三,“多线程”使得程序的模块化更强,有利于追踪程序执行过程和排查问题。

    实验中的问题及解决过程

    • 问题一:在进行任务二时pthread_create编译无法通过

    • pthread并非Linux系统的默认库,而要在Linux中将其作为一个库来使用,就需要加上-lpthread-pthread以显式链接该库。
      感悟

  • 相关阅读:
    php 发送手机验证码
    PHP 发送邮件
    php 图形验证码
    css 把图片变成灰色
    本地配置虚拟主机
    VMware 14 激活密钥
    linux每日命令(12): nl 命令
    linux每日命令(11): cat命令
    linux每日命令(10): touch命令
    linux每日命令(9): cp命令
  • 原文地址:https://www.cnblogs.com/20175226wpy/p/11923416.html
Copyright © 2020-2023  润新知