自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(484)
  • 资源 (68)
  • 收藏
  • 关注

原创 tokio多任务绑定cpu(绑核)

程序非常简单,首先构造一个 tokio runtime 环境,然后派生多个 tokio 并发,每个并发执行一个无限循环做 overflowing_add。overflowing_add 函数返回一个加法的元组以及一个表示是否会发生算术溢出的布尔值。如果会发生溢出,那么将返回包装好的值。core_affinity_rs 是一个用于管理 CPU 亲和力的 Rust crate。通过调整 idx,将派生并发平均绑定在指定的 core 上。上面的代码只是把负载绑定到了一个 core 上,那么要绑定多个核怎么办呢?

2024-04-22 22:31:36 442

原创 一个完全用rust写的开源操作系统-Starry

Starry是2023年全国大学生计算机系统能力大赛操作系统设计赛-内核实现赛的二等奖作品。Starry是在组件化OS的arceos的基础上,进行二次开发的操作系统内核,使用宏内核架构,能够运行Linux应用的内核。原始的操作系统大赛的仓库为目前的宏内核的arceos的开发仓库https://github.com/Arceos-monolithic (推荐)(目前仅仅建议使用较为稳定的riscv64架构)

2024-04-19 10:57:56 910 2

原创 Fast-DDS编译安装方法

Fast-DDS编译安装方法

2024-04-19 10:14:31 414

原创 突然间我懂了软件

软件需要有人通盘理解它的运作机制,所以单个工程师有可能比一个职业开发团队造出更好的产品。因为单个工程师花时间,完整理解了他要构建的软件,而职业开发团队总是从一个项目转移到另一个项目。单枪匹马的工程师能做出比同样有能力的专业团队更好的产品。单干的工程师会花时间为自己的程序建立一套完整的理论,而专业人员则会定期在不同的项目之间流动,他们只对自己做过的项目有理论。为什么说掌握陌生项目的速度要比重建项目难得多?这也是为什么接手不熟悉的项目,比重建该项目要困难得多,以及为什么软件外包的质量总是如此糟糕。

2024-01-12 09:35:37 398

原创 让KVM支持滚动热升级:Multi-KVM

Multi-KVM 允许多个独立的 KVM 模块在同一台 Linux主机上同时加载、卸载和运行。

2023-11-28 19:06:37 1091

原创 为什么 x86 操作系统从 0x7c00 处开始

"CPU Monitor"程序提供了引导加载程序和调试器,这个"CPU Monitor"引导加载程序将 MBR 加载到"0x200",而不是"0x7C00"。如上所述,这个神奇的数字诞生于 1981 年,"IBM PC/AT Compat" PC/BIOS 供应商为了 BIOS 和操作系统的向后兼容性,从没改变过这个值。

2023-11-23 22:38:09 987

原创 X86 bios 中断大全

x86 BIOS中断大全

2023-11-15 22:50:42 176

原创 如何学习 Linux 内核内存管理

LSF/MM 是一年一度的 Linux 存储、文件系统和内存管理峰会,这是一个仅限受邀者参加的活动,人们通常会讨论下一年的计划和项目。通常在阅读代码时,如果有不明白的地方,我会使用 “git blame”。特别是在mm 部分,开发人员习惯于写详细的提交日志(附带测试用例/程序),以便自己和其他人将来可以参考。Linux内核内存管理部分是Linux内核中第二复杂的部分,但也非常有趣。

2023-10-26 22:28:33 479

转载 存储稳定性测试与数据一致性校验工具和系统

存储稳定性测试与数据一致性校验工具和系统:https://github.com/zhangyoujia/hd_write_verify

2023-10-20 13:55:09 152

原创 一个虚拟机管理器(VMM)的实现

Little Computer-3(简称 LC-3)是用于教学的汇编语言,它有着相比于 x86 更为简洁的指令集,同时包含了主流 CPU 的经典思想。LC-3 麻雀虽小,五脏俱全。它的规范不算太多,本文实现一个LC-3 CPU的虚拟机管理程序。

2023-10-18 07:14:15 473

原创 基于LQR算法的一阶倒立摆控制

(F为外力,x为物块位移,M,m为物块和摆杆的质量,φ为摆杆相对竖直向上方向的角度)倒立摆的受力分析网上有很多,这里就不再叙述。

2023-09-20 10:12:07 1775 1

原创 centos7配置iscsi共享存储-tgtd

iSCSI又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。iSCSI的实现方法主要有tgtd、LIO、SCST、IET等几种方式。

2023-09-13 10:50:48 1119

原创 一个简单的文件系统(MinixFS)实现解析

Minix file system 是 Andrew S. Tanenbaum 在 1980 年代发明的文件系统, 并随着 Minix 操作系统一起于 1987 年发布。Linus 编写 Linux 内核第一个版本的时候, 使用的也是 Minix FS, Linux 至今依然提供了对 Minix FS 的支持。Minix FS 结构简单, 易于理解。

2023-09-05 22:38:33 523 1

原创 转载:为什么国外把邮件当微信一样发?

所以,一般谁要是跟我聊天说事情,我一旦发现这次聊天是这个目的,我就会让对方想明白了,写段文字发给我。当然,对于很多人而言,对方是他的甲方或领导,他没有办法这样要求对方。但是,如果你发现对方是这样的工作作风只,那么至少你可以断定,对方自己都没有思路,或者思维能力很差。你自己思考30分钟,给我写个邮件,我花3分钟看完,两个人一共消耗33分钟。在你问我答的过程中,通过别人的思考,别人因为听不懂他而发出的追问,把自己的思路整理出来。你让他写一封邮件,或者用一个文档,或者稍微系统一些的一段文字,来表述他的想法。

2023-09-05 09:54:10 132

原创 一个国产存储一致性及稳定性测试工具介绍

项目地址:https://github.com/zhangyoujia/hd_write_verify。

2023-08-29 12:06:17 418

原创 linux内核bitmap之setbit汇编实现

linux内核mm/swap.c中bitop通过宏定义了三个位操作函数,分别是 bit() 测试位,setbit() 置位,clrbit() 清除位。

2023-08-09 18:54:44 680

原创 安卓5.x安装Termux

由于Termux7.9版本之后,仅支持7.0以上的安卓系统。这里使用旧版本进行安装。版本信息:安卓 5.0.1。

2023-08-07 20:07:26 749

原创 僵尸进程(Zombie process )及孤儿进程简介

僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占用的相关资源。在 unix/linux 系统中,一个进程结束了,但是他的父进程没有等待(调用)他, 那么他将变成一个僵尸进程。

2023-08-02 09:42:20 402

原创 libvirt 热迁移流程及参数介绍

源节点 libvirtd 通过 RPC 的方式调用目标节点 qemuMigrationFinish 方法,在目标节点停止 NBD server,并调用 qemuProcessStartCPUs 使目标节点虚拟机进入运行状态。,源节点通过 RPC 的方式调用目标节点 domainMigratePrepare3Params 函数,在目标节点启动一个带 incoming 参数的虚拟机,然后启动 NBD server。:迁移稳定性差,迁移过程中虚拟机性能下降,网络延迟高时,对业务影响大。

2023-07-14 10:57:37 2689 1

原创 X86和X87汇编指令大全(有注释)

它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据。

2023-07-01 15:09:28 1097

原创 一些想法:关于学习一门新的编程语言

背景介绍很多人可能长期使用一种编程语言,并感到很有成就感和舒适感,发现学习一种新的编程语言的想法令人生畏而痛苦。或者可能知道并使用多种编程语言,但有一段时间没有学习新的语言。更或者可能只是好奇别人是如何潜心学习新的编程语言并迅速取得成效的。无论学习新的编程语言有多容易或多困难,这篇文章解释了我如何学习新的编程语言及一些思考。虽然人们学习的方式不同,但发现我自己的过程很有趣,特此记录下来。背景介绍。

2023-04-26 08:13:52 523 1

原创 三种不同实现ublk的零拷贝I/O的方法

接收Fused命令的子系统必须对它有特殊的支持,具体来说,它必须能够找到slave命令的内核空间缓冲区,并在slave执行之前调用新函数 io_fused_cmd_provide_kbuf() 建立连接,这是对 io_uring 子系统的相当大的更改,并且还不完全清楚任何其他子系统是否能够利用它。不过,最大的价值可能来自于这样一个事实,即 BPF 程序可以访问内核提供的缓冲区,并可以直接将它们用于满足每个请求所需的任何 I/O,从而消除该数据的副本。块驱动程序可以移动相当多的数据,因此极大的避免复制。

2023-04-09 22:48:37 785

原创 linux进程调度-PRI及NI简介

pri值的取值范围是-20(最高优先级,通常为系统进程保留)到19(最低优先级,通常为用户进程保留)。通常情况下,系统进程比较高的pri值(靠近-20),而用户进程比较低的pri值(靠近19)。CPU的把时间进行切片,然后分配给进程,当进程无限多时,也必须保证进程被抢占之前保证 1ms的运行时间,这个1ms就是最小粒度。(1)nice值,nice值越大意味着更低的优先级,反之nice值越小意味着更低的优先级,低nice值会获得更多的处理器时间。

2023-04-01 07:49:26 613

原创 Zellij – 颜值爆表,比tmux、screen更好用的多窗口终端

如果你曾经使用过多窗口终端,如tmux、screen,那么你可能对Zellij上手会更快。下面将介绍这个惊艳出众的多窗口终端利器。

2023-03-18 19:46:19 3275

原创 KVM2023论坛开始征集演讲稿

KVM论坛是一个交流虚拟化技术的年度盛会,为KVM和QEMU的开发者和用户提供了一个难得的机会来讨论Linux虚拟化技术的现状,并为未来的挑战做计划。KVM forum会议内容包括KVM虚拟化的最新状况,对未来的规划,以及与会者之间合作的情况。今年的活动将于2023年6月14-15日在捷克共和国布尔诺举行。只在现场举行,并在DevConf.CZ开源社区会议之前举行。6月14日将有一部分时间用于黑客马拉松或 “day of BoFs”。

2023-03-16 12:46:18 433

原创 Red Hat大佬教你如何使用vhost-user-blk对接spdk或qemu

近期Stefan发布题为“vhost-user-blk:一个快速的用户空间块I/O接口”的视频讲座。讲座涵盖了如何在用户空间通过vhost-user-blk使用块I/O以及相对于网络传输的优势,并介绍一个称为libblkio的客户端库,提供了C和Rust接口。

2023-03-02 15:27:26 674

原创 Linux内核中的c语言:likely()、unlikely()

在Linux内核中,会发现很多likely()和unlikely()的使用。

2023-02-23 08:30:36 582

原创 Linux 6.1 正式升级为 LTS 内核,支持到2026年或更长

Linux 6.1被普遍认为是一个长期支持(LTS)的内核,通常情况下,每年的最后一个主要发布系列通常会被提升到LTS状态。Greg Kroah-Hartman作为Linux的稳定维护者,正式承认Linux 6.1为2022年的LTS内核。

2023-02-08 21:33:07 1307

原创 《跃迁:从技术到管理的硅谷路径》读后感

技术管理包含两层含义:一层是管理自己和团队的技术,进行技术选型,在正确的场景使用最适合的技术,保证程序简捷、强壮、可维护,最终完成产品的上线;另一层是管理技术团队,帮助团队成员成长,把事情做成。

2023-02-08 20:18:20 455

原创 dpdk无锁队列rte_ring实现分析

rte_ring的实质是FIFO的无锁环形队列,无锁队列的出队入队操作是rte_ring实现的关键。常用于多线程/多进程之间的通信。ring的特点:无锁出入队(除了cas(compare and swap)操作);多消费/生产者同时出入队。

2023-02-03 18:01:59 1103

原创 Linux下大页HugePages与透明大页Transparent HugePages

Linux下的大页分为两种类型:标准大页(Huge Pages)和透明大页(Transparent Huge Pages)。 Huge Pages有时候也翻译成大页/标准大页/传统大页,它们都是Huge Pages的不同中文翻译名而已,顺带提一 下这个,免得有人被这些名词给混淆、误导了。

2022-12-21 22:00:12 3691

原创 linux驱动加载流程分析

内核是如何加载驱动的,有些是编译到内核里面,有些事编译成ko,让系统自动加载。总的说来,在Linux下可以通过两种方式加载驱动程序:静态加载和动态加载。

2022-12-10 16:38:28 5525

原创 KVM Forum 2022应该关注的话题

第15届KVM论坛于2022年9月12日至9月14日在爱尔兰都柏林会议中心举行。KVM Forum2022有哪些指的关注的技术,KVM未来发展方向如何,有哪些激动人心的想法,让我们一睹为快。

2022-11-04 22:02:39 1040

原创 比Linus更牛逼的程序员,QEMU、FFmpeg的作者

Linus Torvalds是个非常厉害的程序员,因为他有两个名扬天下的作品:Linux和Git。如果单论技术能力,有一个人,也许比Linus更强。我在看他主页项目列表的时候,感觉头都炸了。他开发了著名的模拟器QEMU和音视频处理库FFmpeg,仅仅是这两项就超越绝大部分程序员了,他还写过C编译器,OpenGL实现,LTE软基站,JS引擎,让Linux在浏览器中跑起来,甚至还创造了计算圆周率的世界纪录......

2022-11-04 19:32:05 2529

原创 Virtio1.2 新功能介绍

新版本的virtio1.2规范已经发布了,在1.1版本发布后的三年里,已经积累了相当多的变化。下面列出其中的一些关键部分;关于细节,可以查看具体规范。

2022-10-29 22:07:19 1062

原创 windows office visio各版本下载

visio各版本下载

2022-10-26 18:48:07 3968

转载 Geek新鲜事-初版的Rust支持已合并到Linux内核

初始的 Rust 基础设施代码已合并到 Linux 6.1 内核的主线 Git 代码树中[1]。Linus 在几周前的内核峰会上就已表达过这样的计划 ,人们也普遍预计这会发生,但就在本周末,仍有一些 Linux 用户对 Rust 编程语言支持 Linux 内核的想法持不同意见。不过现在它已经落地了。

2022-10-15 16:44:30 901

原创 linux虚拟内存、异步io及零拷贝简介

本文从虚拟内存、I/O 缓冲区,用户态&内核态以及 I/O 模式等等知识点全面而又详尽地剖析 Linux 系统的 I/O 底层原理,分析了 Linux 传统的 I/O 模式的弊端,进而引入 Linux Zero-copy 零拷贝技术的介绍和原理解析,将零拷贝技术和传统的 I/O 模式进行区分和对比,帮助读者理解 Linux 内核对 I/O 模块的优化改进思路。

2022-09-28 11:18:08 454

原创 Kvmclock存在的问题

Kvmclock是KVM下Linux虚拟机缺省的半虚拟化时钟源,其原理是通过TSC计算出当前的纳秒时间。

2022-09-08 19:34:38 683

原创 linux xdp简介

XDP(eXpress Data Path)为Linux内核提供了高性能、可编程的网络数据路径。由于网络包在还未进入网络协议栈之前就处理,它给Linux网络带来了巨大的性能提升(性能比DPDK还要高)。

2022-08-30 22:26:29 1227

用于rust自动补全 racer v2.2.2, linux 二进制程序

用于rust自动补全 racer v2.2.2, linux 二进制程序

2024-01-29

适用于 centos7安装的 bpftrace工具rpm包

适用于 centos7安装的 bpftrace工具rpm包,适用于 centos7安装的 bpftrace工具rpm包。

2023-11-10

虚拟现实技术及系统.pdf

虚拟现实技术及系统.pdf

2021-11-25

编译原理单元习题-华保健.rar

编译原理是计算机科学中历史最悠久,也是最高度发展的学科之一。编译器的设计与实现集中体现了计算机科学中的最核心的思想和技术,并且和计算机科学的其他研究领域,如形式语言与自动机、算法、数据结构、程序设计语言、计算机体系结构、软件工程等都有非常重要的联系。

2021-02-24

电脑键盘按键声音素材

电脑键盘按键声音素材,各种轴体按键音效

2021-02-17

操作系统原理与设计(中科大2020).rar

操作系统原理与设计(中科大2020).rar

2021-01-15

Xshell_7.0.0001

Xshell_7.0.0001

2020-12-24

x86_64内核kernel4.19.152编译的vmlinux

x86_64内核kernel4.19.152编译的vmlinux、vmlinx.bin及config文件

2020-10-31

中国象棋博弈原理(东北大学人工智能与机器人研究所).rar

中国象棋博弈原理,东北大学人工智能与机器人研究所ppt,中国机器博弈事业开拓者、CAAI 会士徐心和教授著

2020-02-06

jenkins-2.179 hpi离线安装包大全(史上最全,共4G)

jenkins-2.179 hpi离线安装包大全(史上最全,共4G),文件见链接

2019-05-31

虚&拟&化技术资料_整理

虚&拟&化技术资料_整理 虚&拟&化技术资料_整理 虚&拟&化技术资料_整理

2018-12-02

Q-Dir文件浏览

Q-Dir文件浏览 Q-Dir文件浏览 Q-Dir文件浏览 Q-Dir文件浏览 Q-Dir文件浏览 Q-Dir文件浏览 Q-Dir文件浏览 Q-Dir文件浏览 Q-Dir文件浏览

2017-09-14

md5sum命令行计算工具

md5summd5summd5summd5summd5summd5summd5summd5summd5summd5summd5summd5summd5summd5summd5summd5summd5summd5sum

2017-09-14

C语言图像处理程序集

书名:《C语言图像处理程序集》 作者:马建波 出版日期:1992 文档格式:pdf 目录 第 1 章 二值化 第 2 章 灰度变换 第 3 章 噪声消除 第 4 章 微分运算 第 5 章 投影量计算 第 6 章 黑区域处理 第 7 章 特征提取 第 8 章 图像间的运算 第 9 章 几何变换 第 10 章 线图形处理 第 11 章 数学变换 第 12 章 纹理分析 第 13 章 图像的编码压缩 第 14 章 图像显示

2015-12-29

安防天下智能网络视频监控技术详解与实践part3

安防天下智能网络视频监控技术详解与实践part3,免费

2015-12-28

安防天下智能网络视频监控技术详解与实践part2

安防天下智能网络视频监控技术详解与实践part2,免费

2015-12-28

安防天下智能网络视频监控技术详解与实践part1

安防天下智能网络视频监控技术详解与实践part1,免费

2015-12-28

linux按键驱动(input子系统)

linux按键驱动(input子系统)

2014-09-12

IIC通信协议

IIC通信协议

2014-08-24

exynos4412裸机按键程序x-key-with-led-beep

exynos4412裸机按键程序x-key-with-led-beep

2014-08-21

串口调试助手V1.5-原子版本

串口调试助手V1.5-原子版本

2014-05-22

嵌入式系统设计师教程

嵌入式系统设计师教程

2014-03-27

LwIP无操作系统下的实验(内附LwIP中文应用指南)

LwIP无操作系统下的实验(内附LwIP中文应用指南)

2014-03-21

TCPIP网络组件Lwip之最简单的webserver

TCPIP网络组件Lwip之最简单的webserver tcp lwip stm32 红龙

2014-03-20

TCPIP网络组件Lwip之TCP Server

TCPIP网络组件Lwip之TCP Server

2014-02-27

红龙板_TFT绘图API(3.2寸)

红龙板_TFT绘图API(3.2寸)

2014-02-26

uCOSII2.912Blwip-1.3.2+28DM900029

uCOSII2.912Blwip-1.3.2+28DM900029

2014-02-21

STM32_F107_lwIP_uCOS_v1.0.0

STM32_F107_lwIP_uCOS_v1.0.0

2014-02-21

stm32 dm9000a uip程序

stm32 dm9000a uip程序

2013-09-04

Modbus调试精灵

Modbus调试精灵

2013-08-27

modbus-master-slave模拟软件

modbus-master-slave模拟软件

2013-08-27

STM32学习笔记

STM32学习笔记

2013-07-31

Qt编写串口通信程序

Qt编写串口通信程序

2012-09-25

buntu12.04菜鸟使用教程

buntu12.04菜鸟使用教程

2012-09-19

Ubuntu安装教程

Ubuntu_12.04安装教程(非wubi安装)

2012-09-19

Ubuntu标准教程

Ubuntu标准教程

2012-09-19

Ubuntu12.04菜鸟使用教程

Ubuntu12.04菜鸟使用教程

2012-09-19

单片微型机原理、应用与实验(第五版)-张友德-答案

单片微型机原理、应用与实验(第五版)-张友德-答案

2012-09-17

51单片机延时子程序详解

51单片机延时子程序详解

2012-07-18

s3c2440 IIS实现UDA1341音频功能

s3c2440 IIS实现UDA1341音频功能

2012-05-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除