rqdmap
博客
/
Posts
算法
/
ACM
漫评
/
Anime
归档
/
Archive
关于
/
About
日志
/
Changelog
统计
/
Statistics
博客
/
Posts
算法
/
ACM
漫评
/
Anime
归档
/
Archive
关于
/
About
日志
/
Changelog
统计
/
Statistics
Neovim 打造 Java8 开发环境
2024.07.19 22:54
2024.07.22 22:30
技术
Neovim
Java
LSP
IDEA
2502字
这是一篇一看标题就很邪教的文章, 尽管拥有了 LSP 加持的 Neovim 处理大部分其他主流语言的项目都是游刃有余, 可是很难想象会有人愿意在 Java EE 开发(国内可以认为等价于 Spring 生态)中使用它, 尤其是项目本身极有可能具有沉重历史包袱而不得不使用的古老的 Java8.. 本文将说明我在基于 Neovim 开发 Spring 项目时的一些粗浅尝试与配置技巧. ...
nvim-cmp 支持前缀匹配优先的补全
2024.04.19 20:53
2024.05.09 17:04
技术
Neovim
Plugins
KMP
前缀函数
1126字
在我的 Neovim 配置中, 一直使用的是 nvim-cmp 作为补全引擎, 由于其默认支持模糊查找, 因而补全列表中可能会出现前缀匹配优先级不如子序列的乱序问题, 举一个例子: 补全候选项中有 abc_variable 和 xaxbx 这两个词 输入 ab, nvim-cmp 根据传入的比较函数进行逐个比较与排序; 但由于默认支持模糊查找, 且官方的补全函数中貌似没有前缀匹配优先的规 ...
2023 年度总结
2024.01.04 23:58
2024.01.07 19:55
杂谈
年度总结
2023
7401字
尽管 2023 年不太特殊, 甚至容易发现不是素数(7*17*17), 不过对我个人而言 2023 是经历了许多、学习了许多的一年, 因此考虑做一个年度的自省与总结, 以期留下一些结构化的记忆以供后来者翻阅. ...
Python 进阶技巧: 类与继承
2024.01.04 23:16
2024.01.04 23:55
Python
类
MRO
继承
3409字
本文主要介绍有关 Python 中类(class)与继承(inheritance)的一些高级使用知识与技巧, 包括: 与类相关的若干内置函数 多继承下的 MRO 序列与 C3 序列化方法 super 类的使用 魔术方法与类的实例化过程 ...
实用Linux桌面系统定制化方案
2023.12.03 21:42
2024.03.02 20:27
Linux
ArchLinux
Utils
5473字
前前后后折腾自己使用的这套Linux桌面系统也有一年多的时间了, 但是由于其中涉及的事务纷繁细琐, 因而一直没有专门整理过一篇内容对其做系统的介绍. 不过由于这个周末又重构了之前的一套账单处理工具和一些常用脚本, 一下子便感觉到目前系统和功能服务已经愈发复杂起来了, 可以考虑对其做一个简单 ...
Android微信记录备份方案
2023.11.20 00:44
2023.11.20 02:36
技术
微信
Android
root
3624字
在还没有解锁root时, 我偶尔便会闲来无事查查看微信的用户记录导出方案, 一些方案是基于Windows的聊天记录解密, 如: windows取证之导出微信&QQ聊天记录, 还有一些是基于IOS系统的Itunes来做导出. 总的来说都不是很满足需求, 基于Windows的方案一来看评论 ...
Pixel7刷机折腾小记
2023.11.15 23:36
2024.04.02 17:51
技术
pixel
刷机
4984字
TL; DR 如何恢复Root? Pixel 自动推送的更新总是会覆盖掉 Root, 这边将简洁地给出如何恢复 Root 的过程以供查阅, 全部操作过程应当不超过15分钟. 因为是恢复root, 因而这里将不介绍adb工具套件的获取、bootloader的解锁等过程 从官方下载原厂固件文件, 注意: 选择的版本号需要与手机的操作系统版 ...
Mac(x86派)的废物再利用
2023.09.09 19:48
2023.12.04 01:00
技术
网络
frp
btrfs
备份
9192字
手头有一个退下来的mbp, 是老版本因而搭载的还是x86的CPU, 同时由于电源被我通过拓展坞充了次电而弄坏过, 因而一旦断电会光速关机.. 加上mbp真的是用到后面(大概4年)越用越卡, 让人怀疑macos是不是搞了什么鬼或怎么样.. 总之这台机子不太能当作主力机了, 退下来后也没怎么用过, ...
Rust项目结构与测试
2023.09.06 16:05
2023.09.06 16:33
Rust
包
模块
测试
4000字
由于rqdmap/rust-in-competitive-programming项目冉冉升起, 希望对代码更加有条理地进行维护和组织, 因而学习一下cargo中有关项目, 包, 模块, 以及测试的一些内容, 做一个简单够用的知识学习与整理. 实际上是项目代码写了不少了, 整体结构也划分好了, 再来 ...
不安全Rust: unsafe编程
2023.08.22 21:01
2023.08.28 22:51
Rust
unsafe
全局变量
3841字
在rCore-OS: 批处理系统 - rqdmap | blog初次见到了unsafe的相关代码, 当时并未系统学习, 只是草草了解, 这里补上相关的内容知识. Rust编译器提供了强大的编译期安全保障, 不过其仍然为我们提供了unsafe关键字, 供我们写一些 “不安全的” Rust黑魔法 ...
Rust中的智能指针
2023.08.01 16:56
2023.08.28 22:49
Rust
指针
6879字
通常说来, 指针是一个包含了内存地址的变量, 而内存地址引用/指向了另外的数据. 在Rust中, 最常见的指针类型是引用, 其借用其他的变量的值, 除了指向某个值以外就没有其他的功能了. 没有性能损耗, 是Rust中使用最多的指针. Rust中的智能指针则相比于一般指针更加复杂, 其中包含诸如长度、 ...
rCore-OS: 批处理系统
2023.07.26 19:29
2023.08.16 21:52
OS
Rust
RISC-V
Trap
批处理系统
15902字
系列文章 rCore操作系统实践 - rqdmap | blog 本章主要目的为设计和实现支持批处理操作的OS, 其相比于上一节的库OS而言, 主要的不同在于: OS自身运行在内核态; 支持其他应用运行在用户态并发出系统调用 一个接一个的运行不同的应用程序 为了实现这些目的, 本章节需要做的事情分为: 调整应用程序, 使其能 ...
rCore-OS: 基本执行环境
2023.07.24 19:30
2023.08.16 21:51
OS
Rust
RISC-V
QEMU
9579字
系列文章 rCore操作系统实践 - rqdmap | blog 本章主要是讲解如何设计和实现建立在裸机上的执行环境, 并让应用程序能够在这样的执行环境中运行. 导言中说: 大多数程序员的第一行代码都从 Hello, world! 开始,当我们满怀着好奇心在编辑器内键入仅仅数个字节,再经过几行命令编译(靠的是编译器)、运行(靠的是操作系统 ...
rCore操作系统实践
2023.07.23 20:38
2023.08.16 21:51
OS
Rust
RISC-V
QEMU
530字
系列文章 rCore-OS: 基本执行环境 - rqdmap | blog rCore-OS: 批处理系统 - rqdmap | blog 在寻找Rust实践性的学习材料的过程中发现了rCore-OS项目, 其基于RISC-V架构实现一个用Rust写的操作系统; 教程看上去也不错, 十分的详实且成体系: rCore-Tutorial-Book-v3 3.6.0-alpha.1 文档 因而准备照着教程学习一下rcore-os, 并企图在过程中对Rus ...
网页字体精简方案
2023.07.21 02:13
2023.07.24 21:44
技术
字体
网页
2784字
这是一个令人兴奋的想法! 其目的在于按需精简字体库, 以使得网页在保证显示效果的同时减少需要传输的数据量. 我个人使用的字体为思源黑的CJK+Iosevka的西文, 为了实现强制爱(x), 之前对于博客字体的处理方式都是用css指定本地的字体文件, 手动压一份woff2的Iosevka和思源 ...
SUID与程序执行
2023.07.14 15:08
2023.07.24 21:44
Linux
Shell
文件系统
程序执行
1418字
在之前的博客ArchLinux调优: 显卡、声卡与电源 - rqdmap | blog中说明了如何使用开源的nvidia驱动并且关闭nvidia的供电来使得笔记本续航能力的提升. 通常来说我们不希望每次开机后都要手动向bbswitch写off字符串, 因而一般委以重任给dm; 不过像ly这样的纯终端dm貌 ...
软件所实习体会与总结
2023.07.07 22:24
2023.07.07 23:35
杂谈
实习
2572字
眨眼间就在软件所搞了4个月不到点的科研实习, 今天汇报完最后一个项目, 彻底run了, 浅浅记录一些心得体会.. 实习本身任务不算重, 线上实习, 无严格的考勤, 每周3-4天, 期间总共做了三个研究项目: Kernel Mode Linux: 基于QEMU搭建内核调试环境 KML: 启用Kernel Model Linux KML: 实现机制研究 Sched_ext 拓展调度技术 sch ...
有关博客与笔记的思考
2023.07.07 11:09
2023.07.07 22:27
杂谈
1175字
这是一些有关于博客内容的思考, 事实上在之前就有过一些想法, 曾经在about的Todo列表中写过: 增添弃坑等标签, 允许保留与查看这些博客, 但不在主页渲染 当时就意识到了目前百余篇博客中可能一大部分都是一些思想的碎屑, 或者是一些草稿纸上的笔记, 真正让人满意的、好的技术博客可能寥寥. 翻看 ...
Bluespec与CPU(MIT6.375)
2023.06.25 20:43
2023.07.07 22:22
计组
bluespec
MIPS
流水线
8702字
BUAA 6系高等机组实验作业, 使用bluespec工具链编程, 实现一个{,非}流水的右移器以及一个精简MIPS指令集CPU的一微小的部分. 课程疑似参考6.375 Complex Digital Systems - Spring 2006; 因为PPT的风格是一模一样的, 但是课程年份与内容应该可能有所出入, 不进行一个几乎是20年前课程的考据了. 环境搭建 实 ...
Linux内核中的Rust使用
2023.06.05 16:09
2023.06.27 17:46
Linux
Kernel
Rust
2863字
内核代码选用Linux-6.3.4, 对其中有关Rust代码进行简单的分析. ...
ArchLinux: 蓝牙支持
2023.05.25 02:09
2023.05.29 23:05
Linux
Bluetooth
571字
由于有线版本只要1k, 带有蓝牙的双模则要2k5.. 不过由于蓝牙无线确实是十分的方便, 因而还需要测试一下本机的蓝牙模块. 主要参考<Bluetooth - ArchWiki>即可. 本机是Dell G5520 Nvidia, 可以修改ArchWiki对应的部分了:) Laptop/Dell - ArchWiki 安装几个相关的包: bluez: 蓝牙协议栈 bluez-utils: ...
NixOS: 选择与放弃
2023.05.24 17:50
2023.05.29 23:05
Linux
Nix
NixOS
2721字
偶然听说了NixOS, 其万物皆配置文件的理念深深地吸引了我. 由于Arch下的pacman对于系统的监控总是不够地完全, 完全可能出现安装的某个包被卸载后一些配置/数据文件遗留在本机(经过测试, pacman -Rsun并不行, 后续考虑结合pacman -Ql写一些钩子函数), 或者是我修改了若干位于 ...
Neovim插件管理与配置
2023.04.24 16:40
2023.07.23 19:22
技术
NeoVim
Plugins
LSP
1129字
为Nvim添加了nvim-cmp插件栈… 之前一直没有动手, 只单独安装了几个无复杂依赖的插件, 这次直接一口气从nvim-cmp补全插件, LSP相关, 代码块补全, 模糊查找等全部搞好了.. 其实际上高度耦合… 代码块补全以及LSP最终必须全部集成到nvim-cm ...
ArchLinux调优: 显卡、声卡与电源
2023.04.23 01:29
2023.07.14 15:21
Linux
驱动
声卡
独显
电源管理
3535字
记录一些最近针对本机硬件设备驱动相关的调整与优化(?反向优化), 主要涉及到Nvidia独立显卡, Intel声卡以及电源管理等几个部分. 电源管理 在使用Windows时基本上是稳定1.5-2h左右, 去年刚配置好我的bspwm桌面系统后却能使用到4h… 结果目前Linux的 ...
sched_ext机制研究
2023.04.09 19:41
2023.05.29 23:05
Linux
Kernel
scheduler
eBPF
30526字
Slide 充斥着大量的谬误与个人的随意理解: sched_ext机制研究 简介 <The extensible scheduler class [LWN.net]> BPF背后的核心思想是, 它允许程序在运行时从用户空间加载到内核中; 与现在的Linux系统相比, 使用BPF进行调度有可能实现明显不同的调度行为. 那么, 为什么现在要提出BPF机制呢? 为了期待一场长时间的讨论, ...
Logisim开发单周期MIPS处理器
2023.04.06 18:20
2023.05.29 23:05
计组
Logisim
MIPS
4078字
作为计组第一次实验的报告模板进行整理, 内容为使用Logisim开发单周期MIPS处理器, 支持的指令集仅有: addu, subu, ori, lw, wsw, beq, lui这7条, 其中addu以及subu不必要实现溢出. 实验环境 <Logisim-Ita/Logisim: Logisim Italian Fork> 对Linux的支持还算可以, 因而直接在Linux上进行实验即可. 总体设计 下图展示了该单周期处 ...
Linux下修改文件的4个时间
2023.03.24 13:43
2023.05.29 23:05
Linux
文件系统
时间
396字
由于一些原因… 接触到了如何修改Linux(/windows)下文件4个时间的方式. 修改时间 修改Access time 与 Modify time: 1touch -a <file> -d '2000-01-01 08:15:23' 2touch -m <file> -d '2000-01-01 08:15:23' 而Change time与Birth time貌似是与fs相绑定的, 比如在Linux的ext4下打包一个zip, 传送至windows ...
clash+systemd自启动问题
2023.03.24 13:43
2023.05.29 23:05
Linux
clash
systemd
654字
通常来说, 参考网上最常见的guide来配置systemd + clash 没有问题: <Running Clash as a service · Dreamacro/clash Wiki> 1[Unit] 2Description=Clash daemon, A rule-based proxy in Go. 3After=network.target 4 5[Service] 6Type=simple 7Restart=always 8ExecStart=/usr/local/bin/clash -d /etc/clash 9 10[Install] 11WantedBy=multi-user.target 问题排查 但是在我的配置中(优先走的是url-test策略组)会出现一些问题: 开机自启后, 大概率会出现完全无法走proxy的情况, 而且该问题近期才出现, 因而并 ...
KML: 实现机制研究
2023.03.16 21:11
2023.05.29 23:05
Linux
Kernel
Kernel Linux Mode
12849字
本文将参考作者给出的guide, 深入研究IA-32下KML机制的工作原理以及相关技术. 有关于KML技术的使用可以参考:<启用Kernel Model Linux - rqdmap | blog> 工作原理 To execute user programs in kernel mode, Kernel Mode Linux has a special start_thread (start_kernel_thread) routine, which is called in processing execve(2) and sets registers of a user process to specified initial values. The original start_thread routine sets CS segment register to __USER_CS. The start_kernel_thread routine sets the CS register to __KERNEL_CS. Thus, a user program is started as ...
duu: 按照大小排序的du指令
2023.03.13 12:12
2023.05.29 23:05
Linux
shell
du
276字
正确的办法! du -d 1 -h | sort -hr duu du 指令无法以可读的形式按照大小排序, du -d 1 -h | sort -nr并不正确, 因而写一个简单的脚本进行实现. 1use std::env; 2 3fn main() { 4 let args: Vec<String> = env::args().collect(); 5 assert!(args.len() >= 2); 6 7 if args[1].len() > 18 { 8 println!("Number too large"); 9 return; 10 } 11 12 for c in args[1].chars() { 13 if !c.is_digit(10) { 14 println!("Invalid number"); 15 return; 16 } 17 } 18 19 let nr_bytes = args[1].parse::<u64>().unwrap(); 20 /* KB -> MB -> GB */ 21 22 let mut level: usize = 0; 23 let mut tmp = nr_bytes; ...
Acme.sh+ZeroSSL证书部署
2023.03.10 13:20
2023.09.06 10:00
技术
SSL
acme.sh
cloudflare
DNS
1748字
之前一直沿用的最老的服务器的ssl证书提供商FreeSSL首页 - FreeSSL.cn一个提供免费HTTPS证书申请的网站, 前阵子发现不知道怎么不太行了, 偶尔会出现证书不被信任的情况, 过一段时间可能会自己恢复… 不过去官网查了下发现自己的账号下居然好像又没有这份证书&h ...
KML: 启用Kernel Model Linux
2023.03.08 10:58
2023.05.29 23:05
Linux
Kernel
Kernel Linux Mode
QEMU
4586字
KML简介 Kernel Mode Linux: Execute user processes in kernel mode 是一种允许用户程序运行于内核态的技术. 处于内核态的程序可以直接访问任意的内核空间, 无需再使用软中断和上下文切换等手段进行系统调用. 此外, 这些程序也会正常的参与分页和调度, 这样哪怕这些程序死循环, 整个系统也不会因此卡死. 如何使用KML? 编译了打好补丁的内 ...
基于QEMU搭建内核调试环境
2023.03.06 14:58
2023.05.29 23:05
Linux
Kernel
QEMU
GDB
3571字
搞一份内核源码, 并尝试调试一个拓展内核功能的补丁Kernel-Mode-Linux; 对于该模块的调试与分析见后续博文<启用Kernel Model Linux> Linux内核编译 这里使用的是Linux4.4.12(4.0.*, 3.1*, 2.6.*系列也有尝试过), 并且还需要打上PREEMPT_RT实时内 ...
Rust-泛型与特征
2023.02.22 15:31
2023.05.29 23:05
Rust
泛型与特征
6006字
Rust的泛型(Generics)和特征(Trait)看的一个头两个大… 需要仔细学习整理一下, rust_course的标题分类感觉有点confusing… 泛型 如何使用泛型? 泛型函数: 1fn largest<T>(list: &[T]) -> T{ 2 .. 3} 泛型结构体: 1struct Point<T> { 2 x: T, 3 y: T, 4} 5 6fn main() { 7 let integer = Point { x: ...
Windows10+ArchLinux重安装
2023.02.18 23:26
2024.04.07 16:45
windows
3804字
系列文章 原始问题: win11下第一次启动chrome卡死 - rqdmap | blog 昨天礼拜五, 晚上带了电脑回来准备鸭子杀, 刚开机就有不详的感觉, 哪有名字叫self-signed的证书 自己认证自己… 更加让人觉得是中毒了… 不过好像其实是和clash有关.. 不管了, 因为这就是 ...
ArchLinux上安装zathura-develop
2023.02.13 01:35
2023.05.29 23:05
Linux
zathura
源码包
1857字
起因是因为Zathura作为一款我很喜欢的使用键盘移动的PDF阅读器, 居然拥有如此糟糕的划词功能(Text Select), 其划词功能通过一个方框框选出一片区域, Zathura自动提取出其中的文本, 并自动复制到剪贴板, 看上去很美好但是存在两个问题: 选区粒度粗, 不能做到精准到某个字符 划词不准确, 有 ...
网络实验复杂组网
2023.01.14 00:51
2023.05.29 23:05
网络
MPLS
VPN
6269字
实验内容 本实验将模拟一个全国范围的银行主干网络, 采用总行数据中心、省行和地市行的三级架构,业务接入基于MPLS VPN体系结构进行部署。充分考虑网络的安全性和可靠性规划网络拓扑结构,根据业务接入需求统一规划VPN、IP地址和子网,采用设备备份、链路备份、路由备份等技术保证网络的可靠 ...
网络实验MPLS/VPN
2023.01.08 23:55
2023.05.29 23:05
网络
MPLS
VPN
6024字
偷懒偷的都是自己的懒… 虽然考完试了, 但是之前没有整理MPLS/VPN的内容, 确实对这块不敢说是很清楚… 在此之前 曾经尝试了更新系统来修复打开chrome/任务管理器卡死的问题, 当时就提示说此次更新与vmware冲突, 需要卸载vmware… 事 ...
win11下第一次启动chrome卡死
2023.01.08 22:20
2024.04.07 16:45
windows
chrome
3586字
系列文章 系统重装: Windows10+ArchLinux重安装 - rqdmap | blog 很魔幻的问题以及最后的解决办法… TL; DR 问题描述: 机器为 Dell G5520, 自行更换过西数 2T 黑盘, 使用一段时间后出现第一次打开应用时(Chrome最为明显)整个系统直接卡死的问题, 有时等待5分钟左右可以自行恢复正常, ...
trash:取代危险的rm
2023.01.01 13:23
2023.05.29 23:05
Linux
rm
shell
594字
rm 指令十分的危险… 为此希望实现一个回收站. archwiki给出了一些可用的建议Trash management, 用下来体验不好, 打算自己搞一个. 第一版的trash自己解析了输入的参数.. 然后加上unix时间戳后mv到一个指定的公共磁盘分区上(因而其实性能也不太好, 尤其是大文件的删除时), ...
Linux文件权限
2023.01.01 12:48
2023.05.29 23:05
Linux
文件权限
2010字
其实对于Linux的文件权限一直一知半解, 之前使用php尝试访问sqlite的时候就发生了文件权限的惨案, 至今也不知道为什么会这样.. 当时的情况是, 将博客的public文件夹放置在服务器的/usr/share/nginx/html下就会G, 哪怕对数据库文件+该文件所在的目录都设置了777权限后php还是无法访问该目录下的sqlite DB; 修改放置位置到/srv/http/下就可以了, 而且不需要设置777, 设置为755即可.. 但是其实之前也考虑到文件权限等等, 因而将nginx和php-fpm的用户全部设置为了rqdmap, 而public文件的用户和组也全部都是rqdmap… 为何放到/srv下就可以了呢… 疑案未决… 因而准备稍微系统看一下Linux的文件权限管理. ...
实现Hit Counter访客统计
2022.12.19 14:43
2023.05.29 23:05
技术
php
sqlite
1143字
找了下网络上的但是不是很满意… 所以打算自己通过前后端实现一下Hit Counter来进行访客统计. 后端总体通过nginx + php-fpm + sqlite实现. ...
网络实验(MPLS基础与考试)
2022.12.19 12:20
2023.05.29 23:05
网络
MPLS
7688字
将所有的图片放在一个Markdown中太傻逼了, 超过了200张图片, 因而本篇博客再单独记录MPLS与网管的相关内容, 同时努力不再采用图片格式, 而是用Plain Text展示相关实验内容. 不过比较怠惰, MPLS VPN只是结合着教材上做了一下实验, 没有进行记录; 网管则是觉得过于傻逼, 加上ensp也没有网管软件, 很多报文都没法复现, 直接跳过不管. ...
vim使用技巧
2022.12.12 23:34
2023.05.29 23:05
vim
7606字
不知道怎么就放弃了VSC… 极为朴素的用了3个月Vim… 最近越发觉得不能够得心应手的进行编辑了, 因而感觉是时候系统地再精进一下Vim了 首先记一下VSC的一些问题… 完全的OSS版本中, 许多插件都没有上线, 这样的VSC几乎无法使用了, 或许有什么 ...
trojan+nginx共用443端口
2022.12.08 19:41
2023.05.29 23:05
Linux
nginx
trojan
906字
当远端服务器的443与80端口已经运行着Http Server后, 如何复用端口以允许trojan同样监听443呢? ...
Linux下为Chrome开启代理
2022.12.07 23:00
2023.05.29 23:05
Linux
Chrome
Proxy
Linux
334字
由于没有使用集成的桌面环境, 因而chrome没法读取全局代理的信息, 每次更新AUR chrome后都需要手动修改… 这里小小mark一下解决办法(或许今后可以做更加自动化的钩子什么的… 再说) Rofi命令行启动的应该是桌面程序(?), 在这个地方:/usr/s ...
网络实验(OSPF,BGP与组播)
2022.11.27 18:14
2023.05.29 23:05
网络
OSPF
BGP
组播
SNMP
MPLS
16645字
本文章包含200张图片… 请务必慎重打开该文章… 该博客主要为网络实验的全面复盘, 包括: OSPF, BGP, 组播, 网络管理与MPLS. 参考了大量张力军老师的《计算机网络实验教程》, 通过ensp进行各项实验与分析. 后记, 本博客OSPF和组播的介绍比较系统比较好, 但是BGP不知道当时在整理的时候处于什么精神状态, 导致BGP的内容整理比较答辩… ...
Stratovirt + Unikraft + Redis
2022.11.19 18:26
2024.01.05 00:01
技术
stratovirt
unikraft
2267字
尝试在stratovirt虚拟机上运行基于unikraft的redis, 并测试1G内存可以运行多少个实例, 但是行百里者半九十, 折腾了半天的网桥和DHCP, 又换了红帽, arch和debian系列的rootfs, 最终ubuntu总算把kraft成功build起来, 结果最后一步死活不行 ...
ULK 中断与异常
2022.09.03 19:41
2023.05.29 23:05
23588字
中断被定义为一个事件, 该事件将改变处理的指令执行顺序. 中断分为同步中断和异步中断, 在Intel微处理器手册中, 它们分别被称为异常和中断. 中断是由定时器或IO设备产生的; 而异常是由程序的错误产生的, 或是由内核必须处理的异常条件(如缺页, 对内核服务的请求等)产生的, 前者内核通过发送信 ...
ULK 内存管理
2022.07.29 19:50
2023.05.29 23:05
Linux
Kernel
内存
33748字
页框管理 尽管奔腾处理器允许采取两种不同大小的页框:4KB和4MB(PAE被激活则是2MB),但是Linux采用4KB页框大小作为基本分配单元,基于两个原因: 由分页单元引发的缺页异常很容易得到解释:或者是页无权访问,或者是页不存在。在后一种情况下,内存分配器仅仅需要找到一个4KB空 ...
6.828(2021)
2022.05.17 19:56
2023.05.29 23:05
OS
4815字
代码存放于rqdmap/6.828-2021下的各个Branch中 Trap RISC-V的trap机制 在RISC-V中,使用ecall、发生exception和产生中断会使得CPU的控制流改变,转而去执行特殊任务以处理这些事件,这些事件被称为trap. 为了完成trap处理事件,RSIC- ...
Promela初探
2021.11.29 18:44
2023.06.20 21:58
技术
spin
Promela
协议分析技术
1457字
由于要处理协议分析的大作业,接触了spin和Promela,下面整理一些内容作为记录。 基础语法 参考资料: Promela-维基百科 Promela-Manual 数据类型 内置的基础类型有:bit(u1), bool(u1), byte(u8), short(16), int(32)等, 这里前缀u表示无符号数。 声明一个变量可以类Ctypename name [ = anyexpr ]), 也可以使用这种 ...
C内联汇编-AT&T
2021.10.13 23:02
2023.05.29 23:05
技术
汇编语言
内联汇编
2869字
GCC-Inline-Assembly-HOWTO GCC 汇编语法 GCC采用AT&T的汇编语法,这和intel汇编语法有一些不同: 操作数的顺序。intel语法通常是op dst src,在AT&T语法中则是op src dst 寄存器命名时需要加上%作为前缀 立即数的表示。AT&T立即数以$作为前缀,对于字符串常量而言也需要加上该前 ...
ULK 进程
2021.10.04 16:28
2023.05.29 23:05
Linux
Kernel
进程
32210字
进程、轻量级进程和线程 进程是资源分配的实体,而线程是作业调度的基本单位。Linux使用轻量级进程来支持多线程应用程序,轻量级进程之间可以共享一部分资源,诸如地址空间、打开的文件等,通过将轻量级进程和线程关联起来就可以实现多线程应用程序。 进程描述符 进程描述符包含了与一个进程有关的所 ...
ULK 内存寻址
2021.10.04 16:28
2023.05.29 23:05
Linux
Kernel
内存寻址
7583字
绪论 绪论中从总体的框架介绍了一下操作系统、文件系统与Unix内核相关内容,不予过多赘述。 一个新学到的内容是可重入(内核,这意味着多个进程可以同时在内核下执行。这个特性太过于自然以至于让我一直没有注意到也没有在教材上见过,如果某个进程在内核态中被阻塞被挂起,那么它当然不应该影响到其 ...
SEU夏令营回忆录_and_近况杂谈
2021.09.09 22:58
2023.05.29 23:05
杂谈
2798字
对一个月前的东南大学夏令营的回忆,并杂乱地记录一些近日杂谈.. -1 现在电脑出了点问题都不知道是哪里爆炸了,有可能是挫比linux系统爆炸,有可能是挫比typora for linux兼容性不行,有可能是老键盘连接不稳定,还有可能自己误操作…….为了正确写个mardown还重启了电脑… 更新博客一拖再拖…当初面试完SEU后基本就彻底躺平,一直没有高兴记录博客;加上各种夏令营的具体情况理论上不得外传,显然不能发在部署在github的公开网页中,又想捣鼓有一下自定义theme的web前端后端技术,不过终归是无功而返…中断的嵌套层数太多,让人彻底失去一项项补全的耐心了,也就一拖到底了主要是打游戏躺平不香吗 ...
iie夏令营记
2021.07.31 00:15
2023.05.29 23:05
杂谈
2158字
iie(伪)夏令营记 ...
LinuxKernel
2021.07.17 22:09
2023.05.29 23:05
Linux
Kernel
523字
深入理解Linux内核学习笔记 前言 想要学习Linux内核的契机大抵源于读OS相关的paper时感到力不从心,就正好趁机学习一下素来感兴趣的内核知识。 写下“兴趣”二字后不禁想到日向晶也的论述,兴趣绝不能成为训练的动力,否则遇挫后兴趣消失也就自然放弃了训练;然而学习内核确实也没有什么 ...
ECNU夏令营记
2021.07.13 23:35
2023.05.29 23:05
杂谈
2494字
华东师范大学计算机营游记 ...
BUAA夏令营记
2021.07.12 21:45
2023.05.29 23:05
杂谈
1627字
...
BMP-FS
2021.05.28 20:14
2023.05.29 23:05
BMP
1884字
BMP文件格式初探 实现BMP文件的放缩 搜索资料时找到,笑死。 此为课程设计的第四题,这道题体现了大作业的精髓:在抄中知道,在抄中学习,在抄中苟且。 BMP 文件结构 一般的情况如下所示,摘自wiki Structure name Optional Size Purpose Comments Bitmap file header No 14 bytes To store general information about the bitmap image file Not needed after the file is loaded in memory DIB header No Fixed-size (7 different versions exist) To store detailed information about the bitmap image and ...
linux多线程
2021.03.23 12:45
2023.05.29 23:05
Linux
多线程
2090字
在linux下,Pthread是一套通用的线程库,由POSIX提出,具有较好的移植性。 使用头文件<pthread.h> 线程基本操作 线程的创建与退出 pthead_create 1int pthread_create(pthread_t *thread, pthread_attr_t * attr, void *(*start_routine)(void *), void *arg); 传入参数:thread为线程标识符,attr为线程属性设置,start_routine为线程函数起 ...
Linux 下的 socket 编程
2021.03.23 12:45
2024.03.02 20:27
Linux
7726字
基础知识 socket常用函数 socket domain指定协议族,type指定socket类型,protocol指定协议(为0时自动选择type类型对应的默认协议) 1int socket(int domain, int type, int protocol); 返回值大于0成功;-1失败,错误类型保存在全局变量errno中。 bind 分配地址族中的特地地址给socket sockfd ...
2020数据库实验
2021.01.15 23:04
2023.05.29 23:05
数据库
SQL
前后端
5228字
前端使用html,后台使用mysql数据库,使用php处理数据库,完成数据库课程的学籍管理系统大作业。 特此记录,有机会的话还是希望学习一番全栈的内容。 别的班好像做的都绘声绘色的,我们班验收者则寥寥,我太菜了 前台html服务 写的非常丑陋,很多冗余的代码,自己确实完全是个门外汉qaq ...
微信小程序
2020.12.07 23:44
2023.05.29 23:05
技术
前后端
PHP
SQL
微信小程序
2070字
记一次微信小程序的搭建过程。 前端wxml+wxss+js,后端apache2+php+mysql 尽管为了完成微信小程序的基本功能只需要略知上述内容的皮毛即可,但是从零开始仍然是过程坎坷,花费了许多夜晚才略有成效;故特此记录。 后端apache服务器的配置 apache2 最初不知道从哪里安装了一个 ...
创建时间
修改时间
字数