E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
内核学习
EPROCESS 进程/线程优先级 句柄表 GDT LDT 页表 《寒江独钓》
内核学习
笔记(2)
在学习笔记(1)中,我们学习了IRP的数据结构的相关知识,接下来我们继续来学习内核中很重要的另一批数据结构: EPROCESS/KPROCESS/PEB。把它们放到一起是因为这三个数据结构及其外延和windows中进程的表示关系密切,我们在做进程隐藏和进程枚举的时候一定会涉及到这3类数据结构,所以这里有必要及时做一下总结,做个学习笔记,理清思路。 1. 相关阅读材料 《wind
·
2015-11-13 22:55
process
IRP IO_STACK_LOCATION 《寒江独钓》
内核学习
笔记(1)
在学习内核过滤驱动的过程中,遇到了大量的涉及IRP操作的代码,这里有必要对IRP的数据结构和与之相关的API函数做一下笔记。 1. 相关阅读资料 《深入解析 windows 操作系统(第4版,中文版)》 --- 9章 《windows driver kit 帮助文档》 http://support.microsoft.com/kb/115758/zh-cn IR
·
2015-11-13 22:54
location
Linux
内核学习
笔记2——Linux内核源码结构
一 内核组成部分 内核是一个操作系统的核心,主要由五个部分组成:进程调度,内存管理,虚拟文件系统,网络结构,进程间通信。 1、进程调度(SCHED) 控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其他资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进
·
2015-11-13 22:51
linux
Linux
内核学习
笔记1——系统调用原理
1什么是系统调用 系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。 从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接
·
2015-11-13 22:50
linux
Linux
内核学习
笔记3——分段机制和分页机制
一 分段机制 1、什么是分段机制 分段机制就是把虚拟地址空间中的虚拟内存组织成一些长度可变的称为段的内存块单元。 2、什么是段 每个段由三个参数定义:段基地址、段限长和段属性。 段的基地址、段限长以及段的保护属性存储在一个称为段描述符的结构项中。 3、段的作用 段可以用来存放程序的代码、数据和堆栈,或者用来存放系统数据结构。
·
2015-11-13 22:50
linux
KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态获取 《寒江独钓》
内核学习
笔记(5)
目录 1. 相关阅读材料 2. 《加密与解密3》 3. [经典文章翻译]A_Crash_Course_on_the_Depths_of_Win32_Structured_Exception_Handling.pdf 4. 《0 DAY安全: 软件漏洞分析技术》 2. 数据结构分析 二. KTHREAD KTHREAD(内核层线程对象)。再次重复说明一点: w
·
2015-11-13 22:18
thread
ETHREAD APC 《寒江独钓》
内核学习
笔记(4)
继续学习windows 中和线程有关系的数据结构: ETHREAD、KTHREAD、TEB 1. 相关阅读材料 《windows 内核原理与实现》 --- 潘爱民 2. 数据结构分析 我们知道,windows内核中的执行体层负责各种与管理和策略相关的功能,而内核层(微内核)实现了操作系统的核心机制。进程和线程在这两层上都有对
·
2015-11-13 22:17
thread
EPROCESS KPROCESS PEB
EPROCESS KPROCESS PEB 《寒江独钓》
内核学习
笔记(2) 在学习笔记(1)中,我们学习了IRP的数据结构的相关知识,接下来我们继续来学习内核中很重要的另一批数据结构
·
2015-11-13 22:15
process
内核学习
笔记(1)
内核学习
笔记(1)-- IRP IO_STACK_LOCATION 在学习内核过滤驱动的过程中,遇到了大量的涉及IRP操作的代码,这里有必要对IRP的数据结构和与之相关的API函数做一下笔记。
·
2015-11-13 22:00
学习笔记
KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态
KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态获取 《寒江独钓》
内核学习
笔记(5) 继续我们的线程相关的数据结构的学习。
·
2015-11-13 21:18
thread
ETHREAD APC
ETHREAD APC 《寒江独钓》
内核学习
笔记(4) 继续学习windows 中和线程有关系的数据结构: ETHREAD、KTHREAD、TEB 1.
·
2015-11-13 21:08
thread
关于linux
内核学习
常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(time-shared)和实时(real-time)的区别是什么,进程是个什么东西,CPU和系统总线、
·
2015-11-13 21:50
linux
linux
内核学习
---boot.s
! boot.s!! It then loads the system at 0x10000, using BIOS interrupts. Thereafter! it disables all interrupts, changes to protected mode, and calls the BOOTSEG = 0x07c0SYSSEG = 0x1000 ! system loade
·
2015-11-13 20:21
linux
linux
内核学习
---as86语法
as86(1) &nb
·
2015-11-13 20:20
linux
linux中的"32位"与"64位"
linux
内核学习
之三:linux中的"32位"与"64位" 在通用PC领域,不论是windows还是linux界
·
2015-11-13 19:05
linux
关于Linux
内核学习
的误区以及相关书籍介绍
http://www.hzlitai.com.cn/article/ARM9-article/system/1605.html 写给Linux内核新手-关于Linux
内核学习
的误区
·
2015-11-13 05:11
linux
Linux
内核学习
的经典书籍及途径
from:http://www.zhihu.com/question/19606660 知乎 Linux
内核学习
的经典书籍及途径?
·
2015-11-13 05:11
linux
Linux
内核学习
总结
不知不觉的已经在网易云课堂上像追美剧一般追过了2个月的课程。这两个月的课程中,有过对知识的不解,想过中途放弃,但是最终坚持到了现在。 回看这8周的学习笔记,听课的感觉依旧,怀念当时的感觉与冲劲,也感叹道自己经历投入的不足。下面是这八周的博客地址列表。 博客列表 初识计算机工作过程 对一个简单的时间片轮转多道程序内核代码的浅析 使用GDB跟踪LINUX内核启动过程(从STAR
·
2015-11-12 20:11
linux
linux
内核学习
:中断
编程相关 注册中断 int request_irq( unsigned int irq, irq_handler_t handler, unsigned long flags, const char *name, void *dev) typedef irqreturn_t (*irq_
·
2015-11-12 19:51
linux
linux
内核学习
:中断中推后执行的部分
软中断-softirq 特点 相同和不同的软中断都可以在不同处理器上同时执行 一个软中断不会抢占另一个软中断 何时执行 从中断程序返回时 ksoftirqd线程中 显示调用 软中断最多有32个,一个32位的整型数据可以被用来标记刮起的软中断 使用策略 软中断应用于确实需要的场合,目前只有网络驱动和SCSI驱动中使用。另外,内核定时器和tasklet建立在软中
·
2015-11-12 19:51
linux
linux
内核学习
:进程管理
进程状态 TASK_RUNNING 可运行或正在运行 TASK_INTERRUPTIBLE 进程被阻塞,但可以被信号唤醒 TASK_UNINTERRUPTIBLE 进程被阻塞,且不可以被信号唤醒 TASK_STOPPED 进程已停止,且不能再投入运行 TASK_ZOMBIE 所谓的僵死进程,进程描述符仍然保留 关键函数和结构
·
2015-11-12 19:50
linux
linux
内核学习
:进程调度
基本工作原理 只要有可以执行的进程,就一定有进程在执行; 如果可执行的进程数目多于CPU数目,就选择一个执行 调度类型 抢占式多任务 preemptive multitasking 调度器可以中断正在执行的进程,从而运行另一个进程 非抢占式多任务 cooperative multitasking 进程必须自己退出,其它进程才有可能运行 调度策略与进程特性 使用的调
·
2015-11-12 19:49
linux
linux
内核学习
笔记-2.进程管理
部分内容来自:Linux Kernel Development(Third Edition),Robert Love,陈莉君等译。 1.进程 进程是正在执行的程序代码的实时结果,包含打开的文件、挂起的信号等。线程是进程中的活动的对象,内核调度的对象是线程。在Linux内核对线程与进程并不加以区分,线程只不过是一种特殊的进程。 2.进程描述符 内核把进程的信息存放在task li
·
2015-11-12 17:26
linux
linux
内核学习
笔记-1.简介和入门
部分内容来自:Linux Kernel Development(Third Edition),Robert Love,陈莉君等译。 1.操作系统和内核简介 linux内核是自由公开软件,使用GNU的General Public License(GPL)第二版作为限制条款。大多数软件许可证决意剥夺你共享和修改软件的自由。相比之下,GNU通用公共许可证试图保证你共享和修改自由软件的自由。
·
2015-11-12 17:25
linux
linux
内核学习
之四:进程切换简述
在讲述专业知识前,先讲讲我学习linux内核使用的入门书籍:《深入理解linux内核》第三版(英文原版叫《Understanding the Linux Kernel》),不过这本书不一定对每个人都适合,大家可以根据自己的情况选择适合的入门书籍。看了前面几章,感觉这本书的语言极其精练,没有一句多余的,必须慢慢读。可能我以前习惯了粗略浏览的阅读方式,读这本书时
·
2015-11-12 10:52
linux
linux
内核学习
之二:编译内核
在linux
内核学习
系列的第一课中讲述了搭建学习环境的过程(http://www.cnblogs.com/xiongyuanxiong/p/3523306.html
·
2015-11-12 10:51
linux
linux
内核学习
之三:linux中的"32位"与"64位"
在通用PC领域,不论是windows还是linux界,我们都会经常听到"32位"与"64位"的说法,类似的还有"x86"与"x86_64","i386"与"amd64",这两组概念之间有着怎样的联系和区别呢?实际上这两组概念涉及了三个层次:
·
2015-11-12 10:51
linux
linux
内核学习
之一:环境搭建--安装Debian7.3
在开始我们的linux
内核学习
之前。首先需要搭建我们的工作学习环境,即安装linux系统。关于linux
·
2015-11-12 10:50
Debian
Android
内核学习
笔记
0、android系统启动《Android系统启动流程 --bootloader》《TheAndroidbootprocessfrompoweron》《Android启动过程介绍》《Android培训班(86)内核运行之前的引导程序》这是一系列文章《Android分区挂载》1、init《深入理解android卷1》第3章深入理解init《Android框架揭秘》第3章init进程《Android的
prike
·
2015-11-11 22:00
Linux
内核学习
方法
Makefile不是Make Love 从前在学校,混了四年,没有学到任何东西,每天就是逃课,上网,玩游戏,睡觉。毕业的时候,人家跟我说Makefile我完全不知,但是一说Make Love我就来劲了,现在想来依然觉得丢人。 毫不夸张地说,Kconfig和Makefile是我们浏览内核代码时最为依仗的两个文件。基本上,Linux内核中每一个目录下边都会有一个Kconfig文件和一个
·
2015-11-11 14:00
linux
linux
内核学习
(15)内核编程基本功之内核同步与自旋锁spinlock_t
Pro-I、内核同步与自旋锁: 1、为什么要使用内核同步? 同步使得共享数据结构(相对应的代码块—临界区)可以有节奏的被读/写。主要是由于内核控制路径的改变,而且它的改变是随机的。那么我们所要做的就是要保证在任意时刻只有一个内核控制路径处于临界区。如果在单CPU的情况下,只需禁止内核抢占即可实现不会发生内核控制路线的改变,如果在多CPU的情况下,就需要用到自旋锁了,它可以保证多个CPU的运行轨
·
2015-11-11 12:31
linux
Linux网络编程&
内核学习
c语言: 基础篇 1.《写给大家看的C语言书(第2版)》 原书名: Absolute Beginner's Guide to C (2nd Edition) 原出版社: Sams 作者: (美)Greg Perry [作译者介绍] 译者: 谢晓钢 刘艳娟&nb
·
2015-11-11 09:05
linux
内核学习
--驱动隐藏进程
实在不好意思拿出手,都是人家玩烂的技术了。。。可我还是要学习。。。也给小白们科普了 原理: windows系统内核内部采用链表的方式将进程链起来。如果我们从链表中摘掉想要隐藏的进程,那么一般的采用这种方式遍历进程的工具也就没有用处了。。也就达到我们的目的了。。悲哀的任务管理器。。。具体的就不记录了。。。(但是这种方法对现在的杀毒基本不起什么作用。。除了一些弱智杀毒软件。。。) 对
·
2015-11-11 03:21
学习
Linux
内核学习
总结
作者:xujianguo 原创作品转载请注明出处,《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ——————————————————————————————————————————————————————-———— 心得体会: &nbs
·
2015-11-11 02:08
linux
Linux
内核学习
笔记——内核内存管理方式
一 页 内核把物理页作为内存管理的基本单位;内存管理单元(MMU)把虚拟地址转换为物理 地址,通常以页为单位进行处理。MMU以页大小为单位来管理系统中的也表。 32位系统:页大小4KB  
·
2015-11-09 12:18
linux
Linux
内核学习
笔记——VFS
概念: ①硬链接:若一个 inode 号对应多个文件名,则称这些文件为硬链接。即硬链接就是同一个文件使用了多个别名。硬链接可由命令 link 或 ln 创建。 其特性: 文件有相同的 inode 及 data block; 只能对已存在的文件进行创建; 不能交叉文件系统进行硬链接的创建; 不能对目录进行创建,只可对文件创建; 删除一个硬链接文件并不影响其他有相同 i
·
2015-11-09 12:17
linux
Win32
内核学习
网站(驱动)
牛站(Windows内核) Web站点: http://www.osronline.com 技术含量很高的Windows驱动开发站点,该站点的list基本上覆盖了所有Windows驱动开发的常见问题,强烈推荐; http://www.microsoft.com/whdc 微软的驱动开发资源主页,可以获取很多官方资料; http://www.wd-
·
2015-11-02 18:48
Win32
linux
内核学习
-
我的博客:www.while0.com 1.端口地址的设置主要有统一编址和独立编址。 cat /proc/ioports 可以查询linux主机的设备端口。 2.数据传输控制方式有循环查询,中断和DMA传输方式。 3.键盘控制器:接通码和断开码。三套扫描码:目前键盘发送第二套,但为了兼容第一套,还是会被软件转为第一套。 4.获取硬件状态的办法有两种:轮询和中断。中断是最好
·
2015-10-31 15:51
linux
linux
内核学习
方法论 ...
1、linux kernel development 3rd edition 中,Andrew Morton 说 " The best way to understand a part of of the kernel is to make changes to it. Making a change forces the develo
·
2015-10-31 11:36
linux
Linux
内核学习
笔记(5)连载---实模式、保护模式和虚拟8086方式
从80386开始,cpu有三种工作方式:实模式,保护模式和虚拟8086模式。只有在刚刚启动的时候是real-mode,等到linux操作系统运行起来以后就运行在保护模式。实模式只能访问地址在1M以下的内存称为常规内存,我们把地址在1M 以上的内存称为扩展内存。在保护模式下,全部32条地址线有效,可寻址高达4G字节的物理地址空间; 扩充的存储器分段管理机制和可选的存储器分页管理机制,不仅为存储器共享
·
2015-10-31 11:37
linux
写给Linux内核新手-关于Linux
内核学习
的误区
写给Linux内核新手-关于Linux
内核学习
的误区 先说句正经的:其实我没资格写这篇文章,因为自己也就一两个月以来才开始有所领悟的。
·
2015-10-31 10:25
linux
写给Linux内核新手-关于Linux
内核学习
的误区
写给Linux内核新手-关于Linux
内核学习
的误区 先说句正经的:其实我没资格写这篇文章,因为自己也就一两个月以来才开始有所领悟的。
·
2015-10-31 10:25
linux
linux
内核学习
书籍
记得在中国人气和高手最多的linuxform上看到的一句话。 现在自己的书架上以后lkd2+ldd3+情景分析,再加上它ulk3,书架的linux kernel的四库全书已经凑齐,很充实。 lkd2:属于在总体上给你一个轮廓和框架;先看一遍有个总体把握,过后再精读; ldd3:工作时必不可少的书籍,我们组就买了3本人手一本,已经翻烂了,属于实践的好书; 情景分析:太厚了,而且是2.4的,不
·
2015-10-30 14:57
linux
u-boot-2009.08引导
内核学习
笔记
U-Boot移植好后就要考虑如何引导内核了(以下介绍的是bootm方式,开发板是友善之臂的mini2440)。所用的U-Boot是移植的U-Boot-2009.08 ,内核是mini2440光盘中的kernel-2.6.29。U-Boot引导内核分三步:内核的编译、启动参数的设置、下载固化。 (一)内核的编译 通常,u-boot为kernel提供一些kerne
·
2015-10-30 11:49
学习笔记
linux
内核学习
笔记之——list_for_each_entry
在Linux内核源码中,经常要对链表进行操作,其中一个很重要的宏是list_for_each_entry:意思大体如下:假设只有两个结点,则第一个member代表head,list_for_each_entry的作用就是循环遍历每一个pos中的member子项。图1:pos: &nb
·
2015-10-27 15:08
linux
深入理解Linux内存寻址的分段机制
现在把我的理解记录下来,希望对
内核学习
者有一定帮助,也希望大家指出错误之处。
佚名
·
2015-10-25 11:56
linux 0.11
内核学习
-- block_dev.c
/* * 该文件的两个函数是为了向open和write函数提供接口,实现内核数据 * 和用户数据的交互 */ /* * linux/fs/block_dev.c * * (C) 1991 Linus Torvalds */ #include <err
·
2015-10-21 11:11
linux
linux 0.11
内核学习
-- head.s
# # 这段代码被连接到system模块的最前面,这也是它为什么称之为head.s的原因。 # 从这里开始内核完全运行在保护模式下。head.s采用的是at&t格式的 # 汇编。注意的是代码中的赋值方向是从左到右。 # # 这段程序实际上是出于内存的绝对地址0开始处。首先是加载各个数据段寄存器。 # 重新设置全局描述符表gdt --> 检测a20地址线是
·
2015-10-21 11:11
linux
linux 0.11
内核学习
-- bitmap.c
/* * linux/fs/bitmap.c * * (C) 1991 Linus Torvalds */ /* bitmap.c contains the code that handles the inode and block bitmaps */ #include <string.h
·
2015-10-21 11:11
bitmap
linux 0.11
内核学习
-- inode.c
/* * linux/fs/inode.c * * (C) 1991 Linus Torvalds */ #include <string.h> #include <sys/stat.h> // 文件状态头文件 #include <linux/sched.h&
·
2015-10-21 11:10
linux
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他