自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

A blog

Happy Coding

  • 博客(10)
  • 问答 (1)
  • 收藏
  • 关注

原创 webview接入HttpDNS实践

本文是对去年做的webview接入HttpDNS工作的一个总结,拖的时间有点久了。主要分享了GOT Hook webview中域名解析函数的方法。HttpDNS简介首先简单介绍下移动App接入HttpDNS后有什么好处,这里直接引用腾讯云文档中的说明: HttpDNS是通过将移动APP及桌面应用的默认域名解析方式,替换为通过Http协议进行域名解析,以规避由运营商Local DNS服务异常所导致

2017-10-19 10:07:57 5747 2

原创 JVM的简单实现

本文介绍java虚拟机的一些知识,并以jvmgo为例介绍一些虚拟机的简单实现。jvmgo是用Go语言实现的java虚拟机,其作者说这个项目的主要目的是学习Go和JVM,所以只是一个toy,对于破除JVM的神秘感还是很有帮助的。class类文件结构使用java编译器(java程序用javac,Groovy程序用groovyc编译器)可以把java代码编译位存储字节码的class文件,虚拟机并不关心cl

2017-10-08 10:25:16 2335

原创 《自制搜索引擎》笔记

第1章 搜索引擎是如何工作的搜索引擎的基础是应用于信息检索、数据库等领域的信息技术。1-1 理解搜索引擎的构成1-2 实现了快速全文搜索的索引结构利用全扫描进行全文搜索grep就是从头到尾扫描作为检索对象的文档的。利用索引进行全文搜索先建立索引需要花费时间。倒排索引的结构例子:印在教程书后面的索引。 所谓倒排索引就是一张列出了“哪个单词出现在了哪一页”的表格。如下图: 倒排索引的构建方法 为了

2017-10-07 22:45:36 927

原创 《一个操作系统的实现》笔记(7)--输入/输出系统(I/O)

键盘很简单,只要设置8259A芯片的键盘端口的handler处理函数就可以了。键盘敲击的过程键盘编码器,用于监视键盘的输入,并把适当的数据传送给计算机。 键盘控制器,用来接受和解码来自键盘的数据,并与8259A以及软件等通信。 敲击键盘包含两个含义:动作和内容。 敲击键盘所产生的编码被称作扫描码。当8048检测到一个键的动作后,会把相应的扫描码发送给8042,8042会把它转换成相应的Sca

2017-10-07 22:41:07 872

原创 《一个操作系统的实现》笔记(6)--进程

我们可以把一个单独的任务所用到的所有东西封装在一个LDT中,这种思想是多任务处理的雏形。 多任务所用的段类型如下图,使用LDT来隔离每个应用程序任务的方法,正是关键保护需求之一: 进程示意: 我们需要一个数据结构记录一个进程的状态,在进程要被挂起的时候,进程信息就被写入这个数据结构,等到进程重新启动的时候,这个信息重新被读出来。最简单的进程进程切换的过程: - 1.进程A运行中 - 2.时

2017-10-07 22:40:09 2285

原创 《一个操作系统的实现》笔记(5)--内核雏形

我们希望自己的操作系统内核至少应该在Linux下用GCC编译链接。 Loader要做的事有两件:加载内核入内存、跳入保护模式。在Linux下用汇编写程序示例:;hello.asm[section .data] ; 数据在此strHello db "Hello, world!", 0AhSTRLEN equ $ - strHello[section .text] ; 代码在此g

2017-10-07 22:39:31 694

原创 《一个操作系统的实现》笔记(4)-- Boot&Loader

一个操作系统从开机到开始运行,大致经历引导->加载内核入内存->跳入保护模式->开始执行内核这样一个过程。 引导扇区(Boot)负责把Loader加载入内存并且把控制权交给它,其它工作放心地交给Loader来做,因为没有512字节的限制,将会灵活得多。FAT12文件系统几乎所有的文件系统都会把磁盘划分为若干层次以方便组织和管理,这些层次包括: - 扇区(Sector):磁盘上的最小数据单元。

2017-10-07 22:38:03 737

原创 《一个操作系统的实现》笔记(3)--中断和I/O保护

中断和异常机制有时候普通的程序流必须可以被要求快速反应的处理事件中断。电脑提供了一个称为中断的结构来处理这些事件。 外部中断由CPU的外部引起。 例如:当一个鼠标移动了,硬件鼠标中断现在的程序来处理鼠标移动(移动鼠标,等等)。中断导致控制权转移到一个中断处理程序。中断处理程序是处理中断的程序。每种类型的 中断都分配了一个中断号。在物理内存的开始处,存在一张包含中断处理 程序段地址的中断向量 表。

2017-10-07 22:37:22 1544

原创 《一个操作系统的实现》笔记(2)--保护模式

保护模式什么实模式和保护模式这是CPU的两种工作模式,解析指令的方式不同。在实模式下,16位寄存器需要通过段:偏移的方法才能达到1MB的寻址能力。 物理地址 = 段值 x 16 + 偏移 此时段值还可以看成地址的一部分,段值为XXXXh表示以XXXX0h开始的一段内存。在保护模式下,CPU有着巨大的寻址能力,并为操作系统提供了虚拟内存和内存保护。 虽然物理地址的仍然用上面的公式表示,但此时“段

2017-10-07 22:36:42 567 1

原创 《一个操作系统的实现》笔记(1)--NASM汇编语法和环境搭建

《一个操作系统的实现》笔记(一)–NASM汇编语法和环境搭建@(马克飞象)[myblog, IT.技术书]概述实现一个基于Intel x86的32位操作系统。环境搭建Ubuntu虚拟机。Ubuntu - 汇编编译器NASM - C编译器GCC - 软盘绝对扇区读写工具dd - qemu虚拟机 - Bochs模拟器 - 磁盘映像工具bximage$ sudo apt-get install

2017-10-07 22:34:51 1574

空空如也

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

TA关注的人

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