自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (21)
  • 收藏
  • 关注

原创 X86保护模式(二)· 存储器的保护

修改段寄存器时的保护在保护模式下,修改段寄存器需要带入段选择子,此时会校验带入值的合法性,然后从全局描述符表GDT中找到相应的描述符并加载到描述符高速缓存器中,此时会校验描述符的完整性和正确性。在全局描述符表GDTR中,有GDT线性基地址和界限值两部分,选择子所选择的描述符必须在边界值以内,也就是索引号 * 8 + 7 <= 边界,如果选择子对应的描述符超出了界限值,处理器会响应一个异常中断13,并且不会改变段寄存器的内容。如果描述符S=1,便会校验type域,type域必须是有效的,比如000

2020-10-11 18:09:10 276

原创 指令的格式及操作尺寸

32位处理器的指令操作尺寸在32位处理器中,源操作数既可以是32位的,也可以是16位的,还可以是8位的,目的操作数同理,并且在实模式下,也可以用32位寄存器来访问内存,那么是不是说实模式下也可以访问全部4G字节内存呢?通常来讲,是不行的,因为32位处理器的描述符高速缓存中,除了有线性基地址,还有段界限,在实模式下计算机会将其预置为0xFFFF,也就是64KB,如果超过这个界限也会被处理器阻止,这样以保证程序在实模式下和8086的表现相同。比如下面这样:mov cx, 0x2000mov ds, cx

2020-09-15 21:50:46 1564

原创 X86保护模式(一)· 何为保护模式

在实模式下,用户程序对内存的访问十分自由,它可以访问1MB内的任何地址,任意修改其它程序的内存空间,也可以访问任何端口,这也意味着可以访问任何设备,诚然,这对于现代计算机来说,是一件非常危险的事情。在当下多用户多任务的背景下,内存中通常会有多个任务在同时运行,为了使他们彼此隔离,防止因某个用户程序的错误而影响其它程序甚至操作系统,引入保护模式是非常有必要的。...

2020-09-05 21:44:55 925

原创 读写锁ReentrantReadWriteLock源码分析

在Java并发包中,有独占模式的锁,同时只允许一个线程执行;还有共享模式的锁,同时允许有多个线程获取锁。典型的实现就是读写锁——ReentrantReadWriteLock,下面我们来分析一下它的实现原理。读写状态的设计如果阅读过我的上一篇文章《ReentrantLock源码分析》可以知道:AQS中有一个state字段表示锁的获取状态,或者说是重入了几次,那么对于读写锁,它既要表示出读锁的重入...

2019-11-19 21:56:48 235

原创 ReentrantLock源码分析

ReentrantLock是JUC中最常用的一种重入锁,其内部实现原理是通过一种叫AQS的队列来控制并发。我们先来讨论一下锁的实现原理,

2019-10-25 21:48:50 171

原创 通过结构体成员的地址获取结构体变量的地址

C 语言的结构体可以将不同类型的对象聚合到一个对象中,在内存中,编译器按照成员列表顺序分别为每个结构体变量成员分配内存,但由于 C 的内存对齐机制以及不同机器间的差异,各个成员之间可能会有间隙,所以不能简单的通过成员类型所占的字长来推断其它成员或结构体对象的地址。如果要计算结构体中某成员相对于该结构体首地址的偏移量,一般第一个反应就是该成员的地址与结构体对象的首地址之间的字节数,就比如我定义了

2016-05-25 21:18:32 16352 5

原创 详解 GNU C 标准中的 typeof 关键字

如果你是 C++ 程序员,应该接触过 C++11 里的 decltype 操作符,它的作用是自动推导表达式的数据类型,以解决泛型编程中有些类型由模板参数决定而难以(甚至不可能)表示的问题。其实这个特性在 C 语言中也早有类似的实现,GNU C 标准中的一个扩展特性 typeof (PS: 不是 typedef)作用与 decltype 类似,我们来看看这个关键字该怎么用。先来看一个最简

2016-05-25 16:28:09 21903 6

FreeSwitch搭建软交换中心指导

FreeSwitch搭建软交换中心详细说明。 部署环境: centos7 freeswitch 1.6

2018-04-13

QRCode.jar

<<<<<<<<<<<<<<<<<<<<<<<<<<<< qrcode for java,用于java生成二维码 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

2017-09-21

五子棋(简易AI)

一个带有简易AI的五子棋小游戏,采用了极大极小搜索和估值函数,对弈规则是:指定开局、三手交换、五手N打、禁手

2016-10-23

用Python进行自然语言处理(中文)

《Python自然语言处理》准备了充足的示例和练习,可以帮助你: 从非结构化文本中抽取信息,甚至猜测主题或识别“命名实体”; 分析文本语言结构,包括解析和语义分析; 访问流行的语言学数据库,包括WordNet和树库(treebank); 从多种语言学和人工智能领域中提取的整合技巧。

2016-06-15

python核心笔记

2016-06-12

Natural Language Processing with Python

《Python自然语言处理(影印版)》提供了非常易学的自然语言处理入门介绍,该领域涵盖从文本和电子邮件预测过滤,到自动总结和翻译等多种语言处理技术。在《Python自然语言处理(影印版)》中,你将学会编写Python程序处理大量非结构化文本。你还将通过使用综合语言数据结构访问含有丰富注释的数据集,理解用于分析书面通信内容和结构的主要算法。

2016-06-12

The Django Book 2.0中文译本

本书是关于Python社区著名的Web框架Django的,本书基于py3k.cn上的稍显过时的中文版(http://djangobook.py3k.cn/2.0) ,根据最新的Django Book(http://www.djangobook.com/) 翻译而成。

2016-06-12

算法导论第三版答案

算法导论第三版 2 ~ 26 章习题答案

2016-05-29

LeetCode 题解 C++ 版 高清.pdf版下载

来源:https://github.com/soulmachine/leetcode 感谢作者为我们提供方便的题解。

2016-04-23

简明Python教程

《简明Python教程》是一本关于使用Python语言编程。它作为一个入门教程将引导Python语言的初学者。

2016-04-23

数据结构与算法分析:C语言描述_原书第2版_高清版

本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。

2016-03-19

ncurses文档

ncurses(new curses)是一个程序库,它提供了API,可以允许程序员编写独立于终端的基于文本的用户界面。它是一个虚拟终端中的“类GUI”应用软件工具箱。它还优化了屏幕刷新方法,以减少使用远程shell时遇到的延迟。

2016-02-16

五子棋(无AI)

Win32 的 console 模块搞的五子棋,目前没有 AI。

2016-02-12

Visual C++ & Turbo C 串口通信编程实践

详细介绍了串口通信编程与调试的具体内容和方法

2015-12-20

深入理解计算机系统

本书主要介绍了计算机系统的基本概念,底层的内存中的数据表示、流水线指令的构成、虚拟存储器、编译系统、动态加载库,以及用户应用等。书中提供了大量实际操作,可以帮助读者更好地理解程序执行的方式,改进程序的执行效率。此书以程序员的视角全面讲解了计算机系统,深入浅出地介绍了处理器、编译器、操作系统和网络环境,是这一领域的权威之作。

2015-12-20

俄罗斯方块(黑白版)

本人用 C/C++ 混合编写的俄罗斯方块小游戏,黑白风格的,调用了 Win32 API,水平有限,代码略捉急。。

2015-12-20

贪吃蛇小游戏

本人用 C 语言编写的一个贪吃蛇小游戏,控制台模式的,调用了 Win32 的 api

2015-12-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除