From 817fb03e2438c40f76b90521d47c0305139f482f Mon Sep 17 00:00:00 2001 From: zeek <984294471@qq.com> Date: Sat, 14 Mar 2020 16:16:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0linux=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- linux/README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/linux/README.md b/linux/README.md index 9d5640b..0f80094 100644 --- a/linux/README.md +++ b/linux/README.md @@ -44,11 +44,11 @@ command > /dev/null #### atime 存取时间 当“取用文件内容”时,就会更新这个读取时间。举例来说,使用cat去读取 `~/.bashrc`,就会更新atime了。 -![看不见](http://www.zeekling.cn/gogs/zeek/study/raw/master/linux/pics/view.jpeg) -![看不见](http://www.zeekling.cn/gogs/zeek/study/raw/master/linux/pics/view2.jpeg) +![看不见](https://git.zeekling.cn/zeekling/study/raw/branch/master/linux/pics/view.jpeg) +![看不见](https://git.zeekling.cn/zeekling/study/raw/branch/master/linux/pics/view2.jpeg) ## vim 用法 - [配置方法及其详细用法](http://www.zeekling.cn/gogs/zeek/vim_config) + [配置方法及其详细用法](https://git.zeekling.cn/linux/vimrc/src/branch/master/vim%E5%AE%89%E8%A3%85.md) ## 目录结构 ```sh @@ -109,7 +109,7 @@ drwxr-xr-x 9 lzh lzh 4.0K Jan 8 01:30 Downloads * ext2,ext3.ext4 * inode -![inode节点示意图](http://www.zeekling.cn/gogs/zeek/study/raw/master/pics/inode1.gif) +![inode节点示意图](https://git.zeekling.cn/zeekling/study/raw/commit/3265fb4861a7c6075d409ab4bed7281e6436cd92/pics/inode1.gif) 1. 软连接 2. 硬链接 @@ -228,13 +228,13 @@ deb-src http://mirrors.ustc.edu.cn/kali-security kali-current/updates main contr * 用户态切换到内核态的 3 种方式:系统调用、异常、外设中断 * 区别:每个进程都有完全属于自己的,独立的,不被干扰的内存空间;用户态的程序就不能随意操作内核地址空间,具 有一定的安全保护作用;内核态线程共享内核地址空间; -![linux](http://www.zeekling.cn/gogs/zeek/study/raw/master/pics/linux2.png) +![linux](https://git.zeekling.cn/zeekling/study/raw/branch/master/pics/linux2.png) #### 内存地址——MMU 地址转换 * MMU 是一种硬件电路,它包含两个部件,一个是分段部件,一个是分页部件 * 分段机制把一个逻辑地址转换为线性地址 * 分页机制把一个线性地址转换为物理地址 -![分页](http://www.zeekling.cn/gogs/zeek/study/raw/master/pics/linux_page.png) +![分页](https://git.zeekling.cn/zeekling/study/raw/branch/master/pics/linux_page.png) #### 内存地址——分段机制 * 段选择符 @@ -244,16 +244,16 @@ deb-src http://mirrors.ustc.edu.cn/kali-security kali-current/updates main contr * 分段实现 * 逻辑地址的段寄存器中的值提供段描述符,然后从段描述符中得到段基址和段界限,然后加上逻辑地址的偏移量,就得到了线性地址 -![段](http://www.zeekling.cn/gogs/zeek/study/raw/master/pics/linux_duan.png) +![段](https://git.zeekling.cn/zeekling/study/raw/branch/master/pics/linux_duan.png) #### 内存地址——分页机制(32 位) * 分页机制是在分段机制之后进行的,它进一步将线性地址转换为物理地址 * 10 位页目录,10 位页表项, 12 位页偏移地址 * 单页的大小为 4KB -![分页机制](http://www.zeekling.cn/gogs/zeek/study/raw/master/pics/linux_page32.png) +![分页机制](https://git.zeekling.cn/zeekling/study/raw/branch/master/pics/linux_page32.png) #### 用户态地址空间 -![用户态地址空间](http://www.zeekling.cn/gogs/zeek/study/raw/master/pics/user_space.jpg) +![用户态地址空间](https://git.zeekling.cn/zeekling/study/raw/branch/master/pics/user_space.jpg) * TEXT:代码段可执行代码、字符串字面值、只读变量 * DATA:数据段,映射程序中已经初始化的全局变量 * BSS 段:存放程序中未初始化的全局变量 @@ -262,7 +262,7 @@ deb-src http://mirrors.ustc.edu.cn/kali-security kali-current/updates main contr * STACK:用户进程栈 #### 内核态地址空间 -![内核态地址空间](http://www.zeekling.cn/gogs/zeek/study/raw/master/pics/kernel_space.jpg) +![内核态地址空间](https://git.zeekling.cn/zeekling/study/raw/branch/master/pics/kernel_space.jpg) * 直接映射区:线性空间中从 3G 开始最大 896M 的区间,为直接内存映射区 * 动态内存映射区:该区域由内核函数 vmalloc 来分配 * 永久内存映射区:该区域可访问高端内存 @@ -271,5 +271,5 @@ deb-src http://mirrors.ustc.edu.cn/kali-security kali-current/updates main contr #### 进程内存空间 * 用户进程通常情况只能访问用户空间的虚拟地址,不能访问内核空间虚拟地址 * 内核空间是由内核负责映射,不会跟着进程变化;内核空间地址有自己对应的页表,用户进程各自有不同额页表 -![进程内存空间](http://www.zeekling.cn/gogs/zeek/study/raw/master/pics/jingcheng.jpg) +![进程内存空间](https://git.zeekling.cn/zeekling/study/raw/branch/master/pics/jingcheng.jpg)