Linux入门 1.1 概述 1.2 Linux和Windows区别 1.3 Centos下载地址 网易镜像:Index of /centos/7/isos/ 搜狐镜像:Index of /centos.../7/isos/ 网易镜像:http://mirrors.sohu.com/centos/7.5.1804/isos/x86_64/ Linux文件与目录结构 2.1 Linux文件 Linux系统中一切皆文件...2.2 Linux目录结构
在 Linux 环境下编译出来的可执行文件都是遵循 ELF 格式,如果没有特殊处理,它会保留比较完整的 符号表。 就拿开头的程序来当例子,可以通过 readelf -s a.out 查看: ?.../trace_test 22346 # 本文开头的进程 总结 关于断点的原理网上有很多文章提到,但比较多也是蜻蜓点水一笔带过,意犹未尽,干脆直接用最浅显的例子降低大家练手 成本!
Linux文件系统结构 Linux目录结构的组织形式和Windows有很大的不同。首先Linux没有“盘(C盘、D盘、E盘)”的概念。...在Linux底下,所有的文件与目录都是由根目录开始,是目录与文件的源头,然后一个个的分支下来,如同树枝状,因此称为这种目录配置为:目录树。 目录树的特点是什么呢?...绝对路径与相对路径 Linux下特别注意文件名/路径的写法,可以将所谓的路径(path)定义为绝对路径(absolute)和相对路径(relative)。...这个.与..目录概念非常重要,平时经常会看到cd ..或者python ../home/oldboy/exam.py 就是代表进入上一层与执行相对路径的python代码!...1.linux是以 / 开始的树状目录结构,tree查看 2.常用文件目录操作命令是ls,cd,mkdir,rmdir 3.Linux的PATH查看是 echo $PATH,可以修改/etc/profile
作为一个优秀的分布式存储、搜索组件,了解 elasticsearch 的工作原理对于我们日常使用和技术提升都是非常有必要的。 本文,我们就抽丝剥茧,详细看看这个强大的分布式搜索引擎是如何工作的。...例如,mysql 通过多分支的 B+ 树索引,成功减少了磁盘 IO 次数,同时兼顾了范围查询等功能与写入性能,但因为 B+ 树作为多分支树,在其分支数量与高度的限制下,当数据库容量增长到一定程度,随之造成的磁盘...同时,FST 是一种十分节省内存的树结构,后面有时间博主再单独发文章来介绍这个数据结构。...posting list 为 [1, 3, 4, 7, 10],那么可以按二进制位建立一个 bitset:[1, 0, 1, 1, 0, 0, 1, 0, 0, 1] 多个 bitset 只需要进行按位与操作就可以得到最终的交集...后记 本文详细介绍了 Elasticsearch 借以实现极高的查询性能的底层文档存储结构与索引结构。 那么,集群上多个 node。 之间是如何相互协同工作的呢?他们是如何实现数据的写入和读取的呢?
将文件数据从用户缓冲区 copy 到内核与 socket 相关的缓冲区。 数据从 socket 缓冲区 copy 到相关协议引擎。...再由 user 缓冲区到 socket 相关 缓冲区的文件 copy,而在内核版本号 2.4 之后,文件描写叙述符结果被改变,sendfile 实现了更简单的方式,系统调用方式仍然一样,细节与 2.1
等待队列初始化 要使用 waitqueue 首先需要声明一个 wait_queue_head_t 结构的变量,wait_queue_head_t 结构定义如下: struct __wait_queue_head...{ spinlock_t lock; struct list_head task_list; }; waitqueue 本质上是一个链表,而 wait_queue_head_t 结构是...向等待队列添加等待进程 要向 waitqueue 添加等待进程,首先要声明一个 wait_queue_t 结构的变量,wait_queue_t 结构定义如下: typedef int (*wait_queue_func_t...可以通过调用 init_waitqueue_entry() 函数来初始化 wait_queue_t 结构变量,其实现如下: static inline void init_waitqueue_entry...wait_queue_head_t 结构与 wait_queue_t 结构之间的关系如下图: ?
上图中红色框部分就是 缓存I/O 所在位置,位于 虚拟文件系统 与 真实文件系统 中间。 也就是说,当虚拟文件系统读文件时,首先从缓存中查找要读取的文件内容是否存在缓存中,如果存在就直接从缓存中读取。...直接I/O 直接I/O 就是对用户进行的 I/O 操作直接与块设备进行交互,而不进行缓存。...直接I/O 的缺点是:每次 I/O 操作都直接与块设备进行交互,增加了对块设备的读写操作。...我们从 虚拟文件系统 开始跟踪 Linux 对 直接I/O 的处理过程。...; if (IS_ERR(f)) goto out_error; fd_install(fd, f); // 把文件对象与文件描述符关联起来
用户依次登录就可以访问整个网络资源,集中地身份验证 可扩展性,既可以适用于几十台计算机的小规模网络,也可以用于跨国公司 域的原理 其实可以把域和工作组联系起来理解,在工作组上你一切的设置比如在本机上进行各种策略...信任关系是连接在域与域之间的桥梁。...父域与子域之间自动建立起了双向信任关系,域树内的父域与子域之间不但可以按需要进行相互管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理,以及相互通信和数据传输。...与 fr.europe.abc.com 自动建立起了双向信任关系。...infrastructure master (结构主机角色) : 结构主机角色是域范围的角色,每个域一个。
二、HBase的数据结构 1、索引结构:LSM树 传统关系型数据普通索引采用B+树。...LSM树严格来说不是一个具体的数据结构,更多是一种数据结构的设计思想。LSM树不是一棵树,而是由至少两个存储结构构成。...读也是读内存里的 SSTable的索引,并且这里每一个SSTable索引如果用二分法查找,算法复杂度大致在O(lg(n))与O(n)之间,因此随机读也不慢。...3、表结构 与传统的关系型数据库类似,HBase也以表的形式组织数据,表也由行和列组成,不同的是,HBase采用列式存储。...参考文献: 胡争,范欣欣.HBase原理与实践M.北京:机械工业出版社,2019 O’Neil, P., Cheng, E., Gawlick, D., & O’Neil, E. (1996).
类的分析 类的分析主要是分析 isa 的走向与继承关系 准备 创建两个类 1.继承自 NSObject 的 LGPerson @interface LGPerson : NSObject {...有 isa 属性,所以对象都有一个 isa,isa 表示指向,来自于当前的 objc_object objc_object 是当前的根对象,所以所有的对象都拥有 isa 属性 objc_object 与对象的关系...所有对象都是以 objc_object 为模板继承过来的 所有对象都来自于 NSObject,但是其底层是一个 objc_object 的结构体类型 所以 objc_object 与对象的关系是继承关系...,上层 oc 与底层的对接 下层是由结构体定义的模板 objc_class objc_object 上层是通过底层模板创建的一些类型,比如 LGPerson objc_object objc_class...property_list_t,是一个指针,所以通过p *$来取值,同时证明了bits里面存储了属性列表property_array_t 问题:探索成员变量的存储 由此可以得出,property_list中并没有成员变量,属性与成员变量的区别就是有没有
如果结构体中没有成员,结构体的空间大小为0. 【2】结构体变量 1.概念:用结构体类型定义的变量称之为结构体变量。...2.定义格式: 1)定义结构体的同时定义结构体变量。...1)先定义结构体,再对结构体类型进行重定义。...【3】结构体数组 1.概念:存放结构体变量的数组称之为结构体数组。...结构体类型大小 * 数组元素个数 【4】结构体指针 1.概念:指向结构体变量的指针称之为结构体指针。
1、Linux简介 1.1、起源 Linux出现于1991年,是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成 1.2、Linux特点 多用户,多任务,丰富的网络功能...2、Linux目录结构 bin (binaries)存放二进制可执行文件 boot 存放用于系统引导时使用的各种文件 dev (devices)用于存放设备文件 home 存放用户文件的根目录 mnt...vs Windows 目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。...主要区别如下 比较 Windows Linux 界面 界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同 图形界面风格依发布版不同而不同,可能互不兼容。...GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。 驱动程序 驱动程序丰富,版本更新频繁。
同时,舵机消耗的能量与机械负荷成正比。因此,一个轻载的舵机系统不会消耗太多的能量。 伺服电机的结构 舵机的内部结构如上图所示。你可以看到控制电路,马达,一组减速齿轮和外壳。...舵机的工作原理 舵机内部的控制电路,电位计(可变电阻器)和电机均被连接到电路板上,如内部结构图的右边部分。控制电路通过电位计可监控舵机的当前角度。 如果轴的位置与控制信号相符,那么电机就会关闭。...由于限位装置被安装在主输出装置上,超出这个范围机械结构就不能再转动了。 舵机的输出功率与它所需要转动的距离成正比。
「初」前言 在学习数据结构与算法的过程中,感觉真的是一入算法深似海,但是越学越觉得有趣。...本期讲到了最常见的数据结构类型,分别有数组、链表、跳表。这一期我们一起来了解它们的原理与实现。...链表的特性: 每一个元素有两个成员变量value值与next指针(指向下一个元素); 每一个元素串在一起后与数组是非常相似的结构; 与数组不一样的就是每一个元素一般都要定义一个Class(类):一般都叫一个...链表删除结点 接下来我们一起来看看删除结点的原理,删除与新增大致上是一样的,是 在需要把删除的结点的前一个node的next,改为删除结点的下一个node; 具体的实效效果看下图: 链表的删除操作只需要一次...「终」总结 数据结构: 数组:随机查询快 O(1),但是删除与插入较慢 O(n); 链表:删除与插入快 O(1),但是随机查询慢 O(n); 跳表:为了提高链表的随机查询而生的,随机查询能提升到 O(log
硬盘的物理结构 首先简单认识一下硬盘的物理结构,总体来说,硬盘结构包括:盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部分。...在每个盘片的存储面上都有一个磁头,磁头与盘片之间的距离很小(所以剧烈震动容易损坏),磁头连在一个磁头控制器上,统一控制各个磁头的运动。...磁盘分区原理 装过系统的人都知道必须要分区后才能安装系统,形象点的说比如windows里C:、D:之类的东西。...linux。...如果先装windows,然后装linux,linux 会覆盖MBR,然后让用户选择是否将windows等其他操作系统的启动项添加进来,如果你选择了添加进来,那么你在开机时就会有两个选项让用户进行选择了。
2.MyBatis架构分层与模块划分(总) ? 按照功能职责的不同,所有的package可以分成不同的工作层次。...F面我们会按照这五个步骤,去理解MyBatis的运行原理,这里面会涉及到很多核心的对象和关键的方法。 4.2.看源码的注意事项 1、 一定要带着问题去看,猜想验证。...4、 记录核心流程和对象,总结层次、结构、关系,输 出 (图片或者待注释的源码)。 5、 培养看源码的信心和感觉,从带着看到自己去看,看更多的源码。...模板方法使得子类可以在不 改变算法结构的情况下,重新定义算法的某些步骤。 抽象方法是在子类中实现的,BaseExecutor最终会调用到具体的子类。...参考资料: 1.咕泡学院·MyBatis体系结构与工作原理·青山 ?
一、开始 linux中的一切文件都是从“跟(/)”目录开始的,并按照文件系统层次化标准(FHS)采用树形结构来存放文件。 ?...一些网络服务的数据文件目录 /tmp 任何人均可使用的共享临时目录 /proc 虚拟文件系统,例如系统内核,进程,外部设备以及网络状态 /usr/local 用户自行安装的软件 /usr/sbin LINUX...系统开机时不会使用到的软件命令脚本 /usr/share 帮助与说明文件,也可放置共享文件 /var 主要存放经常变化的文件 /lost+found 当文件系统发生错误时,将一些丢失的文件片段存放在这里...三、文件系统与数据资料 常见的文件系统: Ext3:是一款日志文件系统, 能够在系统异常宕机时避免文件系统资料的丢失,并自动修复数据的不一致与错误。...Linux只是把每个文件的权限与属性记录在inode中,而且每个文件占用一个独立的inode表格,该表格的大小默认为128字节,里面记录着如下信息: 该文件的访问权限(read、write、execute
就是当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已经存在的目录文件进行关联,而这个关联的动作就是挂载。...文件系统 挂载目录 参数 作用 -a 挂载所在/etc/fstab中定义的文件系统 -t 指定文件系统的类型 例如,要把设备/dev/sbd2挂载到/backup目录,只需要在mount命令中填写设备与挂载目录参数就行
本文包括Linux系统安装时的分区设置建议,以及Linux的目录结构解释。 系统安装中的分区设置 按以下顺序和大小安装 (1)、“交换空间”,相当于windows下的虚拟内存。...同时为了避免每次sudo都要输入密码,这里配置一下visudo: sudo visudo 在文件最后加上一句(改为自己的用户名): kongxp ALL=(ALL) NOPASSWD: ALL 目录结构
一.Linux系统目录结构 linux的文件系统是采用级层式的树状目录结构,在此结构中最上层是根目录“/”,然后在此目录下再创建其它的目录。在linux世界里。一切皆文件。.../dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。.../media:linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。...下面是常用选项与参数: -a 显示所有文件及目录 (....---- 参考:https://www.runoob.com/linux/linux-install.html
领取专属 10元无门槛券
手把手带您无忧上云