- 博客(24)
- 资源 (11)
- 收藏
- 关注
原创 linux 启动 过程 学习 (x86_64)
1. arch/x86/boot/header.S , kernel setup 从 _start开始。 设置 stack, bss, 最后跳转到 arch/x86/boot/main.c。2. 在main函数中,把kernel setup header 拷贝到 struct setup_header, 之后初console_init, init_heap, validate_cpu,
2015-11-30 11:30:10
2442
转载 x86_64 函数调用约定
Registers galorex86 has just 8 general-purpose registers available (eax, ebx, ecx, edx, ebp, esp, esi, edi). x64 extended them to 64 bits (prefix "r" instead of "e") and added another 8(r8, r9,
2015-10-14 11:29:42
1043
原创 gobject base class
1. 初始化总结Invocation timeFunction InvokedFunction's parametersRemarkFirst call tog_object_newfor target typetarget type's base_init functionOn the inher
2015-08-31 17:19:00
670
原创 gobject type system
1. Now, let's say we want to call the C function function_foo from a Python program. To do this, the Python interpreter needs to:Find where the function is located. This probably means fin
2015-08-31 16:01:07
485
原创 深入理解linux内核读书笔记(第十二章)
1. VFS是linux的一个专门来处理和文件系统相关的系统调用的软件层。2. VFS支持的文件系统可分为三类: (1) 基于磁盘的文件系统,ext2, ext3, vfat, ntfs, ISO9660, UDF, HFS等。 (2) 网络文件系统, nfs, cifs等 (3)特殊文件系统, proc等3. VFS的思想是引入一种的通用的文件模型,它可以表示所有支持
2015-07-31 16:58:26
747
原创 深入理解linux内核读书笔记(第十章)
1. 在执行系统调用时,内核一般返回0表示成功,负数表示失败。用户态的包装函数将内核返回的错误码取负,设置到errno中。2. 对于没有实现的系统调用,sys_call_table中会存放sys_ni_syscall函数,返回-ENOSYS。3. 进入系统调用有两种方法:(1) int 0x80(2) sysenter 退出也有两种方式: (1) iret
2015-07-30 15:18:42
591
原创 深入理解linux内核读书笔记 (第四章)
1. 中断被分为同步中断和异步中断。同步中断是cpu在执行指令过程中触发的, 异步中断是其他硬件设备在任意时间所引发的。2. 英特尔手册中将同步中断称为异常,异步中断称为中断。3. 中断一般由外部io设备触发,异常一般分为两种:1. 由于程序错误引发。 2. 异常的执行情况或请求,例如页故障和系统调用。4.
2015-06-17 17:33:02
671
原创 深入理解linux内核读书笔记(第三章)
1. 进程是程序执行时的一个实例。2. 从内核的角度看,进程是系统进行资源分配的实体。3. linux 通过轻量级进程来支持多线程应用,每一个轻量级进程对应一个线程。 线程之间共享地址空间,打开的文件等资源,内核对每一个轻量级进程进行单独调度。4. 一个线程组包含了一组线程用来实现多线程应用,对于getpid,kill, _exit等系统调用,线程组作为一个整体。5. 内
2015-06-17 16:14:51
988
原创 The Art Of Unix Programming ---part 1
(i) Make each program do one thing well. To do a new job, build afresh ratherthan complicate old programs by adding new features.(ii) Expect the output of every program to become the input to anot
2015-06-16 16:43:06
696
原创 深入理解linux内核读书笔记(第九章)
1. 内核信赖自己,但是对于用户态的内存请求,内核会做必要的地址检查,然后先给进程分配地址空间(线性地址),真正的物理内存分配推迟到必要的时候才进行。2. 内核使用mm_struct 来描述用户的地址空间信息,所有的mm_struct 是用双向链表连接起来的,相邻的mm_struct 在mmlist域中表示,链表中的第一个元素是init_mm中mmlist指向的进程0的mm_struct。
2015-06-11 16:33:16
855
转载 gimp 常用快捷键
S代表Shift,C代表CTRL。table B.1:The Toolbox FunctionsTool nameKeystrokeFull Pathairbrush aImage:Tools/airbrushBezier Select bImage:Tools/Bezier SelectBlend lImag
2012-07-24 09:52:00
2018
原创 进程调度
进程上下文和中断上下文Besides executing code on behalf of a user program, the kernel can also be activated by asynchronoushardware interrupts, and is then said to run in interrupt context. The main dif
2012-06-07 16:10:37
385
原创 编译gcc时关于工具链的调整
例如:把链接器指向/tools 目录中的版本SPECS=`dirname $(gcc -print-libgcc-file-name)`/specsgcc -dumpspecs | sed \ -e 's@/lib\(64\)\?/ld@/tools&@g' \ -e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" > $SPECS
2012-04-28 09:18:49
470
原创 vim tips
Keyword LookupThe K command is designed to look up the selected text using the “man” command. Itworks just like the normal-mode K command except that it uses the highlighted textas the keyword.
2012-04-23 09:06:23
358
转载 bash 颜色控制
I. ANSI控制码:\e[0m 关闭所有属性\e[1m 粗体\e[4m 下划线\e[5m 闪烁\e[7m 反显\e[8m 消隐\e[22m 非粗体\e[24m 关闭下划线\e[25m
2012-04-20 09:16:32
571
转载 Vim 实用技术,第 3 部分: 定制 Vim
3.1. Vim 脚本基础在 .vimrc 文件中,和在第二章提到的插件和语法文件中,使用的语言就是 Vim 脚本语言。这种脚本语言语法有点像 BASIC,表达式有点像 C,还是比较容易理解的。本章中并不打算对其作很系统的介绍(要完整了解的话,请参见“:help usr_41.txt”),而只是介绍一些基本知识,特别是,了解定制 .vimrc 所需要的基本知识。Vim 脚本相当于可直接在命
2012-04-13 09:23:48
350
转载 Vim 实用技术,第 1 部分: 实用技巧
0. Vim 简介作为开源世界最重要的编辑器之一(另一个是 Emacs),Vim 以其强大的功能和可定制能力被众多开发者所喜爱。不过,也许就是因为 Vim 的功能太强大了,要真正用好 Vim 并不容易。本文作者在多年的实际使用中逐渐掌握了一些实用技术,在此介绍给大家。——本文并不企图对 Vim 作全面而系统的介绍,但也绝非零星地点到即止;而是希望通过介绍一些重要特性和提供相关参考信息,引起大家
2012-04-13 09:17:02
406
转载 Visual Studio TCHAR 对应的函数映射关系
The generic-text routine mappings are defined in TCHAR.H. _tccpy and _tclen map to functions in the MBCS model; they are mapped to macros or inline functions in the SBCS and Unicode models for compl
2012-04-07 08:34:58
838
原创 arm-linux-gcc(4.6.1)交叉编译工具链的建立
本文参考文献:http://cross-lfs.org/view/clfs-sysroot/arm/cross-tools/chapter.htmlhttp://blog.chinaunix.net/uid-436750-id-2123570.html感谢youbest的深刻分析!感谢Google!(额,怎么不感谢百度呢? 你懂的。。。)本文的疏漏和不足之处,还请大家慷慨指出,共同
2012-03-30 17:31:52
3291
原创 移植 u-boot 1.1.6 到 S3C2440 (nand 启动)
移植参考了韦东山编写的《嵌入式linux应用开发完全手册》,这真是一本不错的书!本次移植中因为想从nand启动,就没有修改nor flash的部分. 步骤1.我的开发板取名为s3c2440明,建立与开发板对应的目录和文件,由于s3c2440和smdk2410很相似,就直接复制一份.learnboy@debian:~/project/arm/u-boot-1.1.6$ c
2010-01-26 14:33:00
2913
Learning the bash Shell, Second Edition(英文版)chm
2009-05-04
unix 环境高级编程(英文版)chm
2009-05-04
FreeBSD handbook
2009-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人