zoukankan      html  css  js  c++  java
  • 2019-2020-1 20175234 20175205 20175217 实验三 实时系统

    2019-2020-1 20175234 20175205 20175217 实验三 实时系统


    小组成员 20175205 20175217 20175234

    任务一

    • 实验要求
    学习使用Linux命令wc(1)
    基于Linux Socket程序设计实现wc(1)服务器(端口号是你学号的后6位)和客户端
    客户端传一个文本文件给服务器
    服务器返加文本文件中的单词数
    
    • 实验步骤
      • 使用man wc学习wc的使用,并尝试使用。

    可发现 wc -l +文件打印出文件中行数, wc -c +文件统计字节数, wc -w +文件 统计字数, wc -m+文件统计单词个数。

    • 尝试 代码实现wc功能
    • 测试截图


    任务二

    • 实验要求
    使用多线程实现wc服务器并使用同步互斥机制保证计数正确
    
    
    • 实验步骤
      • 使用 man -k thread |grep creat学习多线程的创建,找打需要学习的pthread_create

    • 测试截图


    任务三

    交叉编译多线程版本服务器并部署到实验箱中
    PC机作客户端测试wc服务器
    
    • 实验步骤
      • 在虚拟机中,使用arm-none-linux-gnuenbi-gcc对程序进行交叉编译

      • NFC挂载,配置/etc/exports,即输入sudo vim /etc/exports

      • 在文件/etc/exports中末尾添加一行/home/linux/linux中文件名*(rw,sync,no_root_squash,no_subtree_check)

      • 重启服务,即在终端输入sudo /etc/init.d/nfs-kernel-server restart

      • 在超级终端中用mkdir //arm_1

      • 在超级终端中运行mount -t nfs -o nolock 192.168.0.230(宿主机IP):/home/linux/linux中文件名/ arm_1通过NFS把宿主机中的linux文件映射到目标机中的“/arm_1

      • 超级终端中运行cd /arm_1文件并运行

      • 超级终端中运行 ./armserver

      • 测试截图


    遇到的问题

    • 问题一: 硬件问题

      • 1 连接数据线后,接口显示已连接,但超级终端呈不可操作状态;

      • 2 更换实验箱后,发现虚拟机间可以ping通,超级终端自己可ping通自己。但超级终端与外界无法ping通。

      • 解决措施
        经尝试、分析得出结论,上述问题是硬件问题导致,数次更换实验箱后解决了上述问题。

    • 问题二 :挂载失败,mount 语句出错

      • 解决措施
        发现是在/etc/exports文件中的修改出现错误,应将文件最后一行改为/home/你的Ubuntu中的文件名 *(rw,sync,no_root_squash,no_subtree_check)。
        然后使用mount命令时用该使用命令: mount -t nfs -o nolock 192.168.0.230:/home/linux/你的文件名 /在超级终端新建的文件名

    码云链接

    参考资料


  • 相关阅读:
    Angular InjectionToken
    ionic 使用入门
    EFcore 横向分表
    .Netcore 默认认证授权
    anut 设计资源
    Aunt entity
    百度人脸真人认证
    Angular 省市区级联
    apache安装
    ppb|ppm
  • 原文地址:https://www.cnblogs.com/ysz-123/p/11909921.html
Copyright © 2011-2022 走看看