
Read_Notes
文章平均质量分 82
OopspoO
be better
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Effective C++笔记
尽可能延后变量定义式的出现。这样可以增加程序的清晰度并改善程序效率。绝对不要重新定义一个继承而来的缺省参数值,因为缺省参数值都是静态绑定的,而virtual函数——你唯一应该覆写的东西——却是动态绑定的。当我们编写一个class template,而它所提供之“与此template相关的”函数支持“所有参数之隐式类型转换”时,请将那些函数定义为“class template 内部的friend函数”。原创 2025-01-24 21:33:38 · 831 阅读 · 0 评论 -
IEEE文章分类
IEEE文章分类IEEE的文章大体分为3类,letter,magazine,journal/transaction.IEEE letter:属于快报形式,一般发表最新的研究成果,文章要求短小,理论推导要求不高。IEEE Magazine:这才是属于杂志类,一般要求用文字和图表来表述些最新研究成果,不允许有过多的公式推导。IEEE Jour/Trans:这两个属于同一类,期刊杂志,但两者面向的读转载 2017-09-27 20:55:22 · 5034 阅读 · 0 评论 -
ipython notebook 修改一开始打开的文件夹路径
ipython notebook 修改一开始打开的文件夹路径1. 首先输出配置文件cd D:\Program\x64\anaconda\Anaconda3#找到anaconda安装路径cd Scr*#到Scripts目录jupyter notebook --generate-config#输出配置文件2.编辑配置文件找到输出的配置文件后,找到#The directo原创 2017-11-20 16:39:32 · 1234 阅读 · 0 评论 -
QEMU监控器简介
QEMU监控器(monitor)是QEMU实现与用户交互的一种控制台,一般用于为QEMU模拟器提供较为复杂的功能,包括为客户机添加和移除一些媒体镜像(如CD-ROM、磁盘镜像等),暂停和继续客户机的运行,快照的建立和删除,从磁盘文件中保存和恢复客户机状态,客户机动态迁移,查询客户机当前各种状态参数等。在前面几章中,根据实际应用的具体场景已经多次提及一部分QEMU monitor中的命令了,本节将对QEMU monitor的使用和其中的常见命令进行介绍和总结。原创 2025-01-01 20:27:27 · 1041 阅读 · 0 评论 -
虚拟化与NUMA
NUMA(Non-Uniform Memory Access,非统一内存访问架构)是相对于UMA(Uniform Memory Access)而言的。早年的计算机架构都是UMA,如图所示。所有的CPU处理单元(Processor)均质地通过共享的总线访问内存,所有CPU访问所有内存单元的速度是一样的。在多处理器的情形下,多个任务会被分派在各个处理器上并发执行,则它们竞争内存资源的情况会非常频繁,从而引起效率的下降。所以,随着多处理器架构的逐渐普及以及数量的不断增长,NUMA架构兴起,如图所示。原创 2025-01-01 20:15:58 · 550 阅读 · 0 评论 -
virtio简介
KVM是必须使用硬件虚拟化辅助技术(如Intel VT-x、AMD-V)的Hypervisor,在CPU运行效率方面有硬件支持,其效率是比较高的;在有Intel EPT特性支持的平台上,内存虚拟化的效率也较高;有Intel VT-d的支持,其I/O虚拟化的效率也很高。QEMU/KVM提供了全虚拟化环境,可以让客户机不经过任何修改就能运行在KVM环境中。不过,KVM在I/O虚拟化方面,传统的方式是使用QEMU纯软件的方式来模拟I/O设备(如第5章中提到模拟的网卡、磁盘、显卡等),其效率并不太高。原创 2025-01-01 19:54:51 · 1140 阅读 · 0 评论 -
QEMU网络配置简介
本文简单介绍下qemu虚拟机网络的几种配置方式。原创 2025-01-01 19:46:10 · 1291 阅读 · 0 评论 -
QEMU镜像文件简介
本文对qemu支持的镜像文件进行简单的介绍。qemu-img支持非常多种的文件格式,可以通过“qemu-img -h”查看其命令帮助得到,它支持20多种格式:file,quorum,blkverify,luks,dmg,sheepdog,parallels,nbd,vpc,bochs,blkdebug,qcow2,vvfat,qed,host_cdrom,cloop,vmdk,host_device,qcow,vdi,null-aio,blkreplay,null-co,raw等。原创 2025-01-01 19:27:44 · 663 阅读 · 0 评论 -
EPT和VPID简介
EPT(Extended Page Tables,扩展页表),属于Intel的第二代硬件虚拟化技术,它是针对内存管理单元(MMU)的虚拟化扩展。EPT降低了内存虚拟化的难度(与影子页表相比),也提升了内存虚拟化的性能。从基于Intel的Nehalem架构的平台开始,EPT就作为CPU的一个特性加入CPU硬件中了。和运行在真实物理硬件上的操作系统一样,在客户机操作系统看来,客户机可用的内存空间也是一个从零地址开始的连续的物理内存空间。原创 2025-01-01 19:19:31 · 772 阅读 · 0 评论 -
CPU虚拟化
在KVM打开的情况下,客户机中CPU指令的执行由硬件处理器的虚拟化功能(如Intel VT-x和AMD AMD-V)来辅助执行,具有非常高的执行效率。QEMU/KVM为客户机提供一套完整的硬件系统环境,在客户机看来,其所拥有的CPU即是vCPU(virtual CPU)。在KVM环境中,每个客户机都是一个标准的Linux进程(QEMU进程),而每一个vCPU在宿主机中是QEMU进程派生的一个普通线程。在普通的Linux系统中,进程一般有两种执行模式:内核模式和用户模式。原创 2025-01-01 19:05:09 · 381 阅读 · 0 评论 -
libvirt学习
libvirt是为了更方便地管理平台虚拟化技术而设计的开放源代码的应用程序接口、守护进程和管理工具,它不仅提供了对虚拟化客户机的管理,也提供了对虚拟化网络和存储的管理。libvirt支持多种虚拟化方案,既支持包括KVM、QEMU、Xen、VMware、VirtualBox、Hyper-V等在内的平台虚拟化方案,也支持OpenVZ、LXC等Linux容器虚拟化系统,还支持用户态Linux(UML)的虚拟化。原创 2024-12-31 19:27:01 · 1491 阅读 · 0 评论 -
虚拟化简介
虚拟化简介原创 2022-08-23 08:31:06 · 1112 阅读 · 0 评论 -
QT应用单例——qtsingleapplication
通过文件的读写锁判断是否有其他实例正在运行通过QLocalServer即本地套接字实现实例之间的消息通信。原创 2024-12-26 00:36:05 · 802 阅读 · 0 评论 -
qcow2镜像大小压缩
本文拟对qcow2进行压缩进行简单介绍。原创 2024-12-22 22:39:28 · 1161 阅读 · 0 评论 -
压缩qcow2镜像带来的性能损失简单分析
从上面的流程分析可以看出,当qcow2被压缩后,guest每次需要读取原qcow2文件中的内容时,都会让host后端进行一次解压缩,这会消耗cpu。原创 2024-12-22 22:31:12 · 430 阅读 · 0 评论 -
lshw学习——简单介绍
lshw: HardWare LiSter for Linux 一般用来查看linux设备的硬件信息,包括内存、cpu、主版等信息。代码:https://ezix.org/src/pkg/lshw.gitlshw源码用到一下几点linux内核文件系统系统接口如ioctlstat等操作系统概念,比如文件系统结构、网络、总线工程上抽象出统一的设备结构以上只是对lshw的初步分析,进一步的理解还是需要直接阅读代码。原创 2024-12-19 00:58:42 · 1209 阅读 · 0 评论 -
busybox学习——简单介绍
BusyBox 将许多具有共性的小版本的UNIX工具结合到一个单一的可执行文件。这样的集合可以替代大部分常用工具比如的GNU fileutils , shellutils等工具,BusyBox提供了一个比较完善的环境,可以适用于任何小的嵌入式系统。原创 2024-12-17 23:56:52 · 553 阅读 · 0 评论 -
gcc编译过程简介
fill:#333;color:#333;color:#333;fill:none;原创 2024-06-30 21:54:58 · 900 阅读 · 0 评论 -
Linux 性能优化基础
【代码】Linux 性能优化基础。原创 2024-06-07 00:24:23 · 1305 阅读 · 0 评论 -
文件系统监控——inotify
从 Linux 2.6.13 内核开始,Linux 引入了 inotify,可以通过该机制监控文件或目录的一组指定事件,例如打开、关闭、移动/重命名、删除 、创建或更改属性。创建一个inotify实例并返回一个对应的文件描述符操作inotify实例相关联的“watch list”(创建或者修改已有的)当受监视的文件和目录发生事件时,可以使用 read从 inotify 文件描述符中读取这些事件信息从inotify监控列表中删除项目。原创 2024-03-28 00:56:18 · 1705 阅读 · 0 评论 -
INI 配置文件
.ini” 是英文 “initialization” 的头三个字母的缩写,INI 文件的后缀名也不一定是".ini"也可以是".cfg",“.conf ”或者是”.txt"。INI文件的格式最基本的三个要素是:parameters,sections 和 comments。原创 2023-11-16 23:50:59 · 416 阅读 · 0 评论 -
云计算的三种服务模式:IaaS,PaaS和SaaS
如:谷歌的Apps,微软的Office 365,Citrix的CloudStack,以及目前比较火的各种云存储(网盘),云相册,云备份,云打印,云监控等正对个人用的云服务产品。6) 计费和监管:因为PaaS平台在计费和监管这两方面不仅达到了IaaS平台所能企及的操作系统层面,比如,CPU和内存的使用量等,而且还能做到应用层面,比如,应用的反应时间(Response Time)或者应用所消耗的事务多少等,这将提高计费和管理的精确性。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。原创 2023-11-14 00:24:23 · 1607 阅读 · 0 评论 -
libevent——简单介绍
libevent简单介绍原创 2023-02-26 14:04:06 · 1127 阅读 · 0 评论 -
网络基础知识
网络相关基础知识原创 2022-09-04 23:37:23 · 398 阅读 · 0 评论 -
Linux操作系统编程基础
linux 编程基础原创 2022-08-12 00:25:36 · 1013 阅读 · 0 评论 -
C++ primer笔记
c++ primer笔记原创 2022-06-19 22:04:06 · 745 阅读 · 1 评论 -
LVM扩容
LVM扩容分区基本结构lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsr0 11:0 1 335.6M 0 rom vda 252:0 0 63G 0 disk ├─vda1 252:1 0 500M 0 part /boot└─v...原创 2020-03-19 23:28:28 · 473 阅读 · 0 评论 -
0x00数据结构——C语言实现(单向循环链表)
0x00数据结构——C语言实现(单向循环链表)/*filename:circular_list.h*//* 循环链表(circular list)是另一种形式的表示线性表的链表,与单链表不同的是, 表尾结点的link域中不是NULL而是存放指向链表开始结点的指针。 Functions: 创建一个空线性表 计算表长度 返回附加头结点的地址 搜索函数:...原创 2018-04-23 21:16:54 · 439 阅读 · 0 评论 -
0x00数据结构——C语言实现(双链表)
0x00数据结构——C语言实现(双链表)/*filename:double_linked_list.h*//* 双链表(double linked list) Functions: (在链表中增加附加头结点的版本) 创建一个空线性表 将链表置为空表 计算表长度 返回附加头结点的地址 搜索函数:找x在表中的位置,返回表项位置 定位函数...原创 2018-04-23 21:12:47 · 329 阅读 · 0 评论 -
0x00数据结构——C语言实现(单链表)
0x00数据结构——C语言实现(单链表)/*filename:singly_linked_list.h*//* 单链表(singly linked list)是一种最简单的链表表示,也叫做线性链表。 用它来表示线性表时,用指针表示结点间的逻辑关系。 Functions: (在链表中增加附加头结点的版本) 创建一个空线性表 将链表置为空表 计算表长度 ...原创 2018-04-23 21:09:23 · 427 阅读 · 0 评论 -
0x04基础套接字-回射客户服务器
回射客户/服务器 1. 客户端从标准输入获取一行数据,然后发送到服务器; 2. 服务器收到信息后,不处理消息内容,直接将消息内容原封不动地发送给客户端; 3. 客户端收到后,在标准输出上打印出来。TCP回射客户/服务器程序服务器端/************************************************************************* >原创 2018-04-10 15:45:50 · 282 阅读 · 0 评论 -
0x04基础套接字-TCP时间服务器
TCP时间服务器1. 流式套接字客户端/服务器编程拟实现一个基本的流式套接字客户端/服务器通信程序。在该程序中,客户端和服务器将按照如下步骤交互:客户端向服务器发出日期时间请求字符串,如:%D %Y %A %T 等。服务器从网络接收到日期请求字符串后,根据字符串格式生成对应的日期时间值返回给客户端。服务器端程序/*****************************************原创 2018-04-10 15:44:54 · 367 阅读 · 0 评论 -
0x01TCPIP网络编程基础
TCP/IP网络编程基础由源端建立一条连接到目的端,需要的信息包括:源IP、源端口、目的IP和目的端口共四个参数,这四个参数又称为套接字对(socket pair),它标识了通过TCP/IP协议通信的双方。客户端/服务器编程模型客户端是指运行于本地主机上的一个程序,该程序请求服务器程序提供某种服务。客户端程序使用远端主机的IP地址和对应的众所周知的端口号与远端主机上的服务器程序进行通信,这一过程称为原创 2018-04-10 15:39:55 · 534 阅读 · 0 评论 -
Docker概述
Docker概述123Docker的概念Docker是一个开源平台,它包含容器引擎和Docker Hub注册服务器。Docker容器引擎:该引擎可以让开发者打包它们的应用和依赖包到一个可移植的容器中,然后将其发布到任何流行的Linux机器上。Docker Hub注册服务器:用户可以在该服务器上创建自己的镜像库来存储、管理和分享镜像。利用Docker,可实现软件的一次配置,处处运...原创 2018-03-05 10:14:18 · 331 阅读 · 0 评论 -
SDN概述
SDN概述1SDN是什么ONRC是 SDN创始人斯坦福大学教授Nick McKeown和加州大学伯克利分校教授 Scott Shenker,以 Larry Peterson教授 共同创建的研究架构。ONRC对SDN的定义是:“SDN是一种逻辑集中控制的新网络架构,其关键属性包括:数据平面和控制平面分离;控制平面和数据平面之间有统一的开放接口OpenFlow。”在ONRC的定义中,SDN...原创 2017-06-26 13:41:00 · 4920 阅读 · 0 评论 -
Matlab基础命令
MATLAB常用命令 命令 功能 clc 擦除命令 clear 清除工作空间中所有的变量 clear all 从工作空间中清除所有变量和函数 clf 清除图形窗口信息 error 显示错误信息 who 显示当前空间中所有变量的一个简单列表 whos 列出变量的大小、数据格式等详细信息 what 列出相应目录下的M文件 whic原创 2018-02-27 20:55:13 · 1478 阅读 · 0 评论 -
0x00数据结构——C语言实现(双向循环链表)
0x00数据结构——C语言实现(双向循环链表)/* 循环双链表 Functions: (在链表中增加附加头结点的版本) 创建一个空线性表 将链表置为空表 计算表长度 返回附加头结点的地址 搜索函数:找x在表中的位置,返回表项位置 定位函数:返回第i个表项在表中的位置 取第i个表项的值 用x修改第i个表项的内容 ...原创 2018-04-23 21:18:47 · 296 阅读 · 0 评论 -
0x00数据结构——C语言实现(多项式)
0x00数据结构——C语言实现(多项式)/*filename:polynomial*/#ifndef POLYNOMIAL#define POLYNOMIAL//一元多项式的表示//Pn(x)=p0 + p1*x + p2*x^2 + ... + pn*x^n/*基本操作: 创建一个有m项系数和指数的一元多项式p 销毁一元多项式p 打印输出 ...原创 2018-04-24 16:29:33 · 2236 阅读 · 0 评论 -
0x01数据结构——C语言实现(二叉查找树)
0x01数据结构——C语言实现(二叉查找树)二叉查找树是一种特殊的二叉树,使二叉树成为二叉查找树的性质是:对于树中的每一个节点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树中所有关键字值大于X的关键字值。这意味着,该树所有的元素可以用某种统一的方式排序。二叉查找树的C语言实现:b_search_tree.h#ifndef B_SEARCH_TREE_H#def...原创 2018-07-01 14:55:33 · 446 阅读 · 0 评论 -
0x01数据结构——C语言实现(二叉树)
0x01数据结构——C语言实现(二叉树)二叉树(binary tree)是一棵树,其中每个节点都不能有多于两个的儿子。二叉树的一个性质是平均二叉树的深度要比N小得多,这个性质有时很重要。分析表明,这个平均深度为O(N−−√)O(N)O(\sqrt{N}),而对于特殊类型的二叉树,即二叉查找树(binary search tree),其深度的平均值是O(logN)O(logN)O(\log...原创 2018-07-01 14:38:41 · 333 阅读 · 0 评论