自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 线性地址转换成物理地址

上篇文章介绍了如何查看内核使用的分页模式,笔者电脑上内核使用的分页模式是 4-level paging,这篇文章讲解 4-level paging分页模式如何将线性地址转换成物理地址.先思考2个问题:内核初始化时,线性地址0xffffffff8220a000转换成物理地址是多少?内核初始化时,线性地址0xffff88800220a000转换成物理地址是多少?1. 4-level paging 转换过程先看一张intel手册上的4-level paging 4KB大小的页的转换图下面介绍这张

2021-12-01 01:25:55 1072

原创 X86 64下的分页机制及不同分页模式

这篇文章讲解如何查看linux使用的分页模式1. 介绍分页(Paging)指的是将线性地址(linear address)转换为物理地址(physical address)的机制,转换过程是在硬件中完成的,Intel-64 处理器支持四种不同的分页模式,它们分别为:32-bit pagingPAE paging4-level paging (kernel默认使用)5-level paging四种分页模式由如下寄存器中的控制位控制:5. The WP and PG flags in con

2021-11-29 23:49:46 1309

原创 qemu添加硬盘

qemu默认使用内存文件系统,在虚机中的文件操作不会持久化,通过如下操作可添加持久化硬盘1. 创建硬盘镜像创建一个大小为320M的磁盘镜像文件qemu-img create -f raw block.img 320M2. 设置启动参数-hda 参数的意思是第一个硬盘qemu-system-x86_64 -kernel linux-5.4.34/arch/x86/boot/bzImage -initrd initramfs.img -net nic -net user -hda block.im

2021-11-07 11:26:55 3804

原创 汇编寄存器介绍

1. 通用寄存器名称全称32位16位8位编号功能%rax累加器(Accumulator)%eax%ax%ah %al0 (0000)返回值%rcx计数器(Count Register)%ecx%cx%ch %cl1 (0001)第二个参数%rdx数据寄存器(Data Register)%edx%dx%dh %dl2 (0010)第三个参数%rbx基址寄存器(Base Register)%e

2021-11-07 10:51:48 2719 1

原创 ubuntu18.04源码安装qemu6.0

ubuntu18.04源码安装qemu6.0前提1. 安装依赖2. 配置和安装前提使用apt工具可以直接安装qemu,不过版本比较老,也不能修改调试源码,故通过源码来安装qemu1. 安装依赖1)安装git, python2)安装re2c (ninja依赖) 下载地址 # 依次执行如下命令 tar -xvzf re2c-1.0.1.tar.gz cd re2c-1.0.1/ ./configure make -j4 make install3)安装ninja git clo

2021-08-18 23:16:52 744

原创 WIN10编译chromium

WIN10编译chromium在编译chromium时遇到很多坑,特此记录。官方文档系统需求A 64-bit Intel machine with at least 8GB of RAM. More than 16GB is highly recommended.At least 100GB of free disk space on an NTFS-formatted hard drive. FAT32 will not work, as some of the Git packfiles a

2020-12-24 23:46:50 1290 1

原创 encodeURI与encodeURIComponenet的区别

encodeURIComponenet会编码如下这些字符#:;/?$&+,@=,而encodeURI不会v8代码片段如下// 代码片段一 v8/src/uri.h// 第三个参数不一样// ES6 section 18.2.6.4 encodeURI (uri)static MaybeHandle<String> EncodeUri(Isolate* isolate, Handle<String> uri) { return Encode(isolate, ur

2020-05-16 23:59:39 189

原创 CPU亲和性

cpu亲和性CPU 亲和性(affinity) 就是进程要在某个给定的 CPU 上尽量长时间地运行而不被迁移到其他处理器的倾向性,Linux 内核进程调度器天生就具有被称为 软 CPU 亲和性的特性,这意味着进程通常不会在处理器之间频繁迁移,开发人员可以编程实现 硬 CPU 亲和性, 即设置进程或者线程到指定的cpu上执行实例代码C语言实例代码#define _GNU_SOURCE#in...

2020-01-20 23:46:52 929

空空如也

空空如也

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

TA关注的人

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