容器网络工作原理 一句话概括就是通过namespace隔离并通过veth连接到root namespace namespace 启动一个http server 1 python3 -m http.server 8080 查看效果 1 curl localhost:8080 返回如下 1
linux 进程与线程中的各种 id 操作系统中有进程和线程的概念, 分别是进程对应 pid(process id), 线程对应 tid(thread id). 而在 linux 操作系统中, 由于一些历史遗留原因, linux 中的 pid 其实是 LWP tid,
vring Virtqueue 的具体实现是用的 vring, 下面是 qemu 中的 vring 的数据结构, linux 的 virtio 驱动中也会用到这些结构 1 2 3 4 5 6 struct vring { unsigned int num; vring_desc_t *desc; vring_avail_t *avail; vring_used_t *used; }; vring 中有 num 编号, 三个子结构 desc,
源码版本 qemu v7.1.0-rc0 linux 5.15.58 mmio 流程 引用我的自上一篇博客 qemu 声明一段 memory_region, 用作 MMIO, 但不会实际分配, 执行 kvm_set_phys_mem 注册到 KVM 的过程中会执行 memory_region_is_ram 来判断这段物理内存空间是否是 RAM 设备
CPU 虚拟化 在有硬件虚拟化之前, cpu 虚拟化技术分为下面几种: 一种是全虚拟化, vmm 运行在 ring0, GuestOS kernel 运行在 ring1, 执行特权/敏感指令(读写时钟/中断寄存器)时会陷
前置知识 常见音视频编码格式 视频 ITU-T: H.261、H.263、H.263+、H.264 MPEG: MPEG-1、MPEG-2、MPEG-4 音频 AAC,MP3
这里写一下我的解题心路历程。(吐槽:c++的 multiset 红黑树比 vector 二分插入还慢,c++不等式 O(logN) > O(N), 麻了) multiset 红黑树搜索 (58 / 65 个通过测试用例) 1 2 3 4 5 6
20220710 更新 快速排序 快排算法为一种递归排序算法, 每次随机取数组里面的一个数为基准, 通过O(n)次交换, 把小于基准的数放到基准的左边, 大于基准的数字
安装rest-server后端 我准备把后端放到 nas 上, 由于不想在 nas 上装 docker, 所以使用 systemd 管理进程, 系统为ubuntu20.04 1 sudo vim /etc/systemd/system/rest-server.service 1 2 3 4 5 6 7
简介 Drone 是一个现代的持续集成工具 Drone by Harness™ is a modern Continuous Integration platform that empowers busy teams to automate their build, test and release workflows using a powerful, cloud native pipeline engine. 这几天心血来潮, 在自己的服务器上部署了一