首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
postgresql 内核解读笔记
2024-10-14
PostgreSQL内核学习笔记四(SQL引擎)
PostgreSQL实现了SQL Standard2011的大部分内容,SQL处理是数据库中非常复杂的一部分内容. 本文简要介绍了SQL处理的相关内容. 简要介绍 SQL文的处理分为以下几个部分: Parser阶段(词法分析,语法解析) 对应于source中的parser模块 analyzer阶段(语义分析) 对应于source中的analyzer模块 内部处理中将Parser阶段生成的Parser tree转换为Query tree rewriter阶段(查询重写) 安装规则系统进行查询重写,
PostgreSQL内核学习笔记十一(索引)
Index Scan涉及到两部分的内容Heap Only Tuple和index-only-scan. 什么是Heap Only Tuple(HOT)? 例如:Update a Row Without HOT testdb=# \d tbl Table "public.tbl" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- id | i
EPROCESS 进程/线程优先级 句柄表 GDT LDT 页表 《寒江独钓》内核学习笔记(2)
在学习笔记(1)中,我们学习了IRP的数据结构的相关知识,接下来我们继续来学习内核中很重要的另一批数据结构: EPROCESS/KPROCESS/PEB.把它们放到一起是因为这三个数据结构及其外延和windows中进程的表示关系密切,我们在做进程隐藏和进程枚举的时候一定会涉及到这3类数据结构,所以这里有必要及时做一下总结,做个学习笔记,理清思路. 1. 相关阅读材料 <windows 内核原理与实现> --- 潘爱民 <深入解析windows操作系统(第4版,中文版)> --- 潘
Linux内核学习笔记-2.进程管理
原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert Love,陈莉君等译. 1.进程 进程是正在执行的程序代码的实时结果,包含打开的文件.挂起的信号等.线程是进程中的活动的对象,内核调度的对象是线程.在Linux内核对线程与进程并不加以区分,线程只不过是一种特殊的进程. 2.进程描述符 内核把进程的信息存放在task list的双向循环链表中,链表中的
Linux内核学习笔记-1.简介和入门
原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert Love,陈莉君等译. 1.操作系统和内核简介 Linux内核是自由公开软件,使用GNU的General Public License(GPL)第二版作为限制条款.大多数软件许可证决意剥夺你共享和修改软件的自由.相比之下,GNU通用公共许可证试图保证你共享和修改自由软件的自由. 通常一个内核负责响应中
Bandwidthd+Postgresql数据库配置笔记
Bandwidthd+Postgresql数据库配置笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/zjianbo/article/details/16717625 作者:张建波 邮箱: 281451020@qq.com 电话:13577062679 欢迎来电交流! 一.安装前的准备工作 (1)安装前请参考http://blog.csdn.net/zjianbo/article/details/16623879,了解Postgresql数
Linux内核学习笔记二——进程
Linux内核学习笔记二——进程 一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源. 线程是进程中活动的对象,每个线程都拥有独立的程序计数器.进程栈和一组进程寄存器. 内核调度的对象是线程而不是进程.对Linux而言,线程是特殊的进程. 二 进程描述符及任务结构 内核使用双向循环链表的任务队列来存放进程,使用结构体task_struct来描述进程所有信息. 1 进程描述符task_struct struct task_struct {}结构体相当大,大约1.7
20135316王剑桥Linux内核学习笔记
王剑桥Linux内核学习笔记 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 计算机是如何工作的 个人理解:计算机就是通过和用户进行交互,执行用户的指令,这些指令存放在内存中,通过寄存器存储,堆栈变化,来一步步顺序执行. 一.存储程序计算机工作模型 1.冯诺依曼体系结构-存储程序计算机 硬件角度(主板):通过cpu中IP寄存器指向一个代码段运行某些指令: 寄存区,指向内存的某一块区域(代码段) IP:16位cp
Linux内核设计笔记10——内核同步
Linux内核同步笔记 几个基本概念 - 临界区(critical region):访问和操作共享数据的代码段: - 原子操作:操作在执行中不被打断,要么不执行,要么执行完: - 竞争条件: 两个线程处于同一个临界区内执行,对数据同时访问或操作,称之为竞争: - 同步(synchronization):避免并发和防止竞争条件成为同步. 预防死锁 - 按顺序加锁,使用嵌套锁时,必须注意按顺序加锁,可以防止拥抱类死锁. - 防止饥饿 - 不要重复请求同一个锁 - 设计力求简单. 原子操作 原子操作可
KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态获取 《寒江独钓》内核学习笔记(5)
目录 . 相关阅读材料 . <加密与解密3> . [经典文章翻译]A_Crash_Course_on_the_Depths_of_Win32_Structured_Exception_Handling.pdf . < DAY安全: 软件漏洞分析技术> 2. 数据结构分析 二. KTHREAD KTHREAD(内核层线程对象).再次重复说明一点: windows内核中的执行体(ETHREAD, EPROCESS) 负责各种与管理和策略相关的功能,而内核层(或微内核)(KTHREAD,
ETHREAD APC 《寒江独钓》内核学习笔记(4)
继续学习windows 中和线程有关系的数据结构: ETHREAD.KTHREAD.TEB 1. 相关阅读材料 <windows 内核原理与实现> --- 潘爱民 2. 数据结构分析 我们知道,windows内核中的执行体层负责各种与管理和策略相关的功能,而内核层(微内核)实现了操作系统的核心机制.进程和线程在这两层上都有对应的数据结构.我们先从执行体层的ETHREAD开始. 一. ETHREAD ETHREAD(执行体线程块)是执行体层上的线程对象的数据结构.在windows内核中,每个进
KPROCESS IDT PEB Ldr 《寒江独钓》内核学习笔记(3)
继续上一篇(2)未完成的研究,我们接下来学习 KPROCESS这个数据结构. 1. 相关阅读材料 <深入理解计算机系统(原书第2版)> 二. KPROCESS KPROCESS,也叫内核进程块.我们在开始学习它的数据机构之前,首先要思考的一个问题是,它和EPROCESS名字感觉差不多,那它们之间是什么关系呢?它们在内核区域中都位于那一层呢? 我们先来看一张图: windows内核中的执行体负责各种与管理和策略相关的的功能(在学习笔记(2)有相关的介绍).而内核层(或微内核)实现了操作系统的&q
IRP IO_STACK_LOCATION 《寒江独钓》内核学习笔记(1)
在学习内核过滤驱动的过程中,遇到了大量的涉及IRP操作的代码,这里有必要对IRP的数据结构和与之相关的API函数做一下笔记. 1. 相关阅读资料 <深入解析 windows 操作系统(第4版,中文版)> --- 9章 <windows driver kit 帮助文档> http://support.microsoft.com/kb/115758/zh-cn IRP 结构中各地址字段的含义 http://www.programlife.net/io_stack_location-i
linux内核编程笔记【原创】
以下为本人学习笔记,如有转载请注明出处,谢谢 DEFINE_MUTEX(buzzer_mutex); mutex_lock(&buzzer_mutex); mutex_unlock(&buzzer_mutex); static void WriteNumber(const char *fileName, int number) { FILE *fp; fp = fopen(fileName, "w"); if (fp == NULL) { LCD_DEBUG("
分享:json2.js源代码解读笔记
1. 怎样理解"json" 首先应该意识到,json是一种数据转换格式,既然是个"格式",就是个抽象的东西.它不是js对象,也不是字符串,它仅仅是一种格式,一种规定而已. 这个格式规定了如何将js对象转换成字符串.以及转换成如何的字符串--序列化 -- JSON.stringify 接口: 以及怎样将一个有效字符串转换成js对象--反序列化-- JSON.parse 接口: 2. 关于作者 json作者是 道格拉斯.克劳福德 ,是一位js大牛,写过一本<jav
js便签笔记(10) - 分享:json2.js源码解读笔记
1. 如何理解“json” 首先应该意识到,json是一种数据转换格式,既然是个“格式”,就是个抽象的东西.它不是js对象,也不是字符串,它只是一种格式,一种规定而已. 这个格式规定了如何将js对象转换成字符串.以及转换成怎样的字符串——序列化 —— JSON.stringify 接口: 以及如何将一个有效字符串转换成js对象——反序列化—— JSON.parse 接口: 2. 关于作者 json作者是 道格拉斯.克劳福德 ,是一位js大牛,写过一本<javascript语言精粹>,相信不少朋
js便签笔记(10) - 分享:json.js源码解读笔记
1. 如何理解“json” 首先应该意识到,json是一种数据转换格式,既然是个“格式”,就是个抽象的东西.它不是js对象,也不是字符串,它只是一种格式,一种规定而已. 这个格式规定了如何将js对象转换成字符串.以及转换成怎样的字符串——序列化 —— JSON.stringify 接口: 以及如何将一个有效字符串转换成js对象——反序列化—— JSON.parse 接口: 2. 关于作者 json作者是 道格拉斯.克劳福德 ,是一位js大牛,写过一本<javascript语言精粹>,相信不少朋
Linux内核学习笔记之seq_file接口创建可读写proc文件
转自:http://blog.csdn.net/mumufan05/article/details/45803219 学习笔记与个人理解,如有错误,欢迎指正. 温馨提示:建议跟着注释中的编号顺序阅读代码 测试方法:cat /proc/abc_proc echo 任意字符串 >/proc/abc_pro(需root权限) /************************************************* 使用seq_file接口实现可读写proc文件的例子 适用于3.10以后的内
PostgreSQL内核分析——BTree索引
文中附图参考至<PostgreSQL数据库内核分析> (一)概念描述 B+树是一种索引数据结构,其一个特征在于非叶子节点用于描述索引,而叶子节点指向具体的数据存储位置.在PostgreSQL中,存在结构相似的BTree索引,该数据结构最先引用于<Effiicient Locking for Concurrent Operations on B-Trees>论文,一个新特征在于,引入了“High Key”(下述HK)用于描述当前节点子节点的最大值.如下图所示: 其中K1代表一个HK,
Windows内核读书笔记——Windows异常分发处理机制
本篇读书笔记主要参考自<深入解析Windows操作系统>和<软件调试>这两本书. IDT是处理异常,实现操作系统与CPU的交互的关口. 系统在初始化阶段会去填写这个结构. IDT的每一个表项都成为门描述符,因为IDT的功能就像大门一样,从一个空间跳到另一个空间去执行. IDT中包含三种门描述符 任务门描述符:用于任务切换 中断门描述符:用于描述中断处理例程 陷阱们描述符:用于描述异常处理例程 CPU如何使用IDT cpu首先根据IDTR找到IDT,再利用向量号码找到门描述符.再去判
热门专题
如何实现Guava获取本地缓存是深拷贝
单节点open stack无法创建网络
IscrollY轴的值没有变化
svn提示不能刷新文件,设备上没有空间
通过选择发送崩溃报告数据,您将向altium
idea 2021关闭sonarlint自动运行
ffmpeg subprocess.Popen 卡死
flex 一行设置几列
thshop安装向导
python 输入三个整数,把这三个数从小到大输出
安卓sqlite登录注册功能
监控 特定 cpu 的进程
sqlserver2014 循环json节点
LCT 能维护图的连通性吗
img.shape两个中括号
电路设计自动更新元件序号
window11 IIS 无法安装
root无法连接sftp
两台 smb文件服务器自动同步
github部署前端页面