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内核中,所有进程都使用一个页目录表,而每个进程都有自己的页表。
Links #
toc:Relationship
阅人无数 #
我和杰罗姆建立的是一种亲和关系(rapport) HEAR原则 人际沟通的能力可以习得 反馈是对话管理的制胜法宝 正确的反馈示例(第一次约会) 反馈式聆听(SONAR) 使用SONAR策略开展的父母与孩子的对话 你该如何反馈 如何指出矛盾 棍子和石头 反馈能避免你掉入陷阱 千万不要回答这个问题 诠释总结(Reframing) 动物模型及其运作机制 四种动物都要掌握 四种动物的正面和负面特征 父母和孩子之间的不同沟通方式 动物行为的特征(带交叉) 被洗脑的真正原因 好坏就在一线间 老鼠的道歉 对方掌握控制权 狮子与霸王龙的区别 自我调控是孩子成长的必修课 人际沟通能力由三部分组成
Links #
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):
- logical address translating
- linear address space paging
线性地址(Linear Address) 从实模式进入保护模式的步骤
分段机制 #
格式 #
栈段描述符的界限 栈操作时的保护 任务状态段TSS的格式 TSS描述符 TSS中的IO许可位映射区 IO许可位串 IO许可映射区的最后一位必须是0xFF 调用门描述符
检查 #
中断 #
保护机制 #
处理器对栈的保护 保护模式的三种权限类型 conforming与non-conforming代码段 低特权级调用高特权级的两种方法 特权级检查规则 请求特权级别RPL和当前特权级CPL不相同的例子 在特权级检查中引入RPL的必要性 操作系统负责设置RPL字段 特权指令(Privileged Instructions) 特权级别与栈 调用门的特权级检查
长模式 #
长模式段描述符 长模式中断门描述符格式 长模式下的4KB分页
Links #
Intel Pentium Instruction Set Reference Intel 64 and IA-32 Architectures Software Developer Manuals
toc:语言本能
丹丘_李商隐
Content #
李商隐年轻时候也曾经学道,所以他的诗里有很多神仙的典故。
青女丁宁结夜霜,羲和辛苦送朝阳。丹丘万里无消息,几对梧桐忆凤凰?
神话上都这么说,秋天结了霜,霜神就是青女。这是一个故事。但你看李商隐怎么说?李商隐说“青女丁宁结夜霜”,这真是写得好!这就是好诗。“丁宁”两个字写得好,“结”字写得好。叮咛嘱咐,如果一个小孩子要离家上路了,他的妈妈给他叮咛,叮咛就是非常关心地说一些关爱的话。这个青女用这样深厚的、爱重的感情,结出来一朵一朵的霜花。宇宙很奇妙,凡是宇宙的结晶,不管它是雪还是霜,都是一个六角的花纹。雪花是美丽的,各种形状的六角花纹,霜花,你用放大镜看一看,也是很美丽的。要让雪花结成这么美丽的花,让寒霜结出这么美丽的花,要用多少感情、多少心思才能做到呢?他说青女是“丁宁”,那样叮咛,那样深情,那样嘱咐,结出这美丽的霜花。“羲和辛苦送朝阳”——我们说这有霜神,有月神,都是寒冷的,都是女性的。当然我们也有男性的神啊,热情的、温暖的,不都是这么寒冷的、幽怨的——羲和,是太阳的神仙,男性。据说日神驾着一辆车,每天从东方上来,从西方下去,羲和这个太阳的神辛苦地把太阳从东方推上来。
我,李商隐说他自己,我曾像青女一样在每个寒冷的夜晚,“丁宁结夜霜”;我也曾像羲和那个神,“辛苦送朝阳”。我要追求的,是丹丘,那个神仙的境界。我要得到那丹丘的、我所追求我所盼望的一个所在,一个人物的消息。“丹丘万里无消息”,我用了“青女丁宁结夜霜”的感情,我用了“羲和辛苦送朝阳”的努力,我所等待的丹丘却万里无消息。“几对梧桐忆凤凰?”“几”是几次,多少次,有若干次,我栽出来美丽的梧桐树,我等待凤凰飞下来,可是没有。塞缪尔·贝克特(Samuel Beckett)写过一个剧,《等待戈多》(Waiting For Godot)。两个人在舞台上说的都是无聊的话,都是空话,都是沉闷的话,那就是人生。等待,等待一个人来。等待很久,上来一个人说,你们等待的那个戈多不来了,这一场就结束了。第二场,仍然是这两个人,仍然说的是无聊的话,仍然是寂寞的、沉闷的场面,最后小孩子又来了,说你们等待的戈多不来了。等待一个人生的救赎,为什么没有等到呢?等待一个美好的盼望,为什么没有出现呢?我用了“青女丁宁结夜霜”的感情,我用了“羲和辛苦送朝阳”的努力,可是“丹丘万里无消息”,我白白地种了美丽的梧桐树,我盼望我所想念的凤凰会来到,可是什么时候它才来到呢?这是李商隐。
From #
Links #
常用数学表达式
表达式 #
\(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
Links #
打点法
所谓打点法,就是在有前后顺序的请求上,一个做反爬,一个不做反爬。
举个例子,商品价格页面做反爬,商品付款页面不做反爬,毕竟你也不怕爬虫来给你付款。这样,在价格页面检测到爬虫后,就写入一个 Cookie,相当于给所有爬虫打一个标签。理论上说,普通用户是不可能有这个 Cookie 的。那么,我们在付款页面检测这个 Cookie,能拿到它吗?显然是不应该拿到的,因为用户是无 Cookie 的。那么这里检测到多少 Cookie,就证明有多少用户被误伤了。
打点法是用于进行误伤检测的,也就是说,它能迅速地识别到用户被误伤、可以做自动熔断反爬虫的功能。
由于是实时检测,对读取的实时性要求很高。

