- 博客(11)
- 收藏
- 关注
原创 Ubuntu 18.04 必备设置
Ubuntu 18.04 必备设置 移除libreoffice sudo apt remove libreoffice* 设置缩放匹配4K屏幕 gsettings set org.gnome.desktop.interface scaling-factor x x 可根据屏幕尺寸设置为 1.75 或者 2 网络相关软件 sudo apt install net-tools proxychain...
2020-04-12 17:40:33
848
原创 A Linux Kernel Miracle Tour - 内存回收
内存回收 为什么需要内存回收 因为Linux的设计是用内存换效率,所以有多少内存它就会吃多少内存。如果你读一次文件,它会使用内存缓存文件,你每次修改不用操作实际的存储设备,而只是操作内存而言。所以随着系统运行时间的推移,越来越来的内存被用作系统加速的缓存。当你申请内存的时候,可能发现已经没有足够可用的内存了。所以内存回收就是为了解决这样的问题而诞生的。 内存回收回收哪些内存 所谓的...
2018-05-06 11:08:49
1060
原创 AT&T 汇编入门 - 寻址方式
AT&T 汇编入门 - 寻址方式 网上已经有很多文章讲述寻址方式。 其实从汇编的角度来看,寻址方式分为以下4种基本类型化。 - 立即数寻址 - 寄存器寻址 - 内存寻址 - IO 端口寻址 立即数寻址 movl $0x1234, %rdi addl 22, value 寄存器寻址 movl %rax, %rbx movl %rax, space 内存寻址 ...
2018-04-14 03:11:02
1326
原创 AT&T 汇编入门 - 汇编使用printf
AT&T 汇编入门 - 汇编使用printf 一般 C 语言的hello world 我们都是通过printf 打印的,而不是直接往stdout 写入字符串. 那我们现在就来试试如何在汇编中调用libc的printf 函数。 .section .data msg: .ascii "hello world!\n" .section .text .g...
2018-04-14 00:48:43
3001
1
原创 AT&T 汇编入门 - Hello World
AT&T 汇编入门 - Hello World 文档的目的是为了能够入门x86_64 GNU Assembly 和 能够看懂 Linux Kernel 的启动代码。涉及的汇编知识未必是深入和最优的,如发现错误或者对实际的汇编程序编写的影响,请评论指出。 平台:Intel x86_64 编译器: gas 汇编组成 汇编程序是由定义好的段组成的,每个段的意义都不一样。最常用的...
2018-04-13 03:25:16
10882
原创 Linux Kernel 基础 - 链表
内核链表 链表作为数据结构的最基本类型,内核在各个模块基本都会使用到。单纯的链表没有任何意义。内核对于链表的使用是将链表内嵌入各种数据结果,从面向对象的角度来看就是用链表将各种对象的实例都通过链表链接起来。那让我们来看看链表在内核的实现 链表的结构体 struct list_head { struct list_head *next, *prev; }; 此结构体就是内...
2018-04-08 14:48:35
375
原创 KVM 虚拟化学习笔记-1
KVM 虚拟化学习笔记 什么是KVM? Kernel-based Virtual Machine的简称,是一个 Linux Kernel 的模块。它是一种全虚拟化的解决方案,目前在x86,AMD和ARM都已经支持。使用KVM虚拟机,你可以在其上运行没有修改过代码的Linux 和 Windows 操作系统。 KVM 开发环境 本学习笔记主要是针对 kernel + kvmtool 的环境...
2018-04-06 14:30:08
1499
1
原创 Linux Shell 特殊符号
$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个 $$ 是脚本运行的当前进程ID号 $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误 判断语句的参数请自己man te
2017-11-03 23:02:35
284
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅