Blog

toc:OldLinux

Content #

内存结构图(head.s执行后) GDT结构图(head.s执行后) IDT结构图(head.s执行后) setup_paging(head.s) 挂接中断服务程序(_set_gate) 进程0需要具备的三种能力 进程0中GDT、LDT、TSS关系示意图 进程0设置LDT和TSS描述符 TSS与LDT选择子的计算 move_to_user_mode mem_map初始化 初始化过程中的内核栈 任务的内核态栈 get_free_page函数 加载根文件系统 switch_to

Notes #

Linux0.11内核中,所有进程都使用一个页目录表,而每个进程都有自己的页表。

toc:Relationship

阅人无数 #

我和杰罗姆建立的是一种亲和关系(rapport) HEAR原则 人际沟通的能力可以习得 反馈是对话管理的制胜法宝 正确的反馈示例(第一次约会) 反馈式聆听(SONAR) 使用SONAR策略开展的父母与孩子的对话 你该如何反馈 如何指出矛盾 棍子和石头 反馈能避免你掉入陷阱 千万不要回答这个问题 诠释总结(Reframing) 动物模型及其运作机制 四种动物都要掌握 四种动物的正面和负面特征 父母和孩子之间的不同沟通方式 动物行为的特征(带交叉) 被洗脑的真正原因 好坏就在一线间 老鼠的道歉 对方掌握控制权 狮子与霸王龙的区别 自我调控是孩子成长的必修课 人际沟通能力由三部分组成

toc:x86_64

通用 #

开启Cache x86 CPU需要开启Cache 可用于指定内存的寄存器 sub:x86指令参考

标志位 #

ZF零标志位的实现原理 用方向标志DF控制数据传送的方向 溢出标志OF IOPL位 修改IOPL位和IF位的四条指令 中断标志IF

实模式 #

寻址 #

基址寻址与变址寻址 绝对地址转移与相对近地址转移

8086支持的四种调用方式 #

16位相对近调用 16位间接绝对近调用 16位直接绝对远调用 16位间接绝对远调用

中断 #

两类外部硬件中断 NMI的中断号 实模式下的中断向量表 中断向量表的初始化 可编程中断控制器8259芯片 中断屏蔽寄存器(Interrupt Mask Register,IMR) 实模式下中断处理过程

保护模式 #

保护模式下,处理器的地址转换分为两个阶段(stage):

  1. logical address translating
  2. linear address space paging

线性地址(Linear Address) 从实模式进入保护模式的步骤

分段机制 #

sub:Segmentation(IA-32)

格式 #

栈段描述符的界限 栈操作时的保护 任务状态段TSS的格式 TSS描述符 TSS中的IO许可位映射区 IO许可位串 IO许可映射区的最后一位必须是0xFF 调用门描述符

检查 #

段的类别检查 用别名段来修改代码段

中断 #

中断门描述符格式 进入保护模式为什么需要关中断

保护机制 #

处理器对栈的保护 保护模式的三种权限类型 conforming与non-conforming代码段 低特权级调用高特权级的两种方法 特权级检查规则 请求特权级别RPL和当前特权级CPL不相同的例子 在特权级检查中引入RPL的必要性 操作系统负责设置RPL字段 特权指令(Privileged Instructions) 特权级别与栈 调用门的特权级检查

sub:分页机制(32位)

长模式 #

长模式段描述符 长模式中断门描述符格式 长模式下的4KB分页

Intel Pentium Instruction Set Reference Intel 64 and IA-32 Architectures Software Developer Manuals

丹丘_李商隐

Content #

李商隐年轻时候也曾经学道,所以他的诗里有很多神仙的典故。

青女丁宁结夜霜,羲和辛苦送朝阳。丹丘万里无消息,几对梧桐忆凤凰?

神话上都这么说,秋天结了霜,霜神就是青女。这是一个故事。但你看李商隐怎么说?李商隐说“青女丁宁结夜霜”,这真是写得好!这就是好诗。“丁宁”两个字写得好,“结”字写得好。叮咛嘱咐,如果一个小孩子要离家上路了,他的妈妈给他叮咛,叮咛就是非常关心地说一些关爱的话。这个青女用这样深厚的、爱重的感情,结出来一朵一朵的霜花。宇宙很奇妙,凡是宇宙的结晶,不管它是雪还是霜,都是一个六角的花纹。雪花是美丽的,各种形状的六角花纹,霜花,你用放大镜看一看,也是很美丽的。要让雪花结成这么美丽的花,让寒霜结出这么美丽的花,要用多少感情、多少心思才能做到呢?他说青女是“丁宁”,那样叮咛,那样深情,那样嘱咐,结出这美丽的霜花。“羲和辛苦送朝阳”——我们说这有霜神,有月神,都是寒冷的,都是女性的。当然我们也有男性的神啊,热情的、温暖的,不都是这么寒冷的、幽怨的——羲和,是太阳的神仙,男性。据说日神驾着一辆车,每天从东方上来,从西方下去,羲和这个太阳的神辛苦地把太阳从东方推上来。

我,李商隐说他自己,我曾像青女一样在每个寒冷的夜晚,“丁宁结夜霜”;我也曾像羲和那个神,“辛苦送朝阳”。我要追求的,是丹丘,那个神仙的境界。我要得到那丹丘的、我所追求我所盼望的一个所在,一个人物的消息。“丹丘万里无消息”,我用了“青女丁宁结夜霜”的感情,我用了“羲和辛苦送朝阳”的努力,我所等待的丹丘却万里无消息。“几对梧桐忆凤凰?”“几”是几次,多少次,有若干次,我栽出来美丽的梧桐树,我等待凤凰飞下来,可是没有。塞缪尔·贝克特(Samuel Beckett)写过一个剧,《等待戈多》(Waiting For Godot)。两个人在舞台上说的都是无聊的话,都是空话,都是沉闷的话,那就是人生。等待,等待一个人来。等待很久,上来一个人说,你们等待的那个戈多不来了,这一场就结束了。第二场,仍然是这两个人,仍然说的是无聊的话,仍然是寂寞的、沉闷的场面,最后小孩子又来了,说你们等待的戈多不来了。等待一个人生的救赎,为什么没有等到呢?等待一个美好的盼望,为什么没有出现呢?我用了“青女丁宁结夜霜”的感情,我用了“羲和辛苦送朝阳”的努力,可是“丹丘万里无消息”,我白白地种了美丽的梧桐树,我盼望我所想念的凤凰会来到,可是什么时候它才来到呢?这是李商隐。

From #

常用数学表达式

表达式 #

\(Z_n \stackrel{p}{\longrightarrow} b\) Z_n \stackrel{p}{\longrightarrow} b

\(f(x)=\begin{cases}1, &x\ge 0\\0, & x<0\end{cases}\) f(x)=\begin{cases}1, &x≥ 0\\0, & x<0\end{cases}

\(f:\mathcal{X} \mapsto \mathcal{Y}\) f:\mathcal{X} \mapsto \mathcal{Y}

\(\min\limits_{i\leq k < j} \{a_k\}\) min\limitsi≤ k < j \{a_k\}

\(\lim\limits_{n \to \infty}f(x)\) lim\limitsn → ∞f(x)

\(R \mathop{\bowtie}\limits_{X \theta Y} S\) R \mathop{\bowtie}\limitsX θ Y S

打点法

所谓打点法,就是在有前后顺序的请求上,一个做反爬,一个不做反爬。

举个例子,商品价格页面做反爬,商品付款页面不做反爬,毕竟你也不怕爬虫来给你付款。这样,在价格页面检测到爬虫后,就写入一个 Cookie,相当于给所有爬虫打一个标签。理论上说,普通用户是不可能有这个 Cookie 的。那么,我们在付款页面检测这个 Cookie,能拿到它吗?显然是不应该拿到的,因为用户是无 Cookie 的。那么这里检测到多少 Cookie,就证明有多少用户被误伤了。

打点法是用于进行误伤检测的,也就是说,它能迅速地识别到用户被误伤、可以做自动熔断反爬虫的功能。

由于是实时检测,对读取的实时性要求很高。

反爬虫概述(一):高收益的后端能做哪些基本的事情? 转化率不变法