拾忆

生活与技术


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

docker1.9源代码结构及相关资源链接分享

发表于 2019-11-06 | 分类于 docker , linux内核
概述去年八月份左右,曾经做了一段时间的k8s部署相关的工作,因此对docker具有一定的使用基础并大致了解其相关概念。最近一周开始看docker源码,这里对其做一些总结和资料汇总。在docker1.9这个版本里面,关于容器启动和运行的核心代码已经被抽离到了containerd和runC之中了。当然, ...
阅读全文 »

docker底层原理————overlayFS介绍与实践

发表于 2019-11-05 | 分类于 filesystem
概述在docker底层原理的学习过程中,接触到了UnionFS的概念。 UnionFS,顾名思义,是联合文件系统的意思。那怎么个联合法呢?举个简单的例子:假设,我们有两个文件夹A和文件夹B,A文件夹下有文件a1,a2,a3,B文件夹下有文件b1,b2,b3。我们通过创建一个文件夹C,并且使用Unio ...
阅读全文 »

Linux0.11内核中fork系统调用实现代码分析

发表于 2019-10-15
暂时记住 在Linux0.11版本中,代码段和数据段的基地址是相等的 当新建一个进程的时候,其代码段和数据段的基地址为nr * 0x4000000,其中nr为任务号,这就保证了不同任务之间的内存隔离。 copy_page_tables
阅读全文 »

Linux0.11源代码中的execve函数实现源代码分析

发表于 2019-10-14
概述在阅读Linux0.11源代码的过程中,在init函数的执行过程中遇到了execve系统调用,对其实现不甚理解,因此特地阅读其实现代码,深入理解其代码背后的底层执行过程。 该系统调用在system_call.s中的实现代码比较短,如下,但是其中调用了_do_execve函数,该函数在kernel ...
阅读全文 »

Linux-0.11内核main函数执行过程分析——2

发表于 2019-10-12 | 分类于 Linux 内核
概述上一篇涉及到了main函数在fork任务1之前的一些行为,由于任务1执行的init函数涉及内容较多,因此将其内容移动到本篇来继续分析。 12345678910111213141516171819202122232425262728293031323334353637383940414243444 ...
阅读全文 »

Linux-0.11内核main函数执行过程分析——1

发表于 2019-10-12 | 分类于 Linux 内核
概述本文在结合赵炯博士的《Linux内核0.11完全注释》和对应源代码的基础上,总结而成。 Linux0.11的大致启动流程如下: pc机器的BIOS程序启动,开始加载硬盘中的bootsect.s对应的机器码程序到内存中,将CPU的程序计数器指向bootsect.s对应机器码在内存中的起始位置,开 ...
阅读全文 »

hexo博客搭建过程中的问题解决

发表于 2019-10-10 | 分类于 hexo博客搭建
概述本文分为几个部分,其中大部分都是官网的内容,这里只提供框架,方便日后对照。 hexo博客的本地搭建。比较简单,基本上按照官网的流程走即可。 hexo博客部署问题解决。 第一部分 博客搭建本地环境搭建在使用hexo搭建博客的过程中,首先要面临安装的问题。在一个干净的环境中,我们需要以此安装: ...
阅读全文 »

Linux-0-11文件系统模块笔记

发表于 2019-09-26 | 分类于 Linux 内核
概述在Linux内核中,文件系统部分大致可以分为四个部分来看: 高速缓冲区。该部分内容集中在bufffer.c中实现。 文件系统的底层通用函数。文件索引节点的管理,磁盘数据块的分配和释放,文件名和inode之间的转换算法等。 有关对文件中数据进行读写操作,包括对字符设备,管道,块读写文件中的数据访 ...
阅读全文 »

汇编语言部分语法记录

发表于 2019-09-25 | 分类于 Linux 内核
db、dw、dd、dq解释DB定义字节类型变量,一个字节数据占1个字节单元,读完一个,偏移量加1 DW定义字类型变量,一个字数据占2个字节单元,读完一个,偏移量加2 DD定义双字类型变量,一个双字数据占4个字节单元,读完一个,偏移量加4 DQ定义四字类型变量,一个四字数据占8个字节单元,读完一个,偏 ...
阅读全文 »

Linux-0-11-80x86保护模式及其编程

发表于 2019-09-24 | 分类于 Linux 内核
80x86 系统寄存器和系统指令为了协助CPU执行初始化和控制系统操作,80x86提供了一个标志寄存器EFLAGS和几个系统寄存器,除了一些通用状态标志外,EFLAGS还包含了几个系统标志。这些系统标志用于控制任务切换、中断处理、指令跟踪以及权限访问。系统寄存器用于内存管理、控制处理器操作、含有分段 ...
阅读全文 »
123

王千一

记录生活和技术

23 日志
10 分类
18 标签
© 2020 王千一
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4