自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tupipa的专栏

跬步,小流

  • 博客(22)
  • 资源 (3)
  • 收藏
  • 关注

原创 人脑智能的进化过程研究--仍然是一团迷雾

Book:The Evolution of Intelligent Systems – How Molecules Became Minds, by Ken Richardson, 2010, Palgrave Macmillan现在脑科学研究的现状还远远不能解开人脑的奥秘。各个研究学派的理论不仅不能相互兼容统一,而且都没有足够深入到人脑细节中。Many people interested...

2019-07-28 13:00:50 110

原创 AOP--面向方面语言--结点与切点--

结点:定义符合指定特征的代码语句。可以是一个方法定义或者调用,也可以是变量的定义或者运算。切点:是结点的集合。用不同的结点描述符合特定条件的代码段。面向方面语言(AOP)用这些特征作为限定条件,从而定位到符合限定的代码,以便于在这些代码上进行操作。AOP定义了以下谓词描述程序代码段的特征(描述的代码以java为例)。参考:http://www.eclipse.org/aspectj/doc/r...

2019-07-28 12:51:01 185

原创 CheriABI简介

在CHERI 架构中指针可以被定义为权能,而不是传统的整数类型的虚拟地质。CHERI中的权能定义不仅可以兼容C语言中的指针,而且加强了指针的语义。传统的胖指针仅仅是指针区间的保护, 而CHERI权能(或指针)在此基础上还提供了完整性保护, 强制本源验证, 和访问单调性。 这些更强的保护机制必须与现有的操作系统、运行环境以及应用程序相互兼容才有现实意义。如果将进程模型、用户-内核交互、动态链接以及内...

2019-07-28 12:47:41 383

原创 计算机缓存架构的分类

现代计算机中缓存的实现有很多不同点,比较重要的点有:缓存大小 (cache size)缓存行大小 (cache line size)缓存集大小 (set size)是否写分配 (write-allocate)替换策略 (replacement policy)虚拟寻址还是物理寻址 (look-up by virtual or physical address)缓存行标记方法,是虚拟地...

2019-07-28 12:43:42 303

原创 缓存中使用虚拟寻址的设计问题

摘要自:Unix Systems for Modern Architectures – Symmetric Multiprocessing and Caching for Kernel Programmers by Curt Schimmel: Chapter 3 “Virtual Caches”虚拟寻址缓存根据指令或者数据的虚拟地址作为索引 (index) 和标记 (tag)。这在一定程度...

2019-07-28 12:40:31 223

原创 FreeBSD 信号管理

参考书籍 The Design and Implementation of the FreeBSD Operating System by Marshall Kirk McKusick, George V. Neville-Neil, and Robert N.M. Watson. 2nd edition, Chapter 4, Process Management – 4.7 Signals....

2019-07-28 12:37:23 171

翻译 gcc预处理器--文件处理

文件libcpp/files.c负责文件搜索,打开,读取,缓存。处理主要源代码以及递归包含的头文件。基本策略是使系统调用的个数最少。在一些系统中,open() , fstat()一类的函数花销很大。每一个#include-d 文件,需要搜索所有的文件或者目录直到找到目标。一些项目中,如glibc,在调用命令中指明了20-30个库目录,这使得搜索十分耗时。

2013-01-22 12:01:42 360

翻译 gcc预处理器--libcpp--词法分析

参考:http://gcc.gnu.org/onlinedocs/cppinternals/词法分析:http://code.woboq.org/gcc/libcpp/lex.c.html_cpp_lex_direct_cpp_lex_tokencpp_get_token

2013-01-22 10:08:56 948

原创 gcc灰盒测试--调用不同阶段的遍处理

参考:First Level Gray Box Probing1,查看gcc的优化命令:        gcc -c --help=optimizers //       gcc -c -O2 --help=optimizers -Q   //查看gcc当前优化设置2,编译并输出中间文件:      gcc -fdump-tree-all -fdump-ipa-

2013-01-21 11:43:56 356

原创 gcc中的‘遍处理’概览--pass

gcc-**/gcc/passes.c: 源码参考http://code.woboq.org/gcc/gcc/passes.c.html解析参考:First Level Gray Box Probinggcc中239个遍处理程序。有的会在不同的地方被多次调用,条件常量(conditional constant)的传播(propagation)和不可达代码(dead code)的删除

2013-01-21 10:55:17 612

原创 linux kernel : RCU 读-拷-更新的同步机制

参考:http://www.kernel.org/doc/Documentation/RCU/whatisRCU.txt

2013-01-18 17:24:56 255

原创 ldv-kernelRules : export-3.5.aspect 定义对驱动程序导出函数的重构

源码:kernel-model/export-3.5.aspect此文件定义了一个源码重构(插桩)的方面文件,将所有驱动程序的导出函数的每一次调用之后都执行一次ldv_func_check($res)或者ldv_check_pointer($res)函数。后者针对返回值为指针的函数(1524个函数),前者针对其他类型返回值函数(6813个函数)。尚存问题:开头一句/*Exp

2013-01-18 15:21:21 288

原创 ldv-kernelRule: ERR.aspect定义对内核指针错误处理函数的重构

该文件重新定义了linux内核中(linux/include/linux/err.h )定义的错误检测相关函数:IS_ERR, PTR_ERR, ERR_PTR and IS_ERR_OR_NULL 函数分别替换为了  ldv_is_err,  ldv_err_ptr,ldv_ptr_err,ldv_is_err_or_null。实施替换的原因,是源于这些函数的内核实现对于验证模块(基

2013-01-17 17:48:17 403

翻译 aop- advice语法结构

原网站: http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html在用切点描述了符合特定特征的程序块之后, 就可以用编译器定位到这些符合条件的代码段, 并对这些代码进行处理.advice定义程序中切点部分的具体操作, 比如在切点前(后)插入代码, 或者替换切点代码,等等. advice由切点和操作

2013-01-17 15:04:56 669

原创 ldv内核模型源码--alloc

该文件用于描述内核中内存分配(以页为单位)操作的各种不同函数。根据函数的参数中是否含有gfp_t标记以及标记在参数列表中的位置进行分类,作为不同的程序切点。如,下面的语句定义了一个切点:将内核内存分配函数中含有gfp_t标记并作为第一个参数的函数作为一类切点,命名为ARG_1。pointcut ARG_1: call(unsigned long __get_free_pages(.

2013-01-15 20:44:21 653

原创 入口 gcc-4.6.0/gcc/gcc.c

gcc程序入口。分析gcc工作流程的起点。 示例:执行命令:         /usr/bin/gcc -o /home/malele/hello.o /home/malele/hello.cmain函数----------------------------输入: int argc,参数个数;       char **argv,参

2013-01-15 09:05:36 515

翻译 gcc-4.6.0/gcc/gcc.c#main

intmain (int argc, char **argv){ size_t i; int value; int linker_was_run = 0; int lang_n_infiles = 0; int num_linker_inputs = 0; char *explicit_link_files; char *specs_file; char *lt

2013-01-14 22:08:52 476

原创 gcc-4.6.0/gcc/opts-common.c#decode_cmdline_option

static unsigned intdecode_cmdline_option (const char **argv, unsigned int lang_mask,      struct cl_decoded_option *decoded){  size_t opt_index;  const char *arg = 0;  int value = 1;  un

2013-01-14 22:03:30 329

原创 gcc-4.6.0/gcc/opts-common.c#decode_cmdline_options_to_array

/* Decode command-line options (ARGC and ARGV being the arguments of   main) into an array, setting *DECODED_OPTIONS to a pointer to that   array and *DECODED_OPTIONS_COUNT to the number of entrie

2013-01-14 21:57:54 282

原创 gcc-4.6.0/gcc/opts-common.c#generate_option_input_file

/* Fill in *DECODED with an option for input file FILE.  针对文件名称(*file)作为选项的情况,   将文件名称信息记录到选项的标准数据格式(cl-decoded_option)中。*/voidgenerate_option_input_file (const char *file,   struct cl_dec

2013-01-14 21:56:00 276

原创 gcc-main-cl_decoded_option

/* Structure describing the result of decoding an option.  *//*用于存储命令行选项相关信息的数据结构*/struct cl_decoded_option{  /* The index of this option, or an OPT_SPECIAL_* value for     non-options and

2013-01-14 21:20:31 266

原创 emacs使用方法

官网tip:http://www.gnu.org/software/emacs/tour/另一个:A Tutorial Introduction to GNU Emacs

2013-01-13 12:03:03 201

Principles of Program Analysis

英文版,原文链接: https://www.springer.com/gp/book/9783540654100 作者: Nielson, Flemming, Nielson, Hanne R., Hankin, Chris

2019-08-05

Apache安装文件 httpd-2.2.16-win32-x86-openssl-0.98o

开源软件 Apache安装文件,用于Windows系统,openssl版本

2010-08-16

空空如也

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

TA关注的人

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