本系列的第三篇文章主要来介绍与共享物理页面相关的两个函数。
//在发生缺页异常的时,首先看看能否与运行同一个文件的其他进程进行页面共享处理。该函数首先判断系统中是否有另外进程也在运行与当前进程一样的执行文件。若有,则在系统当前任务中找寻这样的任务。若找到了这样的任务就尝试与其共享指定地址处的页面。判断系统中是否有另一个进程也在执行同一个可执行文件的方法是利用进程任务数据结构中的executabl...
分类:
系统相关 时间:
2014-06-05 03:47:01
阅读次数:
350
当我开始了解《微服务架构》的时候,我发现里面的中文文章是相当的少,于是开始试着翻译一些文章,比如这一篇《微服务——不是免费的午餐》。这篇文章是在某次讨论结束后听到的,和之前类似的是这种区别有点类似于之前说的微内核与宏内核的区别。译文如下:文章是由Contino公司的CTO,Benjamin Wootton写的。Contino是一家在伦敦的咨询公司,专注于DevOps和持续支付。Microservi...
分类:
其他好文 时间:
2014-06-05 02:59:19
阅读次数:
293
上次的简易bootloader虽然下载验证成功,可以成功引导内核启动linux,但是LCD一直处于白屏状态,没有显示。而mini2440的vivi就没有这情况,所以问题可能出在一些与LCD有关的初始化上。经过查看原理图和对照源代码,做了一些修改,最后LCD可以正常工作。
修改工作主要就是将对应LCD控制线和数据线的GPIO口进行初始化:
主要代码如下:
void port_init(void...
分类:
其他好文 时间:
2014-06-05 02:05:04
阅读次数:
260
本文主要介绍Linux0.12内核memory.c中的函数
1.void free_page(unsigned long addr)
//释放物理地址addr处的一页内存。用于free_page_tables()函数
void free_page(unsigned long addr)
{
//首先判定给定物理地址的合理性。如果物理地址addr小于内存低端1M,对此不///予处理。如果a...
分类:
系统相关 时间:
2014-06-04 21:13:18
阅读次数:
439
最近把做好的ipad HTML5混合应用适配到android上,发现android的webview比 iPad差太多了,android4.4由于升级到chromium,和chrome内核一致,所有问题不多,但android4.3以下的版本兼容问题太多了,只能一个一个慢慢解决了!
目前已经碰到了css3 flex box布局的兼容问题, js的兼容问题等。
Andro...
分类:
移动开发 时间:
2014-06-03 03:59:32
阅读次数:
353
操作系统版本:centos 6.0 x86_64
想要在linux上运行robot framework的测试用例,需要安装以下工具和软件:
1.安装python 2.7.6 ,首先python --version 查看系统是否装有python,并且python的版本是不是我们要用的
Python 2.6.5
说明已经装有python 2.6.5,下载python2.7.6,下载地址:...
分类:
其他好文 时间:
2014-06-03 03:09:28
阅读次数:
463
测试运行平台:CentOS 6.5发行版,内核版本3.11
1. Linux抓包源程序
在OSI七层模型中,网卡工作在物理层和数据链路层的MAC子层。
进行网络通信时,源主机通过socket(或其它)应用程序产生IP报文,经过各个OSI层层封装,数据包以Ethernet帧的形式进入物理层。Ethernet帧包含源主机地址、IP报文、目标地址(IP地址、端口号或映射的6字节...
分类:
系统相关 时间:
2014-06-03 02:45:05
阅读次数:
428
1 调度
Windows不是实时操作系统,它是抢占式多线程操作系统。在假设所有优先级相同的情况下,CPU对线程的调度原则是每隔20m就会切换到下一个线程,根据Context中的IP和SP来接着执行上次的东西。Windows永远不会让1个线程去独占一段时间。
2 可调度性
系统只调用可以调度的线程,其实系统的大部分线程都是处于不可调度的状态,要么处于暂停的状...
分类:
编程语言 时间:
2014-06-03 00:16:07
阅读次数:
402
当我们在应用程序中编写write系统调用,向磁盘中写入数据时,写入请求会先调用底层写函数,将请求先写入内存中的页高速缓存(page cache)中,写入成功则立刻返回,真正的写入磁盘操作会延迟执行。Page cache是硬盘在内存中的一个缓存,是linux内核所使用的主要磁盘高速缓存,在绝大多数情况下,内核在读写磁盘时都引用page cache(极少数应用会绕过页高速缓存,如数据库软件)。...
分类:
其他好文 时间:
2014-06-02 22:38:57
阅读次数:
311
mac80211内核模块实现了对802.11协议的处理过程。其中mlme.c文件中的内容实现了对Deauth管理帧的处理。考虑到Deauth攻击至今仍没有好的防御方法(据说有802.11w,可是我一直没见到应用他的设备,为什么?求解),aireplay-ng工具仍然可以很轻松的Deauth客户下线,...
分类:
系统相关 时间:
2014-05-31 18:20:05
阅读次数:
564