【FZU】2023Linux操作系统设计实践(上)

一、软件安装

安装包老师会发(也可以私信我要)

安装vs2022

1.首先安装vs2022,如果电脑中已经装了其它版本的vs比如vs2019或者vs2013那就不需要装了。
在这里插入图片描述
下载在线安装包,双击VisualStudioSetup.exe。这个是在线安装包,确保你的电脑链接网络,出现下面对话框。(安装会比较久)
在这里插入图片描述
2.进去后出现主界面,在勾选这栏,当然你可以考虑一下安装的位置,系统一般默认安装到C盘,但有时C盘负荷太大你可以调到别的地方(建议还是默认安装):如果仅仅是写c++或c的代码什么的,按照下面就应该够用了
在这里插入图片描述
3.由于我们是要开发linux平台的程序,所以还要勾选下面这个
在这里插入图片描述
4.你可以根据自己硬盘情况选择安装路径
在这里插入图片描述

安装虚拟机

1.虚拟机软件,如果之前已经装了VMWare,可以不用装了。本次使用VirualBox这款虚拟机。如果没有安装虚拟机软件的的同学可以下载安装。
在这里插入图片描述
5.Linux系统使用ubuntu18.04.大家如果安装过ubuntu其它版本也是可以的。
6.安装SSH工具,具体安装方法如下:
在这里插入图片描述

VirtualBox设置桥接模式

1.打开VirutalBox界面,点击设置
在这里插入图片描述
在这里插入图片描述
2.设置完桥接模式后,要让Linux的ip地址和windows的ip地址在同一网段。所谓同一网段就是ip地址前面三个一样,最后一个不一样。 比如 192.168.20.11和192.168.20.99 就是同一网段。
在这里插入图片描述
在这里插入图片描述这个就是同一网段。
Linux下修改网卡ip命令:ifconfig enp0s3 192.168.20.21(根据具体需要)
互相ping通就可以
在这里插入图片描述

二、我的报告

实验环境

1、我所采用的是Linux内核版本5.4.0-84-generic,该内核版本是基于x86 64架构构建的。
2、Ubuntu版本号为18.04.01 LTS。
3、使用的虚拟机软件是Oracle VM VirtualBox。
4、通过在虚拟机终端中执行指令“sudo apt-get install build-essential”使apt 包管理器在 Ubuntu 系统中安装 “build-essential” 软件包。该软件包包含了在构建软件时常用的一些工具和库,包括编译器(如 gcc)、构建工具(如 make)、标准库和头文件等。
5、设置了网卡1与网卡2来保证连通Linux和windows。
将网卡1设置为NAT模式来保证虚拟机能够正常上网。
将网卡2设置为桥接模式来保证Linux能够与windows相互连通。
互ping结果如下:
图1 虚拟机ping主机
图2 主机ping虚拟机
6、在主机端安装VScode用于开发Linux平台的程序。

报告内容

步骤:

  • 打开VS
    • 创建一个新的C++项目
    • 在项目中包含必要的头文件
    • 编写代码
    • 编译并运行代码。

第一次课程内容:
配置相关实验环境并且编写一个简单的基于TCP通讯协议的程序。程序代码如下:
请添加图片描述
在这里插入图片描述
图3 第一次课程代码
上述代码运行结果如下:
图4 第一次课程结果
第二次课程内容:
第一次课程所写的服务器程序存在一个很大的问题就是只能接受一个客户端的连接。因此在本次课程中,我们对服务器程序进行改进,采用多线程方式解决问题,在这其中会遇到一个编译问题:“对“pthread_create”未定义的引用”,对于这个问题需要在调试->属性->链接器->命令行中输入“-pthread”即可解决,如图12。还需要编写一个TCP网盘客户端,该客户端具有1.查询文件、2.下载文件、3.上传文件、4.退出文件等四个功能,而在这次课程,我们只完成了1.查询文件的功能。具体实现代码如下:
服务器:
请添加图片描述
请添加图片描述
请添加图片描述
图5 服务器代码
客户端:
请添加图片描述
请添加图片描述
图6 客户端代码
编写程序过程中的相关运行结果截图如下:

  1. 未使用多线程时的客户端与服务器连接结果:
    图7 结果1
  2. 未使用多线程时的客户端与服务器通讯结果:
    请添加图片描述图8 结果2
  3. 使用多线程时的多客户端与服务器连接结果:
    图9 结果3
  4. 在服务器上输出家目录/home/xxwu下的文件名信息:
    图10 结果4
  5. 服务器成功将家目录/home/xxwu下的文件名信息发送至客户端:
    图11 结果5
    图12 问题解决

实验总结

经过这两次课程的学习,学到了很多非常宝贵的知识。从最开始的配置虚拟机环境,到最后的服务器与客户端相互通讯,过程虽然艰难,但好在结局是美好的。
都说万事开头难,在这个课程我又一次的体会到了这句话的真谛。在最开始的配置虚拟机中,我就遇到了众多困难,由于之前从未接触过虚拟机,导致我对这一概念非常模糊,在配置时只能跟着文档摸索,但是文档似乎也没有非常齐全,例如没有明确说明NAT模式的设置以及在互ping时的细节问题,这使得我在Linux和windows互ping时就花费了很多时间。但好在最后经过同学和老师的指导实现成功互ping。
之后,在课堂中认真跟随老师的讲解,逐步编写这次实验的程序,在跟随老师的步伐中我也收货颇多,了解了很多之前所不知道的库和函数,在课后也对这些库和函数的用法进行了深入的理解。此外,还学会了cd、cd ~、clear等等的指令用法。
最后,想说的是感觉这个实验还是有一定的问题,问题在于每次换wifi时,ip地址会改变,导致需要更改虚拟机的ip地址。虽然这个过程很繁琐,但是也确实很有用,能够帮助我们熟练掌握互ping的操作。总之,在这两次课程之中,我的收货很多。

  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 福州大学汇编语言期末考试历年来都是以实际操作为重点,考察学生对于汇编语言的运用能力和实践经验。考试内容主要包括单项选择、填空和编程题,其中单项选择和填空题主要考察学生对汇编语言基础知识的掌握程度,编程题则主要考察学生对实际问题的处理能力。 历年考试中,编程题主题涵盖了汇编语言的各个方面,如输入输出、数学运算、条件判断、循环控制和数组操作等,涉及到实际问题的解决和编程技巧的掌握。在编程题的设计中,难度逐年升高,难度适中,涵盖的知识点也更加广泛且实用。 此外,汇编语言期末考试还会考查学生对课程中实验的理解和应用,以及对常用工具集成开发环境MASM和汇编语言程序设计流程的掌握情况。这样的设计旨在促进学生在实际运用中理解和掌握汇编语言的基本原理,提高汇编语言程序设计的能力。 总之,福州大学汇编语言期末考试历年以实际操作为主要考核方式,通过提供各种实际问题设计编程题目,考察学生对汇编语言基础知识和实践经验的掌握情况,以此检验学生的实际运用能力和应用能力。 ### 回答2: 福州大学计算机系汇编语言是一门重要的计算机基础课程,教授学生如何理解计算机内部运行机制。该课程通常在每个学期末会进行考试,最终计入学生的总成绩中。 历年来,fzu汇编语言期末考试的难度相对较高,因此学生需要花费充分的时间和精力去复习,了解考试方向和内容。在考试中,学生需要熟悉汇编语言的基本概念和常用指令,能够写出程序并进行调试。 在考试内容上,历年来的考试题目都涵盖了汇编语言的总体知识点,例如CPU结构、数据存储方式、寻址方式、编程方法、中断和I/O等。考试题型包括选择题、填空题、简答题和编程题等多种形式。 考试中的复习重点包括:CPU基本结构和运行原理、汇编语言常用指令、寻址方式和程序调试方法等。由于该课程是计算机系的入门课程,因此对于学生后续学习计算机领域的课程和研究都至关重要。 总之,fzu汇编语言期末考试历年来难度较大,需要学生投入足够的时间和精力复习考试内容。但是学好这门课程对于学生通向计算机领域和进行相关领域研究具有极为重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值