- 博客(90)
- 收藏
- 关注
原创 grub-install源码分析---4
grub-install源码分析—4上一章重点分析了grub是如何探测一个文件系统的,本章分析grub-install的最后一部分代码,该代码包含了最主要的业务逻辑,下面来看。grub2-install第六部分 util/grub-install.c ... char mkimage_target[200]; const char *core_name =...
2018-04-04 18:45:21
1386
原创 grub-install源码分析---3
grub-install源码分析—3本章之前的分析介绍了grub-install如何解析输入参数,并打开相应的存储设备,本章主要看grub如何识别根设备上的文件系统。grub2-install第五部分 util/grub-install.c ... grub_fs = grub_fs_probe (grub_dev); grub_install_push_...
2018-04-02 22:00:16
2122
原创 grub-install源码分析---2
grub-install源码分析—2上一章分析了grub-install源码的第一部分,该部分的主要功能是处理命令行参数,并初始化一些文件和变量,紧接下来的一部分代码用于处理即将安装的存储设备,下面来看。grub2-install第四部分 util/grub-install.c ... size_t ndev = 0; grub_devices = gru...
2018-03-30 08:27:20
1942
原创 grub-install源码分析---1
grub-install源码分析—1本章开始分析grub-install的源码,该命令最终会将grub的映像存入引导扇区中,最简单的命令如下,grub2-install /dev/sda下面从main函数开始看,有一部分代码已经在《grub-mkimage源码分析》中分析了,本章包括后面的章节对这些代码就直接略过了。grub2-install第一部分 util/grub-ins...
2018-03-29 08:31:35
2980
原创 grub-mkimage源码分析---3
grub-mkimage源码分析—3上一章分析了如何将kernel.img文件以及各个的模块和对应的依赖模块读取并写入内存映像kernel_img中,本章分析如何将kernel_img中的数据以及解压缩程序写入最终的core.img文件中。grub_install_generate_image第四部分 util/mkimage.c ... compress_kerne...
2018-03-25 10:38:57
1177
原创 grub-mkimage源码分析---2
grub-mkimage源码分析—2上一张分析了grub-mkimage命令对应的main函数如何对输入的参数进行解析,本章分析余下的代码。main util/grub-mkimage.cint main (int argc, char *argv[]) { ... if (!arguments.image_target) { ... ...
2018-03-24 09:10:21
1552
原创 grub-mkimage源码分析---1
grub-mkimage源码分析—1本章开始分析grub-mkimage的源码,首先来看grub-mkimage文件的生成过程,从Makefile开始看。grub-mkimage目标定义在grub源码的顶层Makefile文件中。grub-mkimage Makefilegrub-mkimage$(EXEEXT): $(grub_mkimage_OBJECTS) $(grub_m...
2017-12-20 22:55:22
1821
原创 grub源码分析---2
grub源码分析—2_start grub-core/boot/i386/pc/startup_raw.S_start:LOCAL (base): ljmp $0, $ABS(LOCAL (codestart)) ...LOCAL (codestart): cli xorw %ax, %ax movw %ax, %ds
2017-11-22 16:19:31
3750
原创 __pthread_initialize_minimal源码分析
__pthread_initialize_minimal源码分析__pthread_initialize_minimal在__libc_start_main中被调用。 csu/lib-tls.cvoid __attribute__ ((weak)) __pthread_initialize_minimal (void){ __libc_setup_tls (TLS_INIT_T
2017-09-12 12:40:18
1872
原创 pthread_create源码分析
pthread_create源码分析pthread_attr_t的主要属性的意义如下: __detachstate,表示新线程是否与进程中其他线程脱离同步, 如果设置为PTHREAD_CREATE_DETACHED 则新线程不能用pthread_join()来同步,且在退出时自行释放所占用的资源。缺省为PTHREAD_CREATE_JOINABLE状态。这个属性也可以在线程创建并运行以后用p
2017-08-22 21:10:44
11474
原创 _dl_start源码分析
_dl_start源码分析ELF_DYNAMIC_RELOCATE 自我重定位_dl_start_final源码分析_dl_sysdep_start源码分析
2017-02-05 01:16:45
4732
1
原创 sys_execv源码分析
sys_execvdo_execvedo_execveat_commonload_elf_binary程序装载,解释器
2017-02-01 16:19:31
3792
1
原创 lucene源码分析---14
lucene源码分析—删除索引 indexWriter.deleteDocuments(new Term("id", String.valueOf(i)));IndexWriter::deleteDocuments public void deleteDocuments(Term... terms) throws IOException { if (docWrite
2016-11-28 00:15:49
2242
原创 lucene源码分析---12
lucene源码分析—PhraseQuery本章开始查看PhraseQuery的源码,PhraseQuery顾名思义是短语查询,先来看PhraseQuery是如何构造的, PhraseQuery.Builder queryBuilder = new PhraseQuery.Builder(); queryBuilder.add(new Term("body",
2016-11-12 20:23:48
2783
原创 lucene源码分析---11
lucene-6.1.0源码分析—BooleanQueryBooleanScorer::score public int score(LeafCollector collector, Bits acceptDocs, int min, int max) throws IOException { fakeScorer.doc = -1; collector.setScore
2016-11-03 10:57:52
1554
原创 solr-6.1.0源码分析---4
solr-6.1.0源码分析—创建索引wt=javabin&version=2SolrDispatchFilter::doFilter->HttpSolrCall::call public Action call() throws IOException { ... init(); HttpServletResponse resp = response
2016-10-11 21:17:29
1407
原创 solr-6.1.0源码分析---3
solr源码分析—创建core假设客户端发送如下请求,http://127.0.0.1/solr-6.1.0/admin/cores?_=1475575790875&action=CREATE&config=solrconfig.xml&dataDir=data&instanceDir=test&name=test&schema=schema.xml&wt=json根据上一章的分析,该
2016-10-08 19:58:01
1102
原创 solr-6.1.0源码分析---2
solr源码分析—doFilter public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain, boolean retry) throws IOException, ServletException { try { if (excludePatter
2016-10-05 15:37:10
766
原创 IKAnalyzer源码分析---4
IKAnalyzer源码分析—歧义词根据《IKAnalyzer源码分析—1》所示,IKSegmenter的next函数每次处理完一批数据后,会通过IKArbitrator的process函数进行歧义处理。IKArbitrator::process void process(AnalyzeContext context , boolean useSmart){
2016-09-18 12:37:15
1057
原创 IKAnalyzer源码分析---3
IKAnalyzer源码分析—CJKSegmenter、LetterSegmenter和CN_QuantifierSegmenter本章开始分析IKAnalyzer中的三个Segmenter,分别是CJKSegmenter、LetterSegmenter和CN_QuantifierSegmenter。LetterSegmenter用来处理英文字符和阿拉伯数字,CN_QuantifierSegment
2016-09-17 22:54:28
1545
原创 solr-6.1.0源码分析---1
solr-6.1.0源码分析—SolrDispatchFilter初始化SolrDispatchFilter::init public void init(FilterConfig config) throws ServletException{ String exclude = config.getInitParameter("excludePatterns"); i
2016-09-06 11:21:36
2224
原创 nutch源码分析---7
nutch源码分析—solrindex“bin/nutch solrindex http://localhost:8983/solr crawl/crawldb/ -linkdb crawl/linkdb/ -dir crawl/segments/ -filter -normalize”elif [ "$COMMAND" = "solrindex" ] ; then CLASS="or
2016-08-30 08:20:48
1073
原创 nutch源码分析---6
nutch源码分析—invertlinksbin/nutch invertlinks crawl/linkdb -dir crawl/segments
2016-08-27 08:09:22
788
原创 nutch源码分析---5
nutch源码分析—updatedborg.apache.nutch.crawl.CrawlDb public static void main(String[] args) throws Exception { int res = ToolRunner.run(NutchConfiguration.create(), new CrawlDb(), args); Syst
2016-08-25 11:39:37
643
原创 lucene源码分析---10
lucene源码分析—倒排索引的读过程SegmentTermsEnumFieldReaderseekExactfindTargetArcscanToFloorFrameloadBlockscanToTerm
2016-08-19 11:31:23
3198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人