<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jsw_4的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jsw_4</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jsw_4]]></copyright><item><title><![CDATA[匿名 Namespace和static 的区别]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/42527263</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/42527263</guid><author>jsw_4</author><pubDate>Thu, 08 Jan 2015 17:17:29 +0800</pubDate><description><![CDATA[原文链接：http://www.cnblogs.com/JefferyZhou/archive/2012/09/24/2700306.html

C++的链接性质，也就是translation unit的作用范围。

在C中，给全局变量，函数，加上 static，表示当前函数和变量的linkage 为 internal,这样，就可以在不同的unit 中定义同名的函数和变量了。但是，加了st]]></description><category></category></item><item><title><![CDATA[linux下编译c或c++]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/42262157</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/42262157</guid><author>jsw_4</author><pubDate>Tue, 30 Dec 2014 09:52:39 +0800</pubDate><description><![CDATA[一、gcc和g++
1、最简单的编译
 
gcc编译c程序：
gcc -c test.c
gcc -o test test.o


 

g++编译c++程序：

g++ -c test.cpp

g++ -o testpp test.o

 

gcc与g++

g++和gcc的区别是会在c++程序链接时，自动引用c++库，而gcc不会。

 

]]></description><category></category></item><item><title><![CDATA[移植sbull至kernel version > 2.6.31]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/42083041</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/42083041</guid><author>jsw_4</author><pubDate>Mon, 22 Dec 2014 18:02:09 +0800</pubDate><description><![CDATA[最近在看LDD3和ULK，学习kernel中块设备的驱动机制，kernel 2.6中block layer API已经变更了许多，主要有以下几点：




1. 对于request的请求处理机制，去除掉了原先的elv_next_request和blk_dequeue_request结构，取而代之的是blk_peek_request和blk_start_request，详见如下链接(htt]]></description><category></category></item><item><title><![CDATA[linux 内核定时器 timer_list详解]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/42082737</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/42082737</guid><author>jsw_4</author><pubDate>Mon, 22 Dec 2014 17:37:02 +0800</pubDate><description><![CDATA[http://www.linux-cn.com/html/linux/kernel/20070412/1886.shtml
  http://linux.ccidnet.com/art/741/20061116/952655_1.html
Linux内核2.4版中去掉了老版本内核中的静态定时器机制，而只留下动态定时器。相应地在timer_bh()函数中也不再通
过run_old_timers]]></description><category></category></item><item><title><![CDATA[grub2无法启动系统]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/42029811</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/42029811</guid><author>jsw_4</author><pubDate>Fri, 19 Dec 2014 17:10:24 +0800</pubDate><description><![CDATA[今天让内核panic来产生vmcore文件时，使操作系统无法正常启动。以下是自救方法，特此记录。
1. 使用centos系统光盘挽救模式启动,然后使用以下命令成功使linux系统可以正常启动：
2. chroot  /mnt/sysimage  #根据提示chroot到指定目录
3. grub2-mkconfig  -o  /boot/grub2/grub.cfg  #重新生成以下grub2]]></description><category></category></item><item><title><![CDATA[kernel vmcore调试环境搭建步骤]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/42029111</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/42029111</guid><author>jsw_4</author><pubDate>Fri, 19 Dec 2014 16:11:27 +0800</pubDate><description><![CDATA[1. 在http://debuginfo.centos.org/网站找到kernel对应的debuginfo以及
debuginfo-common rpm包。这两个rpm包是包含debug符号表的kernel镜像。


2. 安装这两个包.注意，由于依赖关系，首先安装common包。
rpm -ivh kernel-debuginfo-common-x86_64-3.10.0-123.9]]></description><category></category></item><item><title><![CDATA[centos获取内核源码，编译内核，编译内核模块]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/42028081</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/42028081</guid><author>jsw_4</author><pubDate>Fri, 19 Dec 2014 14:39:29 +0800</pubDate><description><![CDATA[http://wiki.centos.org/zh/HowTos/I_need_the_Kernel_Source



http://wiki.centos.org/zh/HowTos/Custom_Kernel



http://wiki.centos.org/zh/HowTos/BuildingKernelModules]]></description><category></category></item><item><title><![CDATA[Linux内核补丁与patch/diff使用详解]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/42028003</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/42028003</guid><author>jsw_4</author><pubDate>Fri, 19 Dec 2014 14:35:07 +0800</pubDate><description><![CDATA[转发自：http://blog.chinaunix.net/uid-7295895-id-2230796.html

注意下述内容部分不能应用到3.x系列内核。







一、Linux内核版本类型及patch简介：
1) 2.6.x为基础版本，patch位置：
   http://www.kernel.org/pub/linux/kernel/v2.6/  
  ]]></description><category></category></item><item><title><![CDATA[怎样为内核打补丁]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/42027017</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/42027017</guid><author>jsw_4</author><pubDate>Fri, 19 Dec 2014 13:16:13 +0800</pubDate><description><![CDATA[转发自：http://blog.chinaunix.net/uid-705824-id-2679556.html




校对完了，终于可以贴出来了。其间和作者Jesper Juhl商谈了好几个回合，得到了他的热心帮助，在此表示感谢！

 


                           怎样为Linux内核打补丁
                         ]]></description><category></category></item><item><title><![CDATA[lvm管理相关-基础命令]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/41984581</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/41984581</guid><author>jsw_4</author><pubDate>Wed, 17 Dec 2014 17:42:08 +0800</pubDate><description><![CDATA[LVM简介

LVM是逻辑盘卷管理（Logical Volume Manager）的简称,它是一种磁盘管理工具，最主要的功能就是可以随时在线调整分区的大小，解决了安装Linux系统时需要评估分区大小的烦恼。

LVM相关术语

物理存储介质（The physical media）
这里指系统的存储设备：硬盘，如：/dev/hda1、/dev/sda等等，是存储系统最低层的存储单元。]]></description><category></category></item><item><title><![CDATA[帧栈]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/41896835</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/41896835</guid><author>jsw_4</author><pubDate>Fri, 12 Dec 2014 17:27:15 +0800</pubDate><description><![CDATA[转发：http://blog.youkuaiyun.com/yxysdcl/article/details/5569351




首先应该明白，栈是从高地址向低地址延伸的。每个函数的每次调用，都有它自己独立的一个栈帧，这个栈帧中维持着所需要的各种信息。寄存器ebp指向当前的栈帧的底部（高地址），寄存器esp指向当前的栈帧的顶部（地址地）。下图为典型的存取器安排，观察栈在其中的位置



 ]]></description><category></category></item><item><title><![CDATA[块设备入门]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/41868123</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/41868123</guid><author>jsw_4</author><pubDate>Thu, 11 Dec 2014 16:05:19 +0800</pubDate><description><![CDATA[转载自：http://hbhuanggang.cublog.cn

一、开发环境


主  机：VMWare--Fedora 9
开发板：Mini2440--64MB Nand, Kernel:2.6.30.4
编译器：arm-linux-gcc-4.3.2

二、块设备基本概念


扇区(Sectors)：任何块设备硬件对数据处理的基本单位。通常，1个扇区的大小为512b]]></description><category></category></item><item><title><![CDATA[走马观花： Linux 系统调用 open 七日游（七）]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/41865815</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/41865815</guid><author>jsw_4</author><pubDate>Thu, 11 Dec 2014 14:03:49 +0800</pubDate><description><![CDATA[【场景三】open(pathname, O_WRONLY | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR)
    在这个场景中我们希望创建一个新文件（O_CREAT），并赋予该文件用户可读（S_IRUSR）和用户可写（S_IWUSR）的权限，然后以只写（O_WRONLY）的方式打开这个文件。O_EXCL 在这里保证该文件必须被创建，如果该文件已经存在则失败返回。
]]></description><category></category></item><item><title><![CDATA[走马观花： Linux 系统调用 open 七日游（六）]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/41865797</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/41865797</guid><author>jsw_4</author><pubDate>Thu, 11 Dec 2014 14:02:47 +0800</pubDate><description><![CDATA[还记得在上一个场景中，build_open_flags 里面有一个对标志位 O_PATH 的判断么？现在我们就来看看这个标志位是干啥的：
【场景二】open(pathname, O_PATH)
    这个 O_PATH 似乎是不常用的，咱们先看看它的使用说明：
【open(2)】http://man7.org/linux/man-pages/man2/open.2.html



]]></description><category></category></item><item><title><![CDATA[走马观花： Linux 系统调用 open 七日游（五）]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/41865769</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/41865769</guid><author>jsw_4</author><pubDate>Thu, 11 Dec 2014 14:01:07 +0800</pubDate><description><![CDATA[回到 path_openat：

【fs/namei.c】sys_open >
 do_sys_open > do_filp_open > path_openat



点击(此处)折叠或打开



  ...


    error = do_last(nd, &path, file, op, &opened, pathname);

    while (unl]]></description><category></category></item><item><title><![CDATA[走马观花： Linux 系统调用 open 七日游（四）]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/41865739</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/41865739</guid><author>jsw_4</author><pubDate>Thu, 11 Dec 2014 13:59:38 +0800</pubDate><description><![CDATA[现在，我们的“路径行走”只剩下最后一个小问题需要处理了——符号链接。

【fs/namei.c】sys_open > do_sys_open > do_filp_open > path_openat > link_path_walk



点击(此处)折叠或打开



  ...


        if (err) {

            err = nest]]></description><category></category></item><item><title><![CDATA[走马观花： Linux 系统调用 open 七日游（三）]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/41865713</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/41865713</guid><author>jsw_4</author><pubDate>Thu, 11 Dec 2014 13:58:00 +0800</pubDate><description><![CDATA[接着上回，当对“.”和“..”处理完成后就直接返回进入下一个子路径循环了，但如果当前子路径不是“.”或“..”呢？

【fs/namei.c】sys_open >
 do_sys_open > do_filp_open > path_openat > link_path_walk
 > walk_component




点击(此处)折叠或打开



  ...

]]></description><category></category></item><item><title><![CDATA[走马观花： Linux 系统调用 open 七日游（二）]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/41865693</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/41865693</guid><author>jsw_4</author><pubDate>Thu, 11 Dec 2014 13:56:53 +0800</pubDate><description><![CDATA[接着昨日的旅程，我们应该开始处理具体的子路径了：
【fs/namei.c】sys_open->do_sys_open->do_filp_open->path_openat->link_path_walk



点击(此处)折叠或打开



  ...


        err = walk_component(nd, &next, LOOKUP_FOLLOW);

 ]]></description><category></category></item><item><title><![CDATA[走马观花： Linux 系统调用 open 七日游（一）]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/41865661</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/41865661</guid><author>jsw_4</author><pubDate>Thu, 11 Dec 2014 13:54:42 +0800</pubDate><description><![CDATA[转载自：http://blog.chinaunix.net/uid-20522771-id-4419666.html





    友情提示：您需要一个 kernel 3.15.6，下载地址：https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.15.6.tar.xz
    我们将以 Linux 系统调用 open 为主线，参]]></description><category></category></item><item><title><![CDATA[sysctl中文手册]]></title><link>https://blog.youkuaiyun.com/jsw_4/article/details/41845271</link><guid>https://blog.youkuaiyun.com/jsw_4/article/details/41845271</guid><author>jsw_4</author><pubDate>Wed, 10 Dec 2014 13:54:08 +0800</pubDate><description><![CDATA[SYSCTL(8)                    System Administration                   SYSCTL(8)

名字
       sysctl - 在运行时配置内核参数

语法
       sysctl [options] [variable[=value]] [...]
       sysctl -p [file or regexp] [..]]></description><category></category></item></channel></rss>