rqdmap
博文
/
Posts
算法
/
ACM
漫评
/
Anime
黑洞
/
Archive
分类
/
Categories
标签
/
Tags
关于
/
About
日志
/
Changelog
订阅
/
RSS
开往
/
Travelling
博文
/
Posts
算法
/
ACM
漫评
/
Anime
黑洞
/
Archive
分类
/
Categories
标签
/
Tags
关于
/
About
日志
/
Changelog
订阅
/
RSS
开往
/
Travelling
字节后端实习申请记录
2023.09.14 16:43
2023.09.25 19:04
杂谈
实习
字节
后端
2944字
...
Mac(x86派)的废物再利用
2023.09.09 19:48
2023.09.20 21:34
技术
网络
frp
btrfs
备份
9102字
手头有一个退下来的mbp, 是老版本因而搭载的还是x86的CPU, 同时由于电源被我通过拓展坞充了次电而弄坏过, 因而一旦断电会光速关机.. 加上mbp真的是用到后面(大概4年)越用越卡, 让人怀疑macos是不是搞了什么鬼或怎么样.. 总之这台机子不太能当作主力机了, 退下来后也没怎么用过, ...
正定私募实习申请小记
2023.09.07 16:15
2023.09.19 16:35
杂谈
实习
2590字
...
Rust项目结构与测试
2023.09.06 16:05
2023.09.06 16:33
Rust
包
模块
测试
4000字
由于rqdmap/rust-in-competitive-programming项目冉冉升起, 希望对代码更加有条理地进行维护和组织, 因而学习一下cargo中有关项目, 包, 模块, 以及测试的一些内容, 做一个简单够用的知识学习与整理. 实际上是项目代码写了不少了, 整体结构也划分好了, 再来 ...
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 ...
不安全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操作系统实践
2023.07.23 20:38
2023.08.16 21:51
OS
Rust
RISC-V
QEMU
574字
系列文章 一、rCore-OS: 基本执行环境 - rqdmap | blog 二、rCore-OS: 批处理系统 - rqdmap | blog 三、rCore-OS: 多道程序与分时系统 - rqdmap | blog 在寻找Rust实践性的学习材料的过程中发现了rCore-OS项目, 其基于RISC-V架构实现一个用Rust写的操作系统; 教程看上去也不错, 十分 ...
rCore-OS: 基本执行环境
2023.07.24 19:30
2023.08.16 21:51
OS
Rust
RISC-V
QEMU
9579字
系列文章 rCore操作系统实践 - rqdmap | blog 本章主要是讲解如何设计和实现建立在裸机上的执行环境, 并让应用程序能够在这样的执行环境中运行. 导言中说: 大多数程序员的第一行代码都从 Hello, world! 开始,当我们满怀着好奇心在编辑器内键入仅仅数个字节,再经过几行命令编译(靠的是编译器)、运行(靠的是操作系统 ...
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.21 02:13
2023.07.24 21:44
技术
字体
网页
2784字
这是一个令人兴奋的想法! 其目的在于按需精简字体库, 以使得网页在保证显示效果的同时减少需要传输的数据量. 我个人使用的字体为思源黑的CJK+Iosevka的西文, 为了实现强制爱(x), 之前对于博客字体的处理方式都是用css指定本地的字体文件, 手动压一份woff2的Iosevka和思源 ...
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的 ...
软件所实习体会与总结
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代码进行简单的分析. ...
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 ]), 也可以使用这种 ...
微信小程序
2020.12.07 23:44
2023.05.29 23:05
技术
前后端
PHP
SQL
微信小程序
2070字
记一次微信小程序的搭建过程。 前端wxml+wxss+js,后端apache2+php+mysql 尽管为了完成微信小程序的基本功能只需要略知上述内容的皮毛即可,但是从零开始仍然是过程坎坷,花费了许多夜晚才略有成效;故特此记录。 后端apache服务器的配置 apache2 最初不知道从哪里安装了一个 ...
2020数据库实验
2021.01.15 23:04
2023.05.29 23:05
数据库
SQL
前后端
5228字
前端使用html,后台使用mysql数据库,使用php处理数据库,完成数据库课程的学籍管理系统大作业。 特此记录,有机会的话还是希望学习一番全栈的内容。 别的班好像做的都绘声绘色的,我们班验收者则寥寥,我太菜了 前台html服务 写的非常丑陋,很多冗余的代码,自己确实完全是个门外汉qaq ...
socket
2021.03.23 12:45
2023.05.29 23:05
Socket
7726字
基础知识 socket常用函数 socket domain指定协议族,type指定socket类型,protocol指定协议(为0时自动选择type类型对应的默认协议) 1int socket(int domain, int type, int protocol); 返回值大于0成功;-1失败,错误类型保存在全局变量errno中。 bind 分配地址族中的特地地址给socket sockfd ...
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为线程函数起 ...
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 ...
BUAA夏令营记
2021.07.12 21:45
2023.05.29 23:05
杂谈
1627字
...
ECNU夏令营记
2021.07.13 23:35
2023.05.29 23:05
杂谈
2494字
华东师范大学计算机营游记 ...
LinuxKernel
2021.07.17 22:09
2023.05.29 23:05
Linux
Kernel
523字
深入理解Linux内核学习笔记 前言 想要学习Linux内核的契机大抵源于读OS相关的paper时感到力不从心,就正好趁机学习一下素来感兴趣的内核知识。 写下“兴趣”二字后不禁想到日向晶也的论述,兴趣绝不能成为训练的动力,否则遇挫后兴趣消失也就自然放弃了训练;然而学习内核确实也没有什么 ...
iie夏令营记
2021.07.31 00:15
2023.05.29 23:05
杂谈
2158字
iie(伪)夏令营记 ...
SEU夏令营回忆录_and_近况杂谈
2021.09.09 22:58
2023.05.29 23:05
杂谈
2798字
对一个月前的东南大学夏令营的回忆,并杂乱地记录一些近日杂谈.. -1 现在电脑出了点问题都不知道是哪里爆炸了,有可能是挫比linux系统爆炸,有可能是挫比typora for linux兼容性不行,有可能是老键盘连接不稳定,还有可能自己误操作…….为了正确写个mardown还重启了电脑… 更新博客一拖再拖…当初面试完SEU后基本就彻底躺平,一直没有高兴记录博客;加上各种夏令营的具体情况理论上不得外传,显然不能发在部署在github的公开网页中,又想捣鼓有一下自定义theme的web前端后端技术,不过终归是无功而返…中断的嵌套层数太多,让人彻底失去一项项补全的耐心了,也就一拖到底了主要是打游戏躺平不香吗 ...
ULK 内存寻址
2021.10.04 16:28
2023.05.29 23:05
Linux
Kernel
内存寻址
7583字
绪论 绪论中从总体的框架介绍了一下操作系统、文件系统与Unix内核相关内容,不予过多赘述。 一个新学到的内容是可重入(内核,这意味着多个进程可以同时在内核下执行。这个特性太过于自然以至于让我一直没有注意到也没有在教材上见过,如果某个进程在内核态中被阻塞被挂起,那么它当然不应该影响到其 ...
ULK 进程
2021.10.04 16:28
2023.05.29 23:05
Linux
Kernel
进程
32210字
进程、轻量级进程和线程 进程是资源分配的实体,而线程是作业调度的基本单位。Linux使用轻量级进程来支持多线程应用程序,轻量级进程之间可以共享一部分资源,诸如地址空间、打开的文件等,通过将轻量级进程和线程关联起来就可以实现多线程应用程序。 进程描述符 进程描述符包含了与一个进程有关的所 ...
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立即数以$作为前缀,对于字符串常量而言也需要加上该前 ...
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- ...
ULK 内存管理
2022.07.29 19:50
2023.05.29 23:05
Linux
Kernel
内存
33748字
页框管理 尽管奔腾处理器允许采取两种不同大小的页框:4KB和4MB(PAE被激活则是2MB),但是Linux采用4KB页框大小作为基本分配单元,基于两个原因: 由分页单元引发的缺页异常很容易得到解释:或者是页无权访问,或者是页不存在。在后一种情况下,内存分配器仅仅需要找到一个4KB空 ...
ULK 中断与异常
2022.09.03 19:41
2023.05.29 23:05
23588字
中断被定义为一个事件, 该事件将改变处理的指令执行顺序. 中断分为同步中断和异步中断, 在Intel微处理器手册中, 它们分别被称为异常和中断. 中断是由定时器或IO设备产生的; 而异常是由程序的错误产生的, 或是由内核必须处理的异常条件(如缺页, 对内核服务的请求等)产生的, 前者内核通过发送信 ...
Stratovirt + Unikraft + Redis
2022.11.19 18:26
2023.05.29 23:05
虚拟化
stratovirt
unikraft
2267字
尝试在stratovirt虚拟机上运行基于unikraft的redis, 并测试1G内存可以运行多少个实例, 但是行百里者半九十, 折腾了半天的网桥和DHCP, 又换了红帽, arch和debian系列的rootfs, 最终ubuntu总算把kraft成功build起来, 结果最后一步死活不行 ...
网络实验(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的内容整理比较答辩… ...
Linux下为Chrome开启代理
2022.12.07 23:00
2023.05.29 23:05
Linux
Chrome
Proxy
Linux
334字
由于没有使用集成的桌面环境, 因而chrome没法读取全局代理的信息, 每次更新AUR chrome后都需要手动修改… 这里小小mark一下解决办法(或许今后可以做更加自动化的钩子什么的… 再说) Rofi命令行启动的应该是桌面程序(?), 在这个地方:/usr/s ...
trojan+nginx共用443端口
2022.12.08 19:41
2023.05.29 23:05
Linux
nginx
trojan
906字
当远端服务器的443与80端口已经运行着Http Server后, 如何复用端口以允许trojan同样监听443呢? ...
vim使用技巧
2022.12.12 23:34
2023.05.29 23:05
vim
7606字
不知道怎么就放弃了VSC… 极为朴素的用了3个月Vim… 最近越发觉得不能够得心应手的进行编辑了, 因而感觉是时候系统地再精进一下Vim了 首先记一下VSC的一些问题… 完全的OSS版本中, 许多插件都没有上线, 这样的VSC几乎无法使用了, 或许有什么 ...
网络实验(MPLS基础与考试)
2022.12.19 12:20
2023.05.29 23:05
网络
MPLS
7688字
将所有的图片放在一个Markdown中太傻逼了, 超过了200张图片, 因而本篇博客再单独记录MPLS与网管的相关内容, 同时努力不再采用图片格式, 而是用Plain Text展示相关实验内容. 不过比较怠惰, MPLS VPN只是结合着教材上做了一下实验, 没有进行记录; 网管则是觉得过于傻逼, 加上ensp也没有网管软件, 很多报文都没法复现, 直接跳过不管. ...
实现Hit Counter访客统计
2022.12.19 14:43
2023.05.29 23:05
技术
php
sqlite
1143字
找了下网络上的但是不是很满意… 所以打算自己通过前后端实现一下Hit Counter来进行访客统计. 后端总体通过nginx + php-fpm + sqlite实现. ...
fook Nvidia!
2022.12.20 15:17
2023.05.29 23:05
Linux
linux drivers
nvidia
显卡
948字
Nvidia闭源驱动问题多多… 本机是Dell G5520, 搭载Intel核显+nvidia GeForce 3060独显. 曾经的kde archlinux好像是从来没有过显卡的适配问题, 可以在多屏幕、多显卡(主要是hdmi接口必须要nvidia显卡来驱动)的情况下完美运行. 但是目前的archlinux + bspwm + sddm就是偶尔会有问题… 甚至最开始一段时间重新装回了kde全家桶, 随后问题好像还是存在, 也不知道之前怎么成功的.. 总之就是问题多多… 一些问题来源于linux+nvidia的软件包问题, 退化后可能就可以解决; 目前的问题很古怪, 不修改任何包和配置, 仅仅重启后可能就会莫名的坏掉/好起来, 最大的表现特点是, 引导完linux进入到sddm界面时, 有时候会忽然crash? 回到黑框框中, 随后sddm会自动重启, 看到这个界面就可以认为是nvdia+intel均成功启动了. 但是若是没有crash与自动重启, 大概率就是会G一个; 针对该问题目前的解决方案是运行sudo nvidia-xconfig生成/etc/X11/xorg.conf, 生成后intel显卡会G, 但是nvidia能100%启动, 这样我的工作屏幕会大一些, 至少还能用.. 该博客尚且是半成品, 因为这个问题历史悠久, 但是一直不能很好的解决, 真的吐了… 自从装这套archlinux以来可能几乎有一半的配置or调试时间都花在显卡驱动上… 很难不让人想要大喊一声标题: Fook U Nvidia! ...
CS144-Lab0
2022.12.31 20:56
2023.05.29 23:05
网络
Linux
socket
C++
TCP/IP
2923字
据说会使用C++一步步搭建自己的Linux TCP/IP协议栈, 应该是非常哦莫西路的! 选用的是CS144 2021 Fall. ...
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的文件权限管理. ...
trash:取代危险的rm
2023.01.01 13:23
2023.05.29 23:05
Linux
rm
shell
594字
rm 指令十分的危险… 为此希望实现一个回收站. archwiki给出了一些可用的建议Trash management, 用下来体验不好, 打算自己搞一个. 第一版的trash自己解析了输入的参数.. 然后加上unix时间戳后mv到一个指定的公共磁盘分区上(因而其实性能也不太好, 尤其是大文件的删除时), ...
win11下第一次启动chrome卡死
2023.01.08 22:20
2023.05.29 23:05
windows
chrome
2456字
很魔幻的问题以及最后的解决办法(?)… 前言 故事的开始可能要追溯到11月… 当时关注了08所以去下载了个盗版的游戏… 不过好像不太正规, ra2怎么说也要100MB结果下载的文件只有几MB.. 当时感觉应该不会死吧就点开了看看.. 随后恐怖的事情发生 ...
网络实验MPLS/VPN
2023.01.08 23:55
2023.05.29 23:05
网络
MPLS
VPN
6024字
偷懒偷的都是自己的懒… 虽然考完试了, 但是之前没有整理MPLS/VPN的内容, 确实对这块不敢说是很清楚… 在此之前 曾经尝试了更新系统来修复打开chrome/任务管理器卡死的问题, 当时就提示说此次更新与vmware冲突, 需要卸载vmware… 事 ...
网络实验复杂组网
2023.01.14 00:51
2023.05.29 23:05
网络
MPLS
VPN
6269字
实验内容 本实验将模拟一个全国范围的银行主干网络, 采用总行数据中心、省行和地市行的三级架构,业务接入基于MPLS VPN体系结构进行部署。充分考虑网络的安全性和可靠性规划网络拓扑结构,根据业务接入需求统一规划VPN、IP地址和子网,采用设备备份、链路备份、路由备份等技术保证网络的可靠 ...
ArchLinux上安装zathura-develop
2023.02.13 01:35
2023.05.29 23:05
Linux
zathura
源码包
1857字
起因是因为Zathura作为一款我很喜欢的使用键盘移动的PDF阅读器, 居然拥有如此糟糕的划词功能(Text Select), 其划词功能通过一个方框框选出一片区域, Zathura自动提取出其中的文本, 并自动复制到剪贴板, 看上去很美好但是存在两个问题: 选区粒度粗, 不能做到精准到某个字符 划词不准确, 有 ...
Windows10+ArchLinux重安装
2023.02.18 23:26
2023.05.29 23:05
windows
3772字
昨天礼拜五, 晚上带了电脑回来准备鸭子杀, 刚开机就有不详的感觉, 哪有名字叫self-signed的证书 自己认证自己… 更加让人觉得是中毒了… 不过好像其实是和clash有关.. 不管了, 因为这就是它的遗照了: 书接上文 最开始的一些问题背景和初步解决方案(但失败了 ...
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: ...
基于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实时内 ...
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? 编译了打好补丁的内 ...
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; ...
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 ...
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的情况, 而且该问题近期才出现, 因而并 ...
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 ...
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上进行实验即可. 总体设计 下图展示了该单周期处 ...
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机制呢? 为了期待一场长时间的讨论, ...
阿里云C/C++研发实习申请小记
2023.04.16 20:43
2023.05.29 23:05
杂谈
实习
5529字
找实习的时候有看了看阿里云的校招网站, 但是其实没有发现在哪里投递.. 最后其实根本就没有投递阿里云的岗位 但是某一天忽然接到阿里云的人给我打电话… 太神秘了, 要么是在BOOS第三方平台看到了, 要么是阿里云校招网站点击就会被记录?.. (但我也没登陆啊) 下面就简单记录一下面试/机试的一些过程. 由于相关规定, 以下内容不应得到公开传播, 因而设置访问密码, 用作个人记录! ...
华为终端BG申请小记
2023.04.26 21:00
2023.05.29 23:05
杂谈
实习
2388字
由于相关规定, 以下内容不应得到公开传播, 因而设置访问密码, 用作个人记录! ...
NixOS: 选择与放弃
2023.05.24 17:50
2023.05.29 23:05
Linux
Nix
NixOS
2721字
偶然听说了NixOS, 其万物皆配置文件的理念深深地吸引了我. 由于Arch下的pacman对于系统的监控总是不够地完全, 完全可能出现安装的某个包被卸载后一些配置/数据文件遗留在本机(经过测试, pacman -Rsun并不行, 后续考虑结合pacman -Ql写一些钩子函数), 或者是我修改了若干位于 ...
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: ...
创建时间
修改时间
字数