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
GDT
《30天自制操作系统》读书笔记(5)
GDT
&IDT
梳理项目结构 项目做到现在, 前头的好多东西都忘了, 还是通过Makefile重新理解一下整个项目是如何编译的: 现在我们拥有这么9个文件: ipl10.nas InitialProgramLoader, 占用了软盘的第一个扇区并符合启动盘的规范, 默认被载入地址是0x7c00 到 0x7e00, 负责将
·
2015-11-11 09:22
操作系统
《Orange’s 一个操作系统的实现》3.保护模式8-页式存储
A.分页机制概述(如图) Segmentation部分为分段机制,逻辑地址通过段选择子,从
GDT
中对应的段描述符中确定段基址,然后在加上偏移确定线性地址  
·
2015-11-11 07:41
操作系统
计算机原理中的
GDT
与LDT
保护模式下的段寄存器 由 16位的选择器 与 64位的段描述符寄存器 构成 段描述符寄存器: 存储段描述符 选择器:存储段描述符的索引 PS:原先实模式下的各个段寄存器作为保护模式下的段选择器,80486中有6个(即CS,SS,DS,ES,FS,GS)80位的段寄存器,同时提供6个段左右机器当前运行的地址空间。由选择器CS对应表示的段仍为代码段,选择器SS对应表示的段仍为堆栈段  
·
2015-11-11 05:31
计算机
《30天自制操作系统》读书笔记(6) 鼠标键盘
总览 从现在开始我把这些代码都放在了GitHub上, 欢迎围观 地址是: https://github.com/LastAvenger 上一篇笔记介绍的是
GDT
,
·
2015-11-11 03:13
操作系统
保护模式下通过写显存在屏幕上输出字符串
bochs asm 文件: %include "common.inc" org 0x7c00 jmp LABEL_BEGIN [SECTION .
gdt
·
2015-11-09 11:36
字符串
[翻译]Global Descriptor Table-
GDT
全局描述符表(
GDT
)是 Intel x86 系列处理器(从 80286 开始)所使用的一种数据结构,目的是为了在程序运行期间划分具有不同属性的内存区域,比如:可以运行、可写入等区域的起始地址与访问权限
·
2015-11-09 11:32
script
《Orange’s 一个操作系统的实现》3.保护模式2----认识保护模式B
一、详解
GDT
(转载http://blog.csdn.net/zdwzzu2006/archive/2009/03/27/4030882.aspx) 在Protected Mode下,一个重要的必不可少的数据结构就是
·
2015-11-08 16:12
操作系统
启动进程所需要的基本条件
当系统启动后,设置了
GDT
, IDT进入了保护模式后,需要哪些东西才能让进程跑起来呢?其实简单说来进程产生的目的并不是要让程序跑起来,而是要让一个系统上有多个进程一起跑。因为如
·
2015-11-08 15:13
进程
【进程续】
529f3916dae89d54f3de32f8.html 【进程续】 一、进程的启动: 现在我们已经熟悉了启动一个进程的需求和主要步骤,它的动作也就是: ×准备IDT、TSS、LDT(该LDT描述符在
GDT
·
2015-11-08 15:10
进程
扩充内核 start.c 、kernel.asm详细解释
在前面堆栈,esp,
GDT
等内容还在Loader中,为了方便控制,我们得把它们放进内核才行。
·
2015-11-08 15:06
kernel
《自己动手写操作系统》读书笔记——初识保护模式
书本第三章第一节是《认识保护模式》,初步 讲解了保护模式下全局描述符表
GDT
、段描述符、段选择子、从实模式进入保护模式等内容。
·
2015-11-08 14:35
操作系统
:特权级
任务内相同特权级的转移:段间直接转移和段间直接调用:1.检查目标地址指针内的选择子指示的描述符是否为空,目标代码段描述符不能为空描述符,即该选择子的高14位不能为02.由选择子内的TI位(第2位)决定是从
GDT
·
2015-11-08 13:42
转载
第六章 进程总结
进而需要在
GDT
中初始化该进程的LDT. 进程
·
2015-11-07 13:55
总结
保护模式下pmtest1.asm的理解
整个代码对应内存线性地址分为四段,[
gdt
] [code32] [video32] [code16] 代码先在实模式[code16]下运行,code16中的cs就是系统分配的该程序物理地址的基址.
·
2015-11-07 13:48
test
保护模式 宏观理解
十六位的XXXX是段选择子,存放在段寄存器中cs,ds,ss,es,fs,gs 段选择子在
GDT
中选择段描述符。
GDT
的基址在GDTR中。
·
2015-11-07 13:46
模式
《自己动手写操作系统》读书笔记——初识保护模式
www.cnblogs.com/pang123hui/archive/2010/11/27/2309930.html 书本第三章第一节是《认识保护模式》,初步讲解了保护模式下全局描述符表
GDT
·
2015-11-07 13:39
操作系统
Linux 0.12 内核管理存储器
整个系统有一张
GDT
表。且整个系统仅仅有一个总页表。
·
2015-11-07 10:12
linux
存储管理(一)
进程虚存空间的划分在系统初始化时由
GDT
确定。 Linux的存储管理主要是管理进程虚拟内存的用户区。进程虚拟内存的用户区分为代码段、数据段、堆栈以
·
2015-11-02 17:15
管理
Linux kernel驱动相关抽象概念及其实现 之“linux设备模型kobject,kset,ktype”
kobject,kset,ktype三个很重要的概念贯穿Linux内核驱动架构,特转载一篇博文: (转载自http://blog.csdn.net/
gdt
_a20/article/details/6424597
·
2015-11-02 12:17
object
linux内存分配方法总结
3.段式映射:首先根据代码段选择子cs为索引,以
GDT
值为起始地址的段描述表中选择出对应的段描述符,随后根
·
2015-11-01 15:49
linux
Linux kernel驱动相关抽象概念及其实现 之“bus,device,driver”
bus,device,driver三个很重要的概念贯穿Linux内核驱动架构,特转载一篇博文: (转载自http://blog.csdn.net/
gdt
_a20/article/details/6425894
·
2015-11-01 14:19
kernel
Linux kernel驱动相关抽象概念及其实现 之“bus,device,driver”
bus,device,driver三个很重要的概念贯穿Linux内核驱动架构,特转载一篇博文: (转载自http://blog.csdn.net/
gdt
_a20/article/details/6425894
·
2015-11-01 11:56
kernel
调用门使代码段从ring3调用到ring0再回到ring3的过程
GDT
和LDT分别为全局描述表和局部描述表,其中表中每一项又叫做段描述符。段描述符,由段地址,以及段类型,特权级DPL等组成,其中段类型说明此段是代码段还是数据段,还是各种门,还是TSS等。
·
2015-10-31 14:24
代码
X86 和 Linux
x86 有 tr 寄存器,用来索引tss结构,tr 索引的是
GDT
中的表项,描述符的类型必须是TSS。 tr寄存器,发生陷入时CPU就是从通过这个指针指向的TSS中拿到SS和ESP的值。
·
2015-10-31 13:02
linux
进程的进程表、进程体、
GDT
、TSS的关系,以及进程表的初始化
关系见P252,图6-9 进程表与
GDT
的关系: 进程表里的LDT Selector对应
GDT
中的一个描述符,而这个描述符所指向的内存空间就存在与进程表内。
·
2015-10-31 10:33
初始化
用GRUB引导内核--
GDT
的设置
在Multiboot手册中有这样一段 When the boot loader invokes the 32-bit operating system, the machine must have thefollowing state:‘EAX’ Must contain the magic value ‘0x2BADB002’; the presence of this value indi
·
2015-10-31 09:33
grub
C指针地址运算
intu32; typedefunsigned shortu16; typedefunsigned charu8; 在start.c 里面 定义 u8
gdt
_ptr
·
2015-10-31 09:02
指针
第六章
原文: http://www.cnblogs.com/wanghj-dz/archive/2011/05/20/2051641.html 进程的进程表、进程体、
GDT
、TSS的关系,以及进程表的初始化
·
2015-10-31 09:01
[自制简单操作系统] 2、鼠标及键盘中断处理事件[PIC\
GDT
\IDT\FIFO]
1、大致介绍: >_<" 大致执行顺序是:ipl10.nas->asmhead.nas->bootpack.c PS: 这里bootpack.c要调用graphic.c、dsctbl.c、fifo.c、int.c实现功能,其中有些函数还必须汇编来写,所以单独写一个汇编文件naskfunc.nas,为了方便看全部函数和结构体,所以
·
2015-10-30 11:43
操作系统
key
GDT
表 32位CPU有全局描述符表(
GDT
)与局部描述符表(LDT) 32位CPU的段寄存器还是16位的 实模式和保护模式 在32位的CPU中,就有两种工作模式,一种是16位的模式
·
2015-10-28 08:35
key
linux 0.11 源码学习(八)
最主要的是以下几个函数的实现: 初始化 void sched_init(void),完成工作如下: 设置TSS和LDT的描述符: set_tss_desc(
gdt
·
2015-10-27 14:22
linux
linux 0.11 源码学习(五)
head.s head.s 是系统模块的入口,其编译器已经是GNU汇编,但从功能上将仍然属于内核启动阶段,主要的功能是对386 CPU的初始化,如用户堆栈、IDT、
GDT
和页表。
·
2015-10-27 14:21
linux
保护模式下三个重要的系统表——
GDT
、LDT和IDT
护模式下三个重要的系统表——
GDT
、LDT和IDT这三个表是在内存中由操作系统或系统程序员所建,并不是固化在哪里,所以从理论上是可以被读写的。这三个表都是描述符表。
midion9
·
2015-10-27 14:00
夏日保鲜需知 这些东西不能放冰箱
http://www.weather.com.cn/life/2015/06/
gdt
/2343852.shtml (图片来源:百度图片) 夏日天气炎热,人们总习惯把所有的食物都贮存在冰箱里,其实冰箱只是食品的保鲜箱
·
2015-10-27 13:43
让程序进入ring0级执行
去直接修改系统表格,但是还是有不少办法能够进入ring0的,例如,在国内,最早sinister利用编写驱动程序的方法进入ring0,这也是最通用的方法了,紧跟着WebCrazy又使用读写物理内存的方法来读写
GDT
·
2015-10-21 11:24
in
linux 0.11 内核学习 -- head.s
# 重新设置全局描述符表
gdt
--> 检测a20地址线是
·
2015-10-21 11:11
linux
windbg可以查看
GDT
表
命令:dg功能:显示指定的段描述符信息示例:显示一个0:003>dg0x18PSiGrPrLoSelBaseLimitTypelzeanesngFlags001800000000ffffffffCodeREAc3BgPgPNl00000cfb显示指定范围8到0x400:000>dg80x40PSiGrPrLoSelBaseLimitTypelzeanesngFlags000800000000fff
cosmoslife
·
2015-09-28 15:26
windbg命令收集
linux之Segment Fault错误分析[2]
或者根本就不存在对应的物理内存,尤其常见的是访问0地址.一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的
gdt
ee230
·
2015-08-31 11:27
Linux
GDT
、GDTR、LDT、LDTR的理解 [zz]
GDT
是全局描述附表,主要存放操作系统和各任务公用的描述符,如公用的数据和代码段描述符、各任务的TSS描述符和LDT描述符。
u014774781
·
2015-08-27 19:00
linux
操作系统
【从头开始写操作系统系列】一致代码段与非一致代码段
上几篇文章,我们一直在讨论的都是
GDT
相关的一些问题,现在我们知道在系统在从实模式向保护模式跳转时,
GDT
是必须要准备的结构。在介绍这一跳转之前,这篇文章我们来介绍两个概念:一致代码段和非一致代码段。
luoyhang003
·
2015-08-18 16:00
操作系统
内核
tts
代码段
GDT
(全局描述符表)和LDT(局部描述符表)
Home >
GDT
(全局描述符表)和LDT(局部描述符表)每个程序都有自己的LDT,但是同一台计算机上的所有程序共享一个
GDT
。LDT描述局部于每个程序的段,包括其代码、数据、堆栈等。
u014774781
·
2015-08-16 22:00
linux
【从头开始写操作系统系列】实现一个
GDT
(3)
上两篇文章,【从头开始写操作系统系列】实现一个-
GDT
(1)、【从头开始写操作系统系列】实现一个-
GDT
(2),主要介绍了段描述符结构以及实现和选择子结构。
luoyhang003
·
2015-08-12 09:00
操作系统
GDT
【从头开始写操作系统系列】实现一个-
GDT
(2)
在这篇文章我们将要做:介绍选择子实现一个选择子结构选择子是什么?在上篇文章中我们介绍了段描述符以及段描述符表,这篇文章我们复习一下段、段描述符、段描述符表的功能,并且介绍一下段选择子以及段描述符表。段(Segment):在80X86中,我们知道分段机制将内存空间分为了多个线性区域,我们把这些线性区域称为段。由于我们要将这些段区分开来,于是我们对段赋予3个属性。他们分别是段基址(Base)、段界限(
luoyhang003
·
2015-08-07 22:00
操作系统
X86
分段
GDT
选择子
【从头开始写操作系统系列】实现一个-
GDT
(1)
在这篇文章中我们完成了以下内容:介绍
GDT
介绍段描述符实现一个段描述符介绍GDTGDT是什么?
luoyhang003
·
2015-08-07 13:00
操作系统
Descriptor
段
GDT
段描述符
深入理解Linux内核-内存寻址
逻辑地址 = 段选择符(16bit)+偏移量(32bit)段选择符又三部分组成:index(索引序号)、T1(表指示器)、RPL(request privilege level 请求者特权级)索引序号:指向
GDT
·
2015-07-10 21:00
linux
操作系统零碎知识点系列之一
段寄存器存储的是
GDT
这个数据结构中一个表项——“描述符”的索引
GDT
是全局描述符表,是一个存放描述符的数据结构,可在全局内访问,所有进场想要访问全局课件的段时,从
GDT
查询,GD
Gone_eof
·
2015-07-05 20:00
段描述符表(
GDT
+LDT)的有感
【0】写在前面要知道,在汇编中,代码的装入顺序决定了在内存中的地址位置。所有的代码或者数据都在硬盘上,当调试或者启动的时候,加载到内存;当需要对数据进行处理的时候,我们通过将数据从内存载入到registers通过cpu来进行处理的。【1】初始化各种段描述符以初始化32位代码段描述符为例【2】有感首先:要先定义这段描述符(占据内存空间),然后向里面传入真正处理数据的地址;2.1定义阶段为什么LABE
PacosonSWJTU
·
2015-07-05 19:00
Teambition 接入「微信」强势来袭!#iOS #Android
要好好使用Teambition,不需要事先知道像
GDT
之类的时间管理方法,也不需要懂像甘特图之类艰深的管理技巧。
Teambition
·
2015-06-28 11:08
一致代码段和非一致代码段
操作系统就引入了访问特权等级(0-3)的机制.这些特权等级,通过三个符号来体现CPL/DPL/RPL.其中CPL是存寄存器如CS中,RPL是代码中根据不同段跳转而确定,以动态刷新CS里的CPL.DPL是在
GDT
adaixiaoxiao
·
2015-06-06 15:00
操作系统实践(5)——关于LDT
LDT与
GDT
类似,为局部描述符表。
hackooo
·
2015-06-01 23:00
ASM
操作系统
ldt
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他