Good in study, attitude and health

  • 计算机网络-Wireshark探索IPv4

    使用工具 Wireshark curl(MacOS) traceroute: This lab uses “traceroute” to find the router level path from your computer to a remote Internet host. traceroute is a standard command-line utility for discovering the Internet paths that your computer uses. It is widely used for network troubleshooting. It comes pre-installed on Window and...

  • 操作系统-Nachos

    项目结构 bin: Nachos用户实现MIPS程序目标码变化的实用程序以及源码, machine: MIPS虚拟机模拟系统代码 network: 网络管理部分,课设部分没有提及,不用管 filesys: 文件管理部分系统代码 threads: 线程管理部分系统代码 userprog: 用户程序部分系统代码 test: 一些测试用的程序 进程调度管理 原有的Nachos调度流程,直接将线程添加到就绪链表的末尾,实现了先来先服务的方式,默认所有线程的优先级都相同。 实现静态优先级应该就是在线程创建时就确定其优先级并在之后不能修改,直到线程终结。

  • 人工智能-手写识别学习

    pytorch 传统网络实现 依赖库安装 pip install numpy torch torchvision matplotlib 完整代码 import torch from torch.utils.data import DataLoader from torchvision import transforms from torchvision.datasets import MNIST import matplotlib.pyplot as plt class Net(torch.nn.Module): def __init__(self): super().__init__() self.fc1 = torch.nn.Linear(28*28, 64) self.fc2 = torch.nn.Linear(64, 64) self.fc3 = torch.nn.Linear(64, 64) self.fc4 = torch.nn.Linear(64, 10) def...

  • 编译器-PL0解释程序

    这次实验不再进行详细说明,参考资料中都讲的很好,主要针对难点进行阐述,难点懂了,这个实验几乎就完成了 ✅。 难点 DL 和 SL 这次实验我一直搞不懂 DL 和 SL 的区别,看了文章也还没搞懂,最终最终问了 AI,让它帮我详细解释解释,才慢慢搞懂。 其实,结合代码来讲是最“形象”🉐。以下的代码来自我的PL0-Compiler仓库中的测试样例 2。 var x; procedure B; var y; begin y := x; end; procedure A; begin call B; end; begin x := 1; call A; end. 上述代码的调用关系为: 主函数(main)–调用->A A–调用->B SL 静态链和 DL 动态链都记录了当前层的上一层的信息,但这上一层和上一层之间也并不是完全一样。 SL 静态链:从代码中看程序的嵌套结构,过程 A 和 B...

  • 操作系统-相关系统的安装

    Windows Windows XP 博客教程: https://blog.csdn.net/linxinfa/article/details/112768896 虚拟磁盘类型照着文章选就可以,虽然可能推荐的是 SCSI,但 IDE 比较适合旧版操作系统(如 Windows XP 或 DOS—),而 SCSI 适用于新版操作系统(如 Windows 10 或现代 Linux)。 Linux Debian 安装 制作一个 Debian 的可启动 USB 大多数设备都有一个预装的操作系统;但是,你可以根据自己的喜好或要求改变操作系统。如今,计算机甚至没有内置的 DVD/CD 驱动器;因此,用户除了改用新方法外别无选择。通常情况下,笔式驱动器被用来获得新的操作系统;你可以通过使用操作系统的 iso 图像使 USB 可启动。为了使其可启动,有几个工具可以帮助从 iso 镜像中提取重要文件,然后将这些文件添加到 USB 驱动器中,使其发挥作用。 以下是在你的上级操作系统中必须具备的先决条件包。 Debian 11 的 ISO 镜像:使 USB 可启动的主要要求是获得操作系统的 ISO 镜像;要下载蝶变 11 的 ISO...

  • 操作系统-PA1

    时长:15h STFSC nemu/include/macro.h 宏&预处理运算符 https://en.cppreference.com/w/cpp/preprocessor https://en.cppreference.com/w/cpp/preprocessor/replace#Predefined_macros(来自上面的链接) // macro stringizing #define str_temp(x) #x #define str(x) str_temp(x) 使用两个宏逐步展开,是为了防止 x 传入一个宏,如 #define VALUE 42 #define str_temp(x) #x // 第一层,字符串化操作 #define str(x) str_temp(x) // 第二层,触发宏参数的展开 str(VALUE) 展开过程: str(VALUE) 被替换为 str_temp(VALUE)(第一层宏只将 VALUE 传递给第二层)。 在展开 str_temp(VALUE) 时:VALUE 首先被展开为 42,然后作为 std_temp 的参数传入。然后 str_temp 对 42 应用字符串化操作符 #,结果是...

  • 视频下载

    mp4 https://loycine.github.io/post/ji-zhu-xiao-zhan-ru-he-xia-wang-ye-shang-de-shi-pin/ https://www.bilibili.com/opus/672400086946283521 m3u8

  • 操作系统-PA0

    教程 git可视化教程: https://onlywei.github.io/explain-git-with-d3/ C语言教程: https://akaedu.github.io/book/ https://www.romsgames.net/nintendo-rom-mario-bros/

  • 编译器-PL0语法分析

    本文主要按照笔者逻辑思考的顺序进行语法分析部分的说明。如有不明白的部分请见谅。(完整代码在文章最后,时间紧张可直接跳到文章末尾 ❤️) Parser 主要框架搭建 在拿到词法分析部分的一个又一个的 Token 时,庞大的语法分析让我无法下手,我不知道如何利用这些 Token,也不知道将 PL/0 语言用上下文无关文法描述出来有什么用,但这并不妨碍我们先将上下文无关文法写出来(看懂)😎 上下文无关文法 上下文无关文法描述的 PL/0 语言: Program → Block . Block → [ConstDecl][VarDecl][ProcDecl] Stmt 程序块的基本结构是:常量定义、变量定义、过程定义、语句 ConstDecl → const ConstDef {, ConstDef} ; 常量定义 ConstDef → ident = number VarDecl → var ident {, ident} ; 变量定义 ProcDecl → procedure ident ; Block...

  • 计算机网络-Wireshark探索Ethernet

    Capture a Trace 首先用电脑终端试了一下 ping 命令,获取到远程主机返回的消息。 之后启动 Wireshark 进行相关的设置。并再次进行 ping 操作,发现 Wireshark 捕获到了一些数据。 Inspect the Trace 首先点击一行数据,查看相关的各层次的数据。 Ethernet II 说明是 DIX Ethernet 而不是 IEEE 802.3。 没有发现前导码,开头就是目的地址,然后接着源地址,分析地址我们可以得到,一个地址由 12 个 16 进制数组成,所以对应 48 位,也就是 6 字节,所以该地址为 MAC 地址。之后跟着的 Type 字段说明该链路层的上层协议为 IP 协议且是 IPv4。 因为帧长超过了 64 所以没有 Pad 填充,而且在最后也没有发现校验和字段。 单位:byte 目的地址 源地址 Type...