- 博客(117)
- 问答 (1)
- 收藏
- 关注
原创 再续【从零使用qemu模拟器搭建arm运行环境】
动机我在2015年编写博文《从零使用qemu模拟器搭建arm运行环境》介绍在 Ubuntu 14.04系统如何一步步构造arm+qemu的运行环境。该文的主要问题是读者有运行环境不一定是Ubuntu 14.04,会遇到不少的软件包安装和编译错误问题,我也没有办法构造复现。另一方面,当前再次构造这个环境时,也会遇到类似的问题需要处理,特别是换成Centos发行版之后,处理起来更复杂。既然每位朋友的发行版都不一样,那可以使用Docker统一构建环境,这是本项目的主要动机,使用Docker基于Ubuntu14
2020-10-08 10:42:50
3488
8
原创 高级语言编写kernel,鱼和熊掌不可兼得
本文说明:本文首发在[内核月谈]公从号上,现在在个博客上发布,仍然标志为原创。本文基于OSDI18论文《The benefits and costs of writing a POSIX kernel in a high-level language》的理解整理而成。从第1节到4节沿着论文作者思路介绍a)为什么要使用高级语言编写Kernel;b)使用Go编写Biscuit在开发效率,系统安全性和...
2019-06-29 22:28:37
1971
2
原创 等额本息贷款每月还款金额推导过程
假设贷款总额是A,而每月利息是b,总共360期,目标是计算每个月应该给银多少钱,推导过程如下。设每个月还银行的本金为mn(1≤n≤360)m_n ( 1 \leq n \leq 360) mn(1≤n≤360)每个月还给银行的本金加上利息设为c,则每月的c是固定的。现在分析一下第i个月的还款情况,前面i-1个月已经还了本金∑n=1i−1mn\sum_{n=1}^{i - 1} m_{n}...
2019-02-23 00:13:55
7108
5
原创 对国产操作操系统的一点看法
最近中美贸易点和中兴事件,再次拉动了大众的神经,大家开始知道中国的科技实力并没有想像中的那么强,很多核心技术还是掌握在以美国为首的西方国里手里。 最近Deepin国产操作系统团队CTO王勇发表离职声明,让大家对国产操作系统的信心再次遇冷。 最近一个月看了一些关于国产操作系统文章,谈一下自己的想法吧。国产操作系统是真命题还是伪命题看到这个标题,估计很多人都会说,国产操作系统当然是真...
2018-09-16 01:24:03
90612
原创 从零开始制作Linux
提到制作Linux,大家都能想到如雷贯耳、大名鼎鼎的Linux from scratch。但Linux from scratch的复杂性不是普通人能轻易掌握的,对于初学者来说,任何步骤出现不一致,会让初学者遇到挫拆,攻破LFS的信心越来越低。本文教大家制作一个比LFS更简单的Linux系统,只有Grub、Linux kernel和最小的根文件系统initrd,原理和过程都非常简单。大家可以在这...
2018-04-29 21:51:40
13632
25
原创 揭密X86架构C可变参数函数实现原理
前两天公司论坛有同事在问C语言可变参数函数中的va_start,va_arg 和 va_end 这些接口怎么实现的?我毫不犹豫翻开箱底,将多年前前(算算有十年了)写的文章「亲密接触C可变参数函数」发给他,然后开始了深入的技术交流,才有现在这篇文章,所以这篇文算是写给同事的,也分享给大家。「亲密接触C可变参数函数」这篇文章讲的是i386架构下可变参数函数的实现原理,但是从i386到X86架构,两...
2018-04-01 00:48:13
6680
11
原创 异次元骇客、虚拟机和造物主
春节期间跟同学谈到「异次元骇客 」这部电影,谈到电影的故事情节和逻辑思维上的突破,大家兴趣盎然。上个周末又将电影看了一遍,看懂了许多原先没看到的东西,分享一下对电影的理解。异次元骇客异次元骇客是非常值得一看的电影,它超越了人类的逻辑空间。你可以说他是科幻,其实它是在探讨人类宇宙的边界和密码,宇宙是真实的还是虚拟的,它的边界在哪里。 科学家福勒带领一个拥有尖端技术的小组,他们的...
2018-03-18 19:46:58
4297
8
原创 阿里与华为,引领科技现代化进程
阿里对外宣布开展 NASA 计划,不同媒体有不同的解读。但个人认为这个中国科技现代化的开始,对中国IT技术有不可估量的意义。
2017-03-21 22:49:35
7021
12
原创 巧夺天工的kfifo(修订版)
多年以前写了篇《巧夺天工的kfifo》文章,最近有好位网友发消息讨论kfifo实现细节。发现原文有些细节没有说得很清楚,甚至有点啰嗦,于是趁今晚有空修订一下。
2016-11-26 21:38:52
26577
37
原创 SQL注入练习平台sqli-labs
你是否在学习SQL注入找不到好的OJ平台,这里介绍sqli-labs项目给你,非常适合SQL注入初学者来这里升级怪兽。
2016-11-04 23:17:44
19259
原创 聊聊Linux2038年问题
2038年问题与之前的千年虫问题的杀伤力是不一样的,千年虫属于应用程序的问题,而2038年问题却是系统级的,有更大的杀伤力。幸好当前离2038还有20年时间,并且整个Linux社区已经开始解决的,离目标不远了,曙光在望。
2016-10-04 01:23:30
26233
7
原创 聊聊Linux中的线程本地存储(1)——什么是TLS
什么是线程本地存储(TLS,Thread Local Storage)呢?相信你看过很多次这个定义,但它表达的内涵是什么呢?本文从变量模型出发,讨论引入多线程编程模式之后,需要重新修改变量模型,从而引入TLS概念。
2016-07-17 15:22:03
15173
8
原创 聊聊Linux动态链接中的PLT和GOT(4)—— 穿针引线
通过图表方式,清晰介绍PLT/GOT表的静态结构和每个场景下的动态运行过程
2016-07-13 00:01:51
11647
14
原创 聊聊Linux动态链接中的PLT和GOT(3)——公共GOT表项
前文(聊聊Linux动态链接中的PLT和GOT(2)——延迟重定位)提到所有动态库函数的plt指令最终都跳进公共plt执行,那么公共plt指令里面的地址是什么鬼?把test可执行文的共公plt贴出来:080482a0 <common@plt>: 80482a0: pushl 0x80496f0 80482a6: jmp *0x80496f4 ...第一句,pu...
2016-06-11 21:47:00
12874
11
原创 聊聊Linux动态链接中的PLT和GOT(2)——延迟重定位
plt和got引入延迟重定位机制之后,方案复杂度就更高了。为了让大家对延迟机制有深入的理解,将Linux方案写成C语言伪代码。
2016-06-11 17:00:26
14835
3
原创 如何学习(4):利用旧知识理解新知识
如何利用旧知识理解新知识,需要梳理新旧知识的关系,比如互补关系,扩展关系和映射关系。每种关系具有不同的特点,利用好这些关系和特点是一把绝佳的学习钥匙。
2015-12-29 23:22:01
24551
原创 如何学习(3):迭代学习,精益求精
学习不会是一蹴而就,也不是经历漫长阶段才能将知识学到,而是迭代式的。每个迭代都有知识进帐,但在多次的迭代学习过程中,才能做到建立「全栈式知识结构」和实现「系统化知识」。
2015-12-14 01:05:25
6201
2
原创 如何学习(1):构建全栈式知识结构
知识是多层次的,而不是理论、公式或者技术本身,它有历史,发展和应用多个方面。建过构建全栈式的知识结构,对知识理解更深入。
2015-11-22 01:11:05
3519
原创 为什么无法一次将方案讲清楚
我们在交流时,发现很多时候无法一次将事情讲清楚,需要经过多次交流都能让双方达成一致。为什么会这样呢? 本文为了揭开背后的真正原因
2015-11-16 00:02:53
3111
1
原创 为什么会有缓冲区溢出攻击专栏
已有一段时间没有写博客,今天打开博客收到网友的私信,问我是否从事与安全相关的工作,以及对从事安全工作有什么好的建议。今晚想借这个机会记录下我写此专栏的缘由。2014年整整一年,我成为部门的安全工程师,负责Linux系统的安全设计和加固工作,使产品满足公司、客户的安全要求。在此之前对安全没有任何经验,只有网络协议以及Linux开发的经验,因此这一年的工作遇到很多困难,这些困难有技术上的,也有管理上的。
2015-09-26 01:27:11
5574
1
空空如也
csdn博客可以使用ClustrMaps访问地图吗
2015-02-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人