- 博客(37)
- 资源 (6)
- 收藏
- 关注
原创 基于kylin大数据多维分析功能整合
一、 思路大数据OLAP目前主要有ROLAP和MOLAP。目前我们已采用的ROLAP方式组建数据平台,提供了更大的操作灵活性,同时在海量数据的情况下分析计算缓慢。MOLAP 能降低分析和数据库的耦合性,提高处理效率和改善分工,但降低操作灵活性和增加ETL的复杂性。我们将采用的建模做立方体(MOLAP)的方式改进平台,目前也面临着ETL复杂性问题。面对MOLAP,大
2016-12-21 13:51:17
4616
原创 内存管理1(内核情景分析)
linux定义了三层映射,页面目录称为PGD, 中间目录为PMD,页面表为PT.linux将最高1G字节(0xc0000000-0xffffffff)用于内核本身称为"系统空间", 将较低3G字节(0x0-0xbfffffff)用作各个进程"用户空间".以i386为例,从线性地址到物理地址的获取,在页面映射过程中,CPU需要访问内存三次,第一次页面目录,第二次页面表,第三次真正目标,所以虚存高效实
2009-03-05 15:48:00
1155
转载 伙伴算法
1.原理 Linux的伙伴算法把所有的空闲页面分为10个块组,每组中块的大小是2的幂次方个页面,例如,第0组中块的大小都为20 (1个页面),第1组中块的大小为都为21(2个页面),第9组中块的大小都为29(512个页面)。也就是说,每一组中块的大小是相同的,且这同样大小的块形成一个链表。 我们通过一个简单的例子来说明该算法的工作原理。 假设要求分配的块其大小为12
2009-03-05 13:40:00
911
原创 基础(内核情景分析)
8086 ALU宽度16,数据总线宽度20。段寄存器:CS,DS,ES,SS内部地址高12位+段寄存器=实际地址高12位,内部地址低4位=实际地址低4位以段寄存器地址为基址,进程可随意访问内存64K地址,且没有特权保护,为80386ALU宽度32,数据总线宽度32。段寄存器添加:FS,GS。 (16位)段描述表寄存器出现:GDTR,LDTR,(16位)有特权位。段描述项为8字节数据:typedef
2009-03-03 14:02:00
645
转载 GRUB整体分析
总 体上我们可以把GRUB看成一个微型的操作系统,他有Shell,支持Script,有文 件系统……我们可以把Stage1和Stage1.5看成一个引导程序,而Stage2则是一个操作 系统,只不过这个操作系统是专门用来引导其他操作系统的操作系统,为此, Stage2支持像kernel, initrd,chainloader等等为此目的而设置的内部“命令”。 3.1 GRUB引导操作系统的两种
2008-02-01 12:43:00
770
转载 存储器,I/O端口,寄存器
分析这几个容易混淆的概念. 引用一段资料: 几乎每一种外设都是通过读写设备上的寄存器来进行操作的。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memory-mapped)。具
2007-08-09 10:30:00
3060
3
转载 Binutils的内容
包含的程序addr2line, ar, as, gasp, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings and strip具体说明addr2lineaddr2line把程序地址转换为文件名和行号。在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在
2007-05-21 16:44:00
770
转载 共享库的动态加载/卸载
这份文档来自Programming>>,解释如何动态加载共享库,使用这种技术你可以在程序中精确控制加载某个共享库。本文同时讨论了共享库中符号解析问题。dlopen( "libtest.so", RTLD_LAZY );这个调用将打开共享库libtest.so,第二形参通常都是RTLD_LAZY。为了使用dlopen函数,需要包含头文件,指定链接开关-ldl。假设libtest.so中定义了函数my
2007-05-21 16:32:00
1547
原创 嵌入式可移植性编程的一些例子
多数情况下,编写完全可移植的程序代码是不可能的。因为同样的数据类型在不同的编译环境下 所产生的结果(OBJ代码)可能是不同的,特别是针对嵌入式系统,不同的运行平台可能要求不同的代码来实现它所要求的独特功能。为了增加程序代码可移植到 多个平台的可行性,比较好的方法是提供一个可移植的数据或功能接口,让那些移植的部分隐藏在这些接口之后,当然,这样的事情应该全部是系统设计的工作。下 面介绍有关可移植性编程
2007-05-21 11:40:00
856
转载 gcc选项介绍
[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld] [参数详解] -x languag
2007-05-21 10:05:00
877
转载 Bash内建指令集
Bash内建指令集 以下的命令,大部份都没有使用例,您可能会看不出所以然,摸不着头脑。在我加入例说明前,建议您"man bash",然後自己实际操作一次。 -------------------------------------------------------------------------------- : [arguments] 不做任何事,除了[arguments
2007-05-19 16:18:00
882
转载 bash 简单介绍
bash(Bourne Again Shell) 是 Red Hat 的缺省 shell. 它有40个内建命令和12个命令行参数。 shell 是一个命令语言解释器(command-language interpreter)。 shell是用户和linux内核之间的接口程序。你在提示符下输入的每个命令都由shell先解释然后传给Linux内核。 shell 如何启动 shell在你成功地
2007-05-19 15:49:00
1051
转载 VI的用法和部分指令
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模
2007-04-29 12:30:00
858
转载 uid和gid
一、用户管理概念 1.用户管理的范围 用户帐号管理 组帐号管理 用户/组帐号的权限管理 用户帐号的环境设置 2.Linux系统用户管理特点 多用户平台(ALT+F1--12) 单用户模式中无需用户 管理方法有两种:命令、图形工具、 二、用户帐号的管理 1.用户帐号的分类 超级用户(UID=0):具有一切系统操作权限 普通用户(UID=500—MAXUID默认值60000):操作权限受到限制
2007-04-29 12:09:00
2134
原创 Samba介绍和使用
Samba协议基础 自从出现NetBIOS协议,Microsoft用它实现了网络文件/打印服务,即大家熟知的打印与共享服务,它是基于SMB(Server Message Block)协议,实现不同计算机之间共享打印机、串行口和通讯抽象(如命名管道、邮件插槽等)。随着Internet的流行,Microsoft希望将这个协议扩展到Internet上去,成为Internet上计算机之间相互共享数据的一
2007-04-29 12:06:00
2351
转载 Linux下安装与删除软件
像使用Windows时那么直观。其实在Linux下安装和卸载软件也非常简单,同样也有安装向 导或解压安装的方式,不相同的只不过是除了二进制形式的软件分发外,还有许许多多以 源代码形式分发的软件包,下面就来详细地讲一讲这些软件的安装与卸载:一、二进制分发软件包的安装与卸载 Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安 装使用容易,缺点则是缺乏灵活性,
2007-04-29 12:04:00
948
转载 linux环境变量
一.和环境变量有关的常用命令1.使用echo显示环境变量HOME $ echo $HOME/home/admin2.使用export设置一个新的环境变量NAME$ export NAME="RaidCheng"$ echo $NAMERaidCheng3.使用env命令显示所有的环境变量 $ envHOSTNAME=testTERM=vt100SHELL=/bin/bashHIST
2007-04-29 12:02:00
1020
转载 Java类路径
和Java类路径(classpath)打交道的过程中,开发者偶尔会遇到麻烦。这是因为,类装载器实际装入的是哪一个类有时并不显而易见,当应用程序的classpath包含大量的类和目录时,情况尤其严重。本文将提供一个工具,它能够显示出被装入类文件的绝对路径名。 一、Classpath基础 Java虚拟机(JVM)借助类装载器装入应用程序使用的类,具体装入哪些类根据当时的需要
2007-04-29 12:00:00
1441
转载 jar使用
兄弟,对java着迷吗,或者是为了自己的生计,不论怎样都欢迎你进入精彩java世界,welcome!可能你刚刚对每个人说:Hello World!也或者……ok!这已经足够了。那就让我们开始吧,开始这个魔幻世界的旅程:jar文件听说过吗,没有?或者陌生!好,没关系,这就是我们的第一站:打包发布。为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive (JAR) file,
2007-04-29 11:56:00
736
转载 JAR 文件揭密
大多数 Java 程序员都熟悉对 JAR 文件的基本操作。但是只有少数程序员了解 JAR 文件格式的强大功能。在本文中,作者探讨了JAR 格式的许多功能和优势,包括打包、可执行的 JAR 文件、安全性和索引。JAR 文件是什么?JAR 文件格式以流行的 ZIP 文件格式为基础,用于将许多个文件聚集为一个文件。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封
2007-04-29 11:55:00
705
转载 GOOGLE使用
一,GOOGLE简介 Google(www.google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明,Google Inc. 于1999年创立。2000年7月份,Google替代Inktomi成为Yahoo公司的搜索引擎,同年9月份,Google成为中国网易公司的搜索引擎。98年至今,GOOGLE已经获得30多项业界大
2007-04-29 11:48:00
854
转载 GNU binutils工具使用
GNU binutils是一组二进制工具集。包括:addr2line ar gprof nm objcopy objdump ranlib size strings strip. 本文归纳他们的常用法。ar ar用于建立、修改、提取档案文件(archive)。archive是一个包含多个被包含文件的单一文件(也称之为库文件),其结构保证了可以
2007-04-29 11:46:00
2946
转载 cramfs文件系统介绍
1、cramfs的特点在嵌入式的环境之下,内存和外存资源都需要节约使用。如果使用RAMDISK方式来使用文件系统,那么在系统运行之后,首先要把外存(Flash)上的映像文件解压缩到内存中,构造起RAMDISK环境,才可以开始运行程序。但是它也有很致命的弱点。在正常情况下,同样的代码不仅在外存中占据了空间(以压缩后的形式存在),而且还在内存中占用了更大的空间(以解压缩之后的形式存在),这
2007-04-29 11:43:00
1044
转载 ar和nm
当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍两个命令ar和nm,用来对库操作。 1.ar基本用法2.nm基本用法命令 当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍两个命令ar和
2007-04-29 11:42:00
688
转载 obj文件,动态链接文件和ELF文件
1.obj文件 程序员编写程序,其实就是编写出一个2进制(binary)文件。假如我们声明一个变量char c,也就是声明需要一个8bit的空间,那么就需要向系统声明豫留8bit的空间,怎么做到这一点呢?就是编译一个特殊的2进制文件--obj文件,用gcc编译的C语言得到的执行文件,里面不仅包含CPU指令,还有很多别的信息在里面,它有很多格式COFF、ELF……等等,在最后一道编译过程
2007-04-29 11:37:00
1302
转载 vmlinux.lds文件
内核编译链接过程是依靠vmlinux.lds文件,以arm为例vmlinux.lds文件位于kernel/arch/arm/vmlinux.lds,但是该文件是由vmlinux-armv.lds.in生成的,根据编译选项的不同源文件还可以是vmlinux-armo.lds.in,vmlinux-armv-xip.lds.in。vmlinux-armv.lds的生成过程在kernel/ar
2007-04-27 17:03:00
1715
原创 梳理kernel的Makefile
一、Makefiles的组成:1) Makefile: the top Makefile.2) .config: the kernel configuration file3) Arch/*/Makefile:the arch Makefiles.4) Subdirectory Makefiles:there are about 30
2007-04-27 16:59:00
1317
原创 梳理kernel的configure
1 config.in配置kernel需要的配置script在scripts/下,不同的体系有不同主config.in,它们在arch/*/下,其它config.in 分布在不同的子文件里,config.in有专用的language,命令执行完后产生文件 .config,其中保存着配置信息。下一次再做 make config。2 configure language使用者有:
2007-04-27 16:55:00
861
转载 configure参数的理解
configure脚本有大量的命令行选项.对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的.带上--help选项执行configure脚本可以看到可用的所有选项.尽管许多选项是很少用到的,但是当你为了特殊的需求而configure一个包时,知道他们的存在是很有益处的.下面对每一个选项进行简略的介绍:--cache-file=FILEconfigure
2007-04-27 16:50:00
1822
转载 xinetd和inetd安装和使用
inetd被称作 “Internet 超级服务器”, 因为它可以为多种服务管理连接。 当 inetd 接到连接时, 它能够确定连接所需的程序, 启动相应的进程,并把 socket 交给它 (服务 socket 会作为程序的标准输入、 输出和错误输出描述符)。 使用 inetd 来运行那些负载不重的服务有助于降低系统负载,因为它不需要为每个服务都启动独立的服务程序。一般busybox里包含
2007-04-27 16:45:00
4520
转载 MTD工具的安装
一, 为宿主机安装MTD工具程序下载MTD工具程序: ftp://ftp.uk.linux.org/pub/people/dwmw2/mtd/cvs/下载至${PRJROOT}/build-tools并将它解开.$ cd ${PRJROOT}/build-tools/mtd/util$ make clean修改Makefile文件:SBINDIR=sbinMANDIR=manINCLUDED
2007-04-27 16:41:00
1381
转载 一篇内核编译说明
1.Linux内核源码结构: 内核源码中主要包含以下子目录: arch :包含了与体系结构相关的代码 对应于每一个支持的体系结构,有一个相应的子目录如i386、arm、alpha等。 其每个体系结构子目录下包含几个主要的子目录: kernel :包含与体系结构相关的内核代码 mm :包含与体系结构相关的内存管理代码 lib :包含与体系结构相关的库代码 documentati
2007-04-27 16:30:00
716
转载 启动信息详解
作为一名嵌入系统开发者,你一定遇到过下面的情景:在某论坛上看到一篇帖子,上面贴着嵌入式linux开发板启动时的有关信息,然后大家在帖子里讨论着这个启动过程中出现的问题,随机举例如下: Linux version 2.4.20-uc0 (root@Local) (gcc version 2.95.3
2007-04-27 13:23:00
1171
转载 Linux文件的扩展名
在Linux中,带有扩展名的文件,只能代表程序的关联,并不能说明文件是可以执行,从这方面来说,Linux的扩展名没有太大的意义。file.tar.gz file.tgz file.tar.bz2 file.rar file.gz file.zip ... ... 这些大家都熟悉,是归档文件。要通过相应的工具来解压或提取;file.php 这个大家都知道吧,是能用php语言解释器进
2007-04-27 11:25:00
1036
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人