- 博客(29)
- 资源 (7)
- 收藏
- 关注

原创 关于系统进程和io的优先级,我们这么玩
关于系统进程和io的优先级,我们这么玩首先,如果不是特别老的内核,io是可以设置优先级的。 我们用fio工具来测试下 进程优先级10,io优先级7,调度类别为idlefio -prioclass=3 -prio=7 -nice=10 -filename=/dev/md1 -direct=1 -iodepth 10 -thread -rw=randrw -rwmixread=100 -ioengi
2017-12-15 00:04:19
4623
原创 sqlite实现概览
最近可能会用到sqlite,大致浏览了下实现的相关的细节。在这里总结备份下。有错误的地方希望可以不吝指教。官网介绍,sqlite实现了可串行化的隔离级别sqlite使用btree实现sqlite写入不能并发sqlite使用的是db级别的锁定实现部分。关系数据库要求是什么,要怎么实现,某些模块现在有什么在使用的解决方法可遵守?带着这几个问题,总结了一个表格。 下面看下sqlite的具体的实
2016-07-11 13:56:06
493
原创 html页面加载原理和浏览器应用程序交互原理
html页面加载原理和浏览器应用程序交互原理html加载原理a 浏览器下载html页面b 解析html为dom树c 逐个处理标签,有可能需要下载其他文件(图片,css,js等)d css处理为相应的语义的树e 处理js的时候,直接执行。期间,js可能执行任意的逻辑。在所有的逻辑中,浏览器只关注2个模型的变动:对css的变更和对dom的变更。或者说js和浏览器交互的介质是css语义树和do
2016-05-22 09:08:24
3419
原创 linux内存相关整理--为了看swap的问题
本文主要整理了linux内存管理的几个重要的方面:进程地址空间的分类,页框回收算法,mmap和unmap,swap,pagecache。大家按照原理性的材料来读一读。
2016-04-24 17:45:24
511
原创 关于系统,我得这么想一想
任何一个系统的需求,最终要靠cpu来计算和内存或者磁盘来存储--------业务最终还是要落地的可以变动的维度:数量或者说规模,速度上,一致性上,容灾上,安全上或者其他特定的要求--------变动的维度是千差万别的从底层的实现上,硬件资源,操作系统,已有的成型的组件形成了一种能力空间--------底层系统相互制约,相互协作,相互耦合-------
2016-04-09 23:10:32
447
原创 看看异常
从物理上,cpu上来看的话,没有任何异常机制的,是完全建模好的,按照设计意图一条一条指令执行。出现异常(总线,数学运算等)都会转入预定的异常处理流程。没有不按照指令执行的情况。从某个其他层次来看,不按照预想的执行流程执行的情况还不少(比如申请了某些资源,忘记处理异常的时候造成流程与设计的流程不符合,导致某些资源不释放的异常)要达到的目标是像底层cpu那样,任何的代码流程都是
2016-03-10 00:50:18
488
原创 Java String如何变成UTF-8字节数组的?
首先,写几点先决条件utf-8是unicode字符集一种编码方案Java中的String的存储是双字节的数组 字符集和编码方案不熟悉的同学,代理对不熟悉的同学请看http://unicodebook.readthedocs.org/en/latest/definitions.html
2015-07-09 23:25:11
3322
原创 文件系统 IO 并发 一致性
文件系统 IO 并发 一致性周末随意总结了一下文件系统抽象下的存储系统的并发和一致性。希望有兴趣的同学可以一起研究下。另外可能会再写一些这些和io流在c++中是如何适配的
2015-06-14 18:09:14
1588
原创 同步的本质 java内存模型 happen before order
Java内存模型和并发1. 并发:a) 并发一定是涉及到了多个执行流b) 多个执行流之间一定有数据的共享(如果全是私有的数据就不会相互影响了(因为硬件上底层先保证了硬件资源的并发透明性,然后又没有共享的数据,相当于各个执行流在单独的封闭的上下文中独自的运行了))c) i.
2014-08-23 18:35:54
989
原创 dma
周期挪用是指利用CPU不访问存储器的那些周期来实现DMA操作,此时DMA可以使用总线而不用通知CPU也不会妨碍CPU的工作。周期挪用并不减慢CPU的操作,但可能需要复杂的时序电路,而且数据传送过程是不连续的和不规则的。周期挪用(或周期窃取)在这种方法中,每当I/O设备发出DMA请求时,I/O设备便挪用或窃取总线占用权一个或几个主存周期,而DMA不请求时,CPU仍继续访问主存。
2014-08-03 22:44:58
2197
转载 Java 理论和实践: 了解泛型
登录 (或注册)中文IBM技术主题软件下载社区技术讲座搜索 developerWorks打印本页面用电子邮件发送本页面新浪微博人人网腾讯微博搜狐微博网易微博DiggFacebookTwitterDeliciousLinked In
2014-07-10 20:50:59
1393
原创 面向对象为什么要多用对象模式而少用继承模式?
进来学习java的时候遇到了一些经验说多用对象模式,少用继承模式。现在写一点感想。面向对象的对象之间的哦和方式有继承,实现,关联,依赖,聚合和组合。其中的继承和实现是继承这类模式。说道的一个原因就是代码污染。例如一个父类非常复杂。而一个继承了这个类的子类可能重写了一部分的方法。但是继承了全部的方法。用户在使用继承的子类的时候可能会调用没有重写的父类的方法并且如果这种方法是在子类的设计者的意
2014-06-14 17:51:54
1530
转载 进程切换分两步
进程切换分两步1.切换页目录以使用新的地址空间2.切换内核栈和硬件上下文。对于linux来说,线程和进程的最大区别就在于地址空间。对于线程切换,第1步是不需要做的,第2是进程和线程切换都要做的。所以明显是进程切换代价大
2013-05-27 10:44:59
720
原创 iar 新安装环境的时候找不到仿真器怎么办?
a target cannot be selected when xxxxxxxx这个错误浪费了我好几个小时。又是上网查又是瞎想。最后在设备管理器看到那个设备了还是不行解决的方法是重新更新驱动,但是不能让他自己搜索,要自己制定,选择后会提示未经过数字签名,然后忽略之,ok。原来是数字签名的问题,爱
2013-02-22 22:32:44
3869
原创 当高速的cpu遇上低速的内存怎么办?
当高速的cpu遇上低速的内存的时候,好像cpu的时钟会被封锁,等待内存的完成。所以才有了高速的cache。
2013-01-25 15:44:12
1022
原创 arm9 协处理器
arm9内核从指令集上支持16个协处理器。标准的使用方法是吧cp15(协处理器15)作为系统控制协处理器。可以用来进行多级内存管理。
2013-01-25 15:42:24
823
转载 如何区分pci设备
cpu和pci设备之间隔着pci总线控制器或者pci桥cpu的内存地址空间和pci总线地址空间是相互独立的隔离的,只是大多数cpu架构(x86)都是简单地把这2种地址不加任何偏移地一一映射。但是驱动程序员这个概念要分清。cpu首先要访问pci控制器,pci控制器访问pci设备pci设备有3种空间:配置空间、IO空间、mem空间,所以要区分每个pci设备就需要完全区分这3种空间。
2012-11-17 11:33:42
1953
转载 免费dns服务器
今天学校dns服务器有问题 试了这两个 very good8.8.8.8 8.8.8.8是一个IP地址,是Google提供的免费DNS服务器的IP地址,Google提供的另外一个免费DNS服务器的IP地址是:8.8.4.4 。用户可以使用Google提供的DNS服务器上网。 Google推出免费DNS解析服务器:8.8.8.8
2012-11-14 22:18:13
3336
原创 zigbee 学习
1Zigbee的网络层是基于adhoc的图景(除去终端节点;而且可能存在暂时静态的路由)2Zigbee的应用层呢?有一些概念:端点,profile-cluster-cmd。感觉端点是和地址他们结合起来寻址的,profile-cluster-cmd是结合起来搞应用的。总的概念有endpoint,profile,cluster,command(感觉就不存在command这么一个东西(在标准
2012-09-24 18:08:27
928
原创 Linux哪些东西是和硬件相关的
Linux哪些东西是和硬件相关的学习linux内核总感觉搞不清在不同的cpu体系结构上linux到底有哪些是相同的,哪些是不同的,因此在此仔细的想啊想的(看了s3c2440和i386的资料有些感觉,然后就觉得看源码验证之前先自己猜一猜效率很高,脑袋不乱哎)。1对于硬件的使用。我一个硬件就挂在那,你怎么也不见得能知道我是干什么的吧?最最原始的想法是我写一个裸奔程序肯定能够在有硬件原理
2012-09-20 21:35:58
783
原创 对于单cpu中断的理解
对于中断来说,我们要解决的问题大致如下Cpu如何判断中断?我cpu就检测一根信号线,有我就认为有中断。在这根线上发出信号是中断管理器的任务有哪些中断?(这里的一根信号新应该理解成与最终要处理的中断相对应的信息)所有的中断构成了一个中断源的集合。允许哪些中断(中断屏蔽问题)?被允许的中断同时来了怎么办?(优先级问题)。 例如cc2430有18个中断源。一般来说,中
2012-09-04 15:52:48
965
原创 android looper和handler
当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关的事件分发到对应的组件进行处理。所以主线程通常又被叫做UI线程。 Message QueueAndroid在第一次启动程序时会默认会为UI thread创建一个关联的消息队列,可以通过Looper
2012-02-13 21:20:30
926
原创 人工智能幻想
最近学了一些人工智能方面的知识。有个想法想和大家分享一下。有没有能够特化为一切问题的问题?人脑是能够解决一切问题的系统吗?如果一个系统能够逐步发展成解决所有问题的系统,它原本就算是那个系统吗
2011-12-06 23:33:37
681
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人