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
0.11
Linux
0.11
内核--指针的指针 任务结构体
在linux内核进程调度函数schedule()中定义了structtask_struct**p,它是指向指针的指针,由于linux内核中task数组定义如下: structtask_struct*task[NR_TASKS]={&(init_task.task),};/* *'schedule()'istheschedulerfunction.ThisisGOODCODE!There
yming0221
·
2011-04-26 17:00
c
linux
struct
任务
Signal
linux内核
Linux
0.11
内核--指针的指针 任务结构体
在linux内核进程调度函数schedule()中定义了struct task_struct **p,它是指向指针的指针,由于linux内核中task数组定义如下: struct task_struct *task[NR_TASKS] = { &(init_task.task), }; /* * 'schedule()' is the scheduler function
soboer
·
2011-04-26 17:00
linux
Linux
0.11
内核--指针的指针 任务结构体
在linux内核进程调度函数schedule()中定义了struct task_struct **p,它是指向指针的指针,由于linux内核中task数组定义如下: struct task_struct *task[NR_TASKS] = { &(init_task.task), }; /* * 'schedule()' is the scheduler function
thecloud
·
2011-04-26 17:00
linux
[置顶] Linux 内核学习(1)
http://blog.csdn.net/yming0221)持续更新中......1.Linux 内核系统体系结构2.Linux 的进程控制块数据结构3.linux/Makefile 文件4.linux-
0.11
yming0221
·
2011-04-23 21:00
数据结构
linux
汇编
gcc
constraints
linux内核
Linux 内核学习(1)
blog.csdn.net/yming0221) 持续更新中...... 1.Linux内核系统体系结构 2.Linux的进程控制块数据结构 3.linux/Makefile文件 4.linux-
0.11
thecloud
·
2011-04-23 21:00
linux
Linux 内核学习(1)
blog.csdn.net/yming0221) 持续更新中...... 1.Linux内核系统体系结构 2.Linux的进程控制块数据结构 3.linux/Makefile文件 4.linux-
0.11
soboer
·
2011-04-23 21:00
linux
Linux 内核学习(1)
blog.csdn.net/yming0221) 持续更新中...... 1.Linux内核系统体系结构 2.Linux的进程控制块数据结构 3.linux/Makefile文件 4.linux-
0.11
soboer
·
2011-04-23 21:00
linux
Linux 内核学习(1)
blog.csdn.net/yming0221) 持续更新中...... 1.Linux内核系统体系结构 2.Linux的进程控制块数据结构 3.linux/Makefile文件 4.linux-
0.11
thecloud
·
2011-04-23 21:00
linux
Linux
0.11
内核--进程的结束
进程的结束结束一个进程,就是要释放该进程所有的结构和资源,让系统从此之后再也感觉不到它的存在。如前面所说的,一个进程的结构包括:task[]数组中一项,指向了该进程的task_struct和内核堆栈所在页面;GDT中两项,一项是TSS描述符,一项是LDT描述符;若干页目录项和若干页表。一个进程拥有的资源包括:进程拥有的所有物理页面(包括页表和task_struct所占页面);进程打开的所有文件。G
soboer
·
2011-04-19 22:00
linux
Linux
0.11
内核--进程的结束
进程的结束结束一个进程,就是要释放该进程所有的结构和资源,让系统从此之后再也感觉不到它的存在。如前面所说的,一个进程的结构包括:task[]数组中一项,指向了该进程的task_struct和内核堆栈所在页面;GDT中两项,一项是TSS描述符,一项是LDT描述符;若干页目录项和若干页表。一个进程拥有的资源包括:进程拥有的所有物理页面(包括页表和task_struct所占页面);进程打开的所有文件。G
yming0221
·
2011-04-19 22:00
linux
工作
shell
struct
代码分析
Warnings
Linux
0.11
内核--进程的结束
进程的结束结束一个进程,就是要释放该进程所有的结构和资源,让系统从此之后再也感觉不到它的存在。如前面所说的,一个进程的结构包括:task[]数组中一项,指向了该进程的task_struct和内核堆栈所在页面;GDT中两项,一项是TSS描述符,一项是LDT描述符;若干页目录项和若干页表。一个进程拥有的资源包括:进程拥有的所有物理页面(包括页表和task_struct所占页面);进程打开的所有文件。G
thecloud
·
2011-04-19 22:00
linux
linux
0.11
引导启动程序目录boot/分析
boot/包含三个汇编文件:bootsect.s,setup.s,head.s。bootsect.s程序是磁盘引导块程序,编译后会驻留在磁盘的第一个扇区中(引导扇区,0磁道,0磁头,第一个扇区),在PC加电ROM-BIOS自检后,将被BIOS加载到内存0X7C00处执行。setup.s程序主要用于读取机器的硬件配置参数,把内核模块system移动到适当的内存位置处。head.s程序会被编译
roma823
·
2011-04-18 11:00
编程
c
linux
汇编
System
磁盘
hotcocoa上手
2.安装首先安装macruby,我装的是
0.11
版本。然后运行sudomacgeminstallhotcocoa,这个package默认是没有安装的。
fkpwolf
·
2011-04-13 16:00
cocoa
Objective-C
Ruby
Rails
MacRuby
hotcocoa上手
2.安装首先安装macruby,我装的是
0.11
版本。然后运行sudomacgeminstallhotcocoa,这个package默认是没有安装的。
fkpwolf
·
2011-04-13 16:00
MacRuby
Ruby
Cocoa
Objective-C
Rails
hotcocoa上手
2.安装首先安装macruby,我装的是
0.11
版本。然后运行sudomacgeminstallhotcocoa,这个package默认是没有安装的。
fkpwolf
·
2011-04-13 16:00
MacRuby
Ruby
Cocoa
Objective-C
Rails
Linux
0.11
内核--内核态与用户态
内核态与用户态intelx86架构的CPU分Ring0-Ring3三种级别的运行模式,Ring0级别最高,Ring3最低。针对不同的级别,有很多的限制,比如说传统的in,out指令,就是端口的输入输出指令,在Ring0级下是可以用的,但在Ring3级下就不能用,你用就产生陷井,告诉你出错了,当然限制还有很多了,不只是这一点。操作系统下是利用这个特点,当操作系统自己的代码运行时,CPU就切成Ring
yming0221
·
2011-04-10 22:00
linux
网络
Linux
0.11
内核--内核态与用户态
内核态与用户态intelx86架构的CPU分Ring0-Ring3三种级别的运行模式,Ring0级别最高,Ring3最低。针对不同的级别,有很多的限制,比如说传统的in,out指令,就是端口的输入输出指令,在Ring0级下是可以用的,但在Ring3级下就不能用,你用就产生陷井,告诉你出错了,当然限制还有很多了,不只是这一点。操作系统下是利用这个特点,当操作系统自己的代码运行时,CPU就切成Ring
soboer
·
2011-04-10 22:00
linux
Linux
0.11
内核--内核态与用户态
内核态与用户态intelx86架构的CPU分Ring0-Ring3三种级别的运行模式,Ring0级别最高,Ring3最低。针对不同的级别,有很多的限制,比如说传统的in,out指令,就是端口的输入输出指令,在Ring0级下是可以用的,但在Ring3级下就不能用,你用就产生陷井,告诉你出错了,当然限制还有很多了,不只是这一点。操作系统下是利用这个特点,当操作系统自己的代码运行时,CPU就切成Ring
thecloud
·
2011-04-10 22:00
linux
Linux
0.11
内核--汇编和C语言混合编程之参数传递
汇编语言中也需要通过某些途径来使用操作系统提供的服务,也就是系统调用;系统调用就是通过与操作系统内核通信来完成;系统调用会把用户态程序的调用转换成对系统内核服务的调用;Linux平台下有两种方式来使用系统调用:一种是利用封装后的C库(libc),另一种是通过汇编直接调用;其中,通过汇编语言来直接调用系统调用,是最高效地使用Linux内核服务的方法,因为最终生成的程序不需要与任何库进行连接,而是直接
soboer
·
2011-04-10 21:00
linux
Linux
0.11
内核--汇编和C语言混合编程之参数传递
汇编语言中也需要通过某些途径来使用操作系统提供的服务,也就是系统调用;系统调用就是通过与操作系统内核通信来完成;系统调用会把用户态程序的调用转换成对系统内核服务的调用;Linux平台下有两种方式来使用系统调用:一种是利用封装后的C库(libc),另一种是通过汇编直接调用;其中,通过汇编语言来直接调用系统调用,是最高效地使用Linux内核服务的方法,因为最终生成的程序不需要与任何库进行连接,而是直接
yming0221
·
2011-04-10 21:00
Linux
0.11
内核--汇编和C语言混合编程之参数传递
汇编语言中也需要通过某些途径来使用操作系统提供的服务,也就是系统调用;系统调用就是通过与操作系统内核通信来完成;系统调用会把用户态程序的调用转换成对系统内核服务的调用;Linux平台下有两种方式来使用系统调用:一种是利用封装后的C库(libc),另一种是通过汇编直接调用;其中,通过汇编语言来直接调用系统调用,是最高效地使用Linux内核服务的方法,因为最终生成的程序不需要与任何库进行连接,而是直接
thecloud
·
2011-04-10 21:00
linux
phpMyAdmin Remote Code Execution Proof of Concept
/bin/bash #CVE-2009-1151:phpMyAdmin'/scripts/setup.php'PHPCodeInjectionRCEPoCv
0.11
#bypagvac(gnucitizen.org
hackfreer
·
2011-04-08 21:44
phpMyAdmin
职场
休闲
Eclipse迁移到了GitHub
EGit
0.11
将随Eclipse3.6.2发布,而1.0版则会随Eclipse3.7一同发布,现在有越来越多的人希望将Eclipse项目迁移到Git上。ChrisAniszczyk说到:我很高兴地
Alex Blewitt
·
2011-04-03 00:00
linux内核
0.11
学习笔记
linux
0.11
内核目录结构 linux | |--- boot 系统引导汇编程序 | |--- fs 文件系统 | |--- include 头文件(*.h) |  
炼剑者
·
2011-03-28 03:00
C++
c
linux
C#
配置管理
Linux
0.11
内核--fork()函数创建进程
用fork创建进程除了进程0,其它所有的进程都是fork产生的。子进程是通过复制父进程的数据和代码产生的。创建结束后,子进程和父进程的代码段、数据段共享。但是子进程有自己的进程控制块、内核堆栈和页表。我们知道一个进程需要有如下3个结构1.task[]数组中的一项,即进程控制块(task_struct)2.GDT中的两项,即TSS段和LDT段描述符3.页目录和页表所以fork()的任务就是为一个新
yming0221
·
2011-03-26 10:00
linux
struct
System
任务
Linux
0.11
内核--fork()函数创建进程
用fork创建进程除了进程0,其它所有的进程都是fork产生的。子进程是通过复制父进程的数据和代码产生的。创建结束后,子进程和父进程的代码段、数据段共享。但是子进程有自己的进程控制块、内核堆栈和页表。我们知道一个进程需要有如下3个结构1.task[]数组中的一项,即进程控制块(task_struct)2.GDT中的两项,即TSS段和LDT段描述符3.页目录和页表所以fork()的任务就是为一个新进
soboer
·
2011-03-26 10:00
linux
Linux
0.11
内核--fork()函数创建进程
用fork创建进程除了进程0,其它所有的进程都是fork产生的。子进程是通过复制父进程的数据和代码产生的。创建结束后,子进程和父进程的代码段、数据段共享。但是子进程有自己的进程控制块、内核堆栈和页表。我们知道一个进程需要有如下3个结构1.task[]数组中的一项,即进程控制块(task_struct)2.GDT中的两项,即TSS段和LDT段描述符3.页目录和页表所以fork()的任务就是为一个新进
thecloud
·
2011-03-26 10:00
linux
Linux
0.11
内核--内存组织和进程结构
进程结构Linux
0.11
中的每个进程都有如下的结构:在gdt中占有两项,一项是tss段描述符,一项是ldt段描述符。
yming0221
·
2011-03-23 13:00
linux
struct
任务
Linux
0.11
内核--内存组织和进程结构
进程结构Linux
0.11
中的每个进程都有如下的结构:在gdt中占有两项,一项是tss段描述符,一项是ldt段描述符。
soboer
·
2011-03-23 13:00
linux
Linux
0.11
内核--内存组织和进程结构
进程结构Linux
0.11
中的每个进程都有如下的结构:在gdt中占有两项,一项是tss段描述符,一项是ldt段描述符。
thecloud
·
2011-03-23 13:00
linux
Linux
0.11
内核--内核空间、用户空间之间的数据传输
内核空间、用户空间之间的数据传输 内核空间数据段的选择符为0x10,用户空间数据段选择符为0x17。内核空间、用户空间之间的数据传输,是段间数据传输。C语言中的赋值语句编译成汇编后,“=”两边的变量默认段选择符都是DS,因此只能用于同一段内数据传输。 在segment.h中定义了一系列用于内核空间和用户空间传输数据的函数。从用户空间取得数据的函数中, mov指令的源操作数段寄存器都明确指出
thecloud
·
2011-03-22 22:00
linux
Linux
0.11
内核--内核空间、用户空间之间的数据传输
内核空间、用户空间之间的数据传输 内核空间数据段的选择符为0x10,用户空间数据段选择符为0x17。内核空间、用户空间之间的数据传输,是段间数据传输。C语言中的赋值语句编译成汇编后,“=”两边的变量默认段选择符都是DS,因此只能用于同一段内数据传输。 在segment.h中定义了一系列用于内核空间和用户空间传输数据的函数。从用户空间取得数据的函数中, mov指令的源操作数段寄存器都明确指出
soboer
·
2011-03-22 22:00
linux
Linux
0.11
内核--内核空间、用户空间之间的数据传输
内核空间、用户空间之间的数据传输内核空间数据段的选择符为0x10,用户空间数据段选择符为0x17。内核空间、用户空间之间的数据传输,是段间数据传输。C语言中的赋值语句编译成汇编后,“=”两边的变量默认段选择符都是DS,因此只能用于同一段内数据传输。在segment.h中定义了一系列用于内核空间和用户空间传输数据的函数。从用户空间取得数据的函数中,mov指令的源操作数段寄存器都明确指出是fs,向用
yming0221
·
2011-03-22 22:00
c
linux
汇编
语言
byte
Linux
0.11
内核--段数据定义
与80386段相关的宏定义set_seg_desc/*****************************************************************************/ /*功能:设置存储段描述符,把指定属性的段描述符放入gate_addr处*/ /*参数:gate_addr段描述符的目的地址*/ /*type描述符中类型域,具体见80386基础一节中
soboer
·
2011-03-22 22:00
linux
Linux
0.11
内核--段数据定义
与80386段相关的宏定义set_seg_desc/*****************************************************************************//*功能:设置存储段描述符,把指定属性的段描述符放入gate_addr处*//*参数:gate_addr段描述符的目的地址*//*type描述符中类型域,具体见80386基础一节中的表格*//
yming0221
·
2011-03-22 22:00
linux
存储
任务
Linux
0.11
内核--段数据定义
与80386段相关的宏定义set_seg_desc/*****************************************************************************/ /*功能:设置存储段描述符,把指定属性的段描述符放入gate_addr处*/ /*参数:gate_addr段描述符的目的地址*/ /*type描述符中类型域,具体见80386基础一节中
thecloud
·
2011-03-22 22:00
linux
Linux
0.11
内核--进程相关数据结构
主要有4个数据结构task_union(sched.c第53行) //这实际上是一页内存,页面低端头部放的是task_struct(进程控制块)结构,页面//其他部分当作进程的内核态堆栈使用uniontask_union{structtask_structtask;charstack[PAGE_SIZE];}; task[NR_TASKS](sched.c第65行) //task_struct指针
yming0221
·
2011-03-20 17:00
数据结构
linux
session
struct
File
任务
Linux
0.11
内核--进程相关数据结构
主要有4个数据结构task_union(sched.c第53行)//这实际上是一页内存,页面低端头部放的是task_struct(进程控制块)结构,页面//其他部分当作进程的内核态堆栈使用uniontask_union{structtask_structtask;charstack[PAGE_SIZE];};task[NR_TASKS](sched.c第65行)//task_struct指针数组,
soboer
·
2011-03-20 17:00
linux
Linux
0.11
内核--进程相关数据结构
主要有4个数据结构task_union(sched.c第53行)//这实际上是一页内存,页面低端头部放的是task_struct(进程控制块)结构,页面//其他部分当作进程的内核态堆栈使用uniontask_union{structtask_structtask;charstack[PAGE_SIZE];};task[NR_TASKS](sched.c第65行)//task_struct指针数组,
thecloud
·
2011-03-20 17:00
linux
Linux
0.11
内核--几种地址(逻辑地址、线性地址、物理地址)的含义
程序(进程)的虚拟地址和逻辑地址虚拟地址(virtualaddress)指程序产生的有段选择符和段内偏移两部分组成的地址。一个程序的虚拟地址空间有GDT映射的全地址空间和LDT映射的局部地址空间组成。逻辑地址(logicaladdress)指程序产生的段内偏移地址。应用程序只与逻辑地址打交道,分段分页对应用程序来说是透明的。也就是说C语言中的&,汇编语言中的符号地址,C中嵌入式汇编的”m”对应的都
yming0221
·
2011-03-20 17:00
linux
汇编
生物
嵌入式
存储
语言
Linux
0.11
内核--几种地址(逻辑地址、线性地址、物理地址)的含义
程序(进程)的虚拟地址和逻辑地址虚拟地址(virtualaddress)指程序产生的有段选择符和段内偏移两部分组成的地址。一个程序的虚拟地址空间有GDT映射的全地址空间和LDT映射的局部地址空间组成。逻辑地址(logicaladdress)指程序产生的段内偏移地址。应用程序只与逻辑地址打交道,分段分页对应用程序来说是透明的。也就是说C语言中的&,汇编语言中的符号地址,C中嵌入式汇编的”m”对应的都
soboer
·
2011-03-20 17:00
linux
Linux
0.11
内核--几种地址(逻辑地址、线性地址、物理地址)的含义
程序(进程)的虚拟地址和逻辑地址虚拟地址(virtualaddress)指程序产生的有段选择符和段内偏移两部分组成的地址。一个程序的虚拟地址空间有GDT映射的全地址空间和LDT映射的局部地址空间组成。逻辑地址(logicaladdress)指程序产生的段内偏移地址。应用程序只与逻辑地址打交道,分段分页对应用程序来说是透明的。也就是说C语言中的&,汇编语言中的符号地址,C中嵌入式汇编的”m”对应的都
thecloud
·
2011-03-20 17:00
linux
Linux
0.11
内核--启动引导过程
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } --> 启动搬迁过程: 1、BIOS将磁盘引导块程序bootsect读入到内存0x7c00,开始执行指令; 2、bootsect将自己搬迁到内存0x90000,跳到该段中的自己的下一条指令执行; 3、bootsect将设备检测安装程序setup读入到0x9
thecloud
·
2011-03-19 19:00
linux
Linux
0.11
内核--启动引导过程
启动搬迁过程:1、BIOS将磁盘引导块程序bootsect读入到内存0x7c00,开始执行指令;2、bootsect将自己搬迁到内存0x90000,跳到该段中的自己的下一条指令执行;3、bootsect将设备检测安装程序setup读入到0x90200;4、bootsect将内核映像system读入到0x10000,跳到setup头部0x90200执行指令;5、setup获取系统参数,依次保存在0x
yming0221
·
2011-03-19 19:00
linux
汇编
System
任务调度
工具
任务
Linux
0.11
内核--启动引导过程
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } --> 启动搬迁过程: 1、BIOS将磁盘引导块程序bootsect读入到内存0x7c00,开始执行指令; 2、bootsect将自己搬迁到内存0x90000,跳到该段中的自己的下一条指令执行; 3、bootsect将设备检测安装程序setup读入到0x9
soboer
·
2011-03-19 19:00
linux
深度剖析 Linux
0.11
系统中堆栈的使用方法
在工作中关于 Linux系统中的堆栈问题一直是工程师们很头疼的问题,尤其出现一些新的版本,下面就与大家一起分享以下 Linux
0.11
系统中堆栈的使用方法。
thecloud
·
2011-03-18 09:00
linux
深度剖析 Linux
0.11
系统中堆栈的使用方法
在工作中关于 Linux系统中的堆栈问题一直是工程师们很头疼的问题,尤其出现一些新的版本,下面就与大家一起分享以下 Linux
0.11
系统中堆栈的使用方法。
soboer
·
2011-03-18 09:00
linux
深度剖析 Linux
0.11
系统中堆栈的使用方法
在工作中关于Linux系统中的堆栈问题一直是工程师们很头疼的问题,尤其出现一些新的版本,下面就与大家一起分享以下Linux
0.11
系统中堆栈的使用方法。一、系统引导初始化临时使用的堆栈。
yming0221
·
2011-03-18 09:00
数据结构
linux
工作
struct
user
任务
Linux
0.11
内核--汇编代码实现C函数
Linux
0.11
内核中有很多函数都是在C语言里面声明,然后通过汇编来实现。
yming0221
·
2011-03-17 22:00
c
linux
汇编
function
gcc
reference
Linux
0.11
内核--汇编代码实现C函数
Linux
0.11
内核中有很多函数都是在C语言里面声明,然后通过汇编来实现。
thecloud
·
2011-03-17 22:00
linux
上一页
38
39
40
41
42
43
44
45
下一页
按字母分类:
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
其他