自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ctthuangcheng

自学成才。。。。加油!

原创 proc文件系统

一:proc文件系统: (1)proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。(2)简要介绍其下文件:/proc/cpuinfo  cpu信息/p...

2013-05-31 09:49:05

阅读数 1362

评论数 0

原创 C++注意小知识点

2013-05-29 14:42:48

阅读数 1305

评论数 0

原创 shell脚本图书

《高级Bash脚本编程指南》《Linux命令行和Shell脚本编程》Linux与UNIX Shell编程指南--------------------已看!unix shell编程(第三版)Shell十三问实战LINUX+SHELL编程与服务器管理linuxsir的shell脚本赏析shell脚本学...

2013-05-29 11:17:09

阅读数 1289

评论数 1

原创 free 与 delete

1. delete 用于释放 new 分配的空间,free 有用释放 malloc 分配的空间2. delete [] 用于释放 new [] 分配的空间3. delete 释放空间的时候会调用 相应对象的析构函数     顺便说一下new在分配空间的时候同时会调用对象的构造函数,对对象进行初始化...

2013-05-24 00:34:15

阅读数 1150

评论数 0

原创 C++11 中值得关注的几大变化

参考:http://zh.wikipedia.org/wiki/C%2B%2B11Lambda 表达式Lambda表达式来源于函数式编程,说白就了就是在使用的地方定义函数,有的语言叫“闭包”,如果 lambda 函数没有传回值(例如 void ),其回返类型可被完全忽略。 定义在与 lambda ...

2013-05-24 00:26:07

阅读数 1268

评论数 0

原创 C++11 多线程

[cpp] view plaincopyprint?#include    #include    #include    #include    #include    #include          using namespace std;  map g_pages;  mutex g_p...

2013-05-24 00:24:22

阅读数 1238

评论数 0

原创 C++11 多线程

C++11开始支持多线程编程,之前多线程编程都需要系统的支持,在不同的系统下创建线程需要不同的API如pthread_create(),Createthread(),beginthread()等,使用起来都比较复杂,C++11提供了新头文件、、、等用于支持多线程。使用C++11开启一个线程是比较简...

2013-05-24 00:13:23

阅读数 1927

评论数 0

原创 linux core文件设置

在Linux中,一般当进程非正常退出时,会生成一个core文件,这个文件是进程猝死时内存的转储文件,也称为core dump。查看Linux脚本解析方式:   echo $0  1.检验core是否打开以see/see登录  csh:  limit;    coredumpsize = 0 , 说...

2013-05-23 09:51:36

阅读数 5039

评论数 0

原创 图书收集

java图书:《Java 2 核心技术》、2.《Java编程语言》、3.《Effective Java》、4.《Java解惑》、5.《Java编程思想》c语言图书:1.《C程序设计语言》、2.《C和指针》、3.《C陷阱与缺陷》、4.《C专家编程》、5.《你必须知道的495个C语言问题》C++图书:...

2013-05-22 16:04:23

阅读数 1398

评论数 0

原创 华为内部面试题库---(22)

1、以下4种64位架构中,与其他3种不一致的是?(B)A.Intel 64B.IA64C.AMD 64D.IA32_64解析:Intel 64等同于IA32_64,和AMD64一样都是在IA32基础上通过扩展内存技术实现的64位;兼容IA32的软件。IA64是Intel安腾系列处理器的架构名称,是...

2013-05-20 13:29:08

阅读数 1430

评论数 0

原创 华为内部面试题库---(21)

1. Linux内核引导过程,正确包括以下:ABCDA.CPU自身初始化B.BIOS加电自检C.加载内核引导程序D.加载内核与initrd解析:X86系统引导系统如下:Linux内核自上电后,正确包括:CPU自身初始化,bios加电自检,加载内核引导程序,加载内核与initrd。 2.有关Linu...

2013-05-20 13:05:06

阅读数 1394

评论数 0

原创 华为内部面试题库---(20)

1. 最新linux内核对普通进程使用的调度算法是(C) //http://www.ibm.com/developerworks/cn/linux/l-cn-scheduler/index.htmlA O(N)B O(1)C CFSD BFS2. 下面对linux进程调度说法错误的是(A) //深...

2013-05-20 13:04:11

阅读数 1301

评论数 0

原创 华为内部面试题库---(19)

1. 在Linux操作系统中,以Ext文件系统为例,下列那个数据结构在磁盘上没有对应的项:(《深入理解Linux内核》P461-480)A、inode;B、dentry;C、super_block;D、ext_dir_entry。答案:B。解释:dentry是Linux VFS方便查找引入的内存数...

2013-05-20 11:53:58

阅读数 1683

评论数 0

原创 华为内部面试题库---(18)

1、关于伙伴算法,下列说法正确的是(单选):(《深入理解linux内核》P303-P313)A、伙伴算法会造成内部碎片B、alloc_pages(gfp_mask, order)返回第一个所分配页框的线性地址C、只要内存足够,可以使用伙伴算法分配任意大小的内存D、称为伙伴的两个块要求大小相同,且物...

2013-05-20 11:50:42

阅读数 1382

评论数 1

原创 华为内部面试题库---(17)

1、分页映射是内存管理最重要的技术之一,以下说法错误有(多选):(《深入理解LINUX内核》第二章)A、通过分页映射,MMU在每次访问时都需要经过特权级、权限等检查,防止访问不该访问的内容,达到保护的作用B、通过分页映射,MMU将线性地址转换为物理地址C、通过分页映射,MMU将虚拟地址转换为线性地...

2013-05-20 11:48:30

阅读数 1519

评论数 0

原创 华为内部面试题库---(16)

1.内核对磁盘数据的高速缓存有:(多选)A.目录项高速缓存B.页高速缓存C.索引节点高速缓存D.超级块高速缓存参考答案:ABC   分析:磁盘高速缓存有三种:目录项高速缓存,页高速缓存与索引节点高速缓存,内核会把磁盘上的超级块以读出,以VFS超级块的方式存储在内存中,不存在超级块高速缓存。  参考...

2013-05-20 11:38:38

阅读数 1441

评论数 0

原创 华为内部面试题库---(15)

1、 以下属于内核同步机制的是(多选)A. 信号量B. spinlockC. RCUD. seqlockE. 原子操作参考答案:ABCDE  解析:Linux内核的信号量在概念和原理上与用户态的System V的IPC机制信号量是一样的,但是它绝不可能在内核之外使用。信号量在创建时需要设置一个初始...

2013-05-20 11:33:32

阅读数 1706

评论数 0

原创 华为内部面试题库---(14)

1、 关于虚拟地址空间的说法错误的是()A.     进程地址空间是用多少分配多少,4G仅仅是最大限额B.     进程的地址空间并不一定对应实际的物理页C.     不同进程的不同虚拟地址可以映射到相同的物理页D.     不同进程的相同虚拟地址不能映射到相同的物理页解答:D 2、 关于mmap...

2013-05-20 11:31:10

阅读数 1183

评论数 0

原创 华为内部面试题库---(13)

1.低速系统调用是可能会使进程永远阻塞的一类系统调用,包括下列哪些调用(多选):(参考:UNIX环境高级编程,第2版,第14章,高级I/O,14.2小节)A.如果某些文件类型(例如管道、终端设备和网络设备)的数据并不存在,则读操作可能会使调用者永远阻塞B.如果数据不能立即被上述同样类型的文件接受(...

2013-05-20 11:29:01

阅读数 1284

评论数 0

原创 华为内部面试题库---(12)

1.关于可用的IO函数,说法错误的是:(参考:UNIX环境高级编程,第2版,第3章,文件I/O,3.3 3.4 3.6 3.7小节)A.调用open函数只能打开一个文件B.调用creat函数可以创建一个新文件C.可以调用lseek显式地为一个打开的文件设置其偏移量D.调用read函数从打开文件中读...

2013-05-20 11:27:18

阅读数 1228

评论数 0

原创 华为内部面试题库---(11)

1.关于I/O的体系结构说法错误的是(单选):(参考:深入理解LINUX内核,第三版,第十三章,I/O体系结构和设备驱动程序,I/O体系结构小节)A.PC的I/O体系结构包含的硬件组织层次:I/O端口、接口和设备控制器B.在I/O端口中,可以把两个连续的8位端口看成一个16位端口,但是这必须从偶数...

2013-05-20 11:25:18

阅读数 1185

评论数 0

原创 华为内部面试题库---(10)

1. 对于linux内核信号量,说法正确的是(多选):(参考:Linux内核设计与实现,第二版,第9章,9.4小节)A. 如果获取一个被占用的信号量,任务会睡眠,等待信号量释放之后,该任务才能重新获得调度B. 信号量可以允许任意数量的锁持有者C. 信号量保护的代码可以被抢占D. 信号量的实现也是与...

2013-05-20 11:22:15

阅读数 1245

评论数 0

原创 华为内部面试题库---(9)

1.spinlock可通过配置选项CONFIG_DEBUG_SPINLOCK来打开内核编译选项,进行自旋锁调试,作用有(多选):(参考:Linux内核设计与实现,第二版,第9章,9.2节)A. 内核会检查是否使用了为初始化的锁B. 内核会检测潜在的死锁C. 检测是否在没有加锁的情况下对锁执行开锁操...

2013-05-20 11:19:35

阅读数 1121

评论数 0

原创 华为内部面试题库---(8)

1、内核中有可能造成并发执行的原因(多选):(参考:Linux内核设计与实现,第二版,第8章)A、中断B、软中断和taskletC、工作队列(注意工作队列、软中断和tasklet的原理)D、睡眠以及与用户空间同步E、内核抢占F、对称多处理答案:A、B、D、E、F试题解析:在一台运行 Linux 的...

2013-05-20 11:14:46

阅读数 1282

评论数 0

原创 华为内部面试题库---(7)

1、以下四种Cache映射方式中,哪一种是不正确的?A.直接映射B.全相联映射C.块相联映射D.组相联映射答案:Chttp://wenku.baidu.com/view/b353051e650e52ea55189811.html 2、以下关于Cache映射方式的解释,错误的是?A.全相联映射即主存...

2013-05-20 11:12:45

阅读数 1297

评论数 0

原创 华为内部面试题库---(6)

1.在SMP体系结构中,中断亲和性是指将一个或者多个中断绑定到特定CPU core上运行,下列说法错误的是:A.每个硬件设备都会在/proc/irq下有个中断号命令的目录来标志中断亲和性B.IRQ#目录下smp_affinity文件,通过设置CPU位掩码,把相应中断绑定到不同CPU处理C.修改sm...

2013-05-20 11:06:53

阅读数 1294

评论数 0

原创 华为内部面试题库---(5)

1、分时操作系统与实时操作系统最本质的区别是:  A   处理逻辑的正确性  B   得出结果的时间的确定性   C   关注系统吞吐率,平均响应时间  D   其他 答案:B 试题解析:出处:http://www.360doc.com/content/11/0321/16/507...

2013-05-20 10:57:34

阅读数 1305

评论数 0

原创 华为内部面试题库---(4)

1、在OSI参考模型中,实现端到端的应答、分组排序和流量控制功能的协议层是 _____ 。 A.数据链路层    B.网络层    C.传输层    D.会话层 答案:C     此题主要考查了ISO OSI/RM体系结构中各层的主要功能。     物理层:物理层主要是设计处理机械的、电气...

2013-05-20 10:54:30

阅读数 1439

评论数 0

原创 华为内部面试题库---(3)

1、NUMA系统中,各个节点间的距离由下列哪个数据结构获取() A、SRAT B、SLIT C、e820图 D、bootmem_data 答:选B      Linux 对 NUMA 系统的物理内存分布信息是从系统 firmware 的 ACPI 表中获得的,最重要的是 SRA...

2013-05-20 10:50:53

阅读数 1343

评论数 0

原创 华为内部面试题库---(2)

1.在分页存储管理系统中,从页号到物理块号的地址映射是通过(  )实现的。 A.段表  B.页表    C.PCB    D.JCB 答案:B      用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等,可将用户程...

2013-05-20 10:44:42

阅读数 1533

评论数 0

原创 华为内部面试题库---(1)

1.启动init进程前,不需要经过()步骤。 A.加载内核 B.检测内存 C.加载文件系统 D.启动网络支持 答案:D Linux启动过程可以分为以下几个步骤: 1 BIOS自检。即进行所谓的POST(Power On SelfTest),然后根据BIOS内设置的引导顺序从硬盘、软盘...

2013-05-20 10:24:57

阅读数 1808

评论数 0

原创 linux内核中:likely和unlikely函数

内核源码:linux-2.6.38.8.tar.bz2     参考文档:http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/Other-Builtins.html#Other-Builtins        在Linux内核中likely和unlikel...

2013-05-17 15:25:01

阅读数 1660

评论数 0

转载 在C/C++程序里打印调用栈信息

我们知道,GDB的backtrace命令可以查看堆栈信息。但很多时候,GDB根本用不上。比如说,在线上环境中可能没有GDB,即使有,也不太可能让我们直接在上面调试。如果能让程序自己输出调用栈,那是最好不过了。本文介绍和调用椎栈相关的几个函数。   NAME        ba...

2013-05-14 16:56:18

阅读数 6930

评论数 0

转载 backtrace-----打印进程异常退出时的堆栈信息

#include #include "debug_trace.h" #define TRACE_SIZE 1024 static void trace_print(int signal_type) { int trace_id = -1; vo...

2013-05-14 16:46:30

阅读数 2004

评论数 0

转载 linux内存管理概述

linux内存管理建立在基本的分页机制基础上,在linux内核中RAM的某些部分将会永久的分配给内核,并用来存放内核代码以及静态内核数据结构。RAM的其余部分称为动态内存,这不仅是进程所需的宝贵资源,也是内核本身所需的宝贵资源。实际上,整个系统的性能取决于如何有效地管理动态内存。因此,现在所有多任...

2013-05-14 16:15:34

阅读数 1380

评论数 0

转载 CFS 调度器学习笔记

http://blog.csdn.net/peimichael/article/details/5218335

2013-05-14 14:46:45

阅读数 1191

评论数 0

转载 CFS进程调度

一、概述 linux 2.6.23中采用了一个全新的调度策略CFS(Completely Fair Scheduler)来处理非实时进程。 二、主要数据结构 1.为了和原先的实时策略更好的融合,linux在实现CFS之余,还将内核的调度策略模块化,添加了新的结构体sched_class用...

2013-05-14 14:43:22

阅读数 1703

评论数 0

转载 GCC编译之如何控制共享文件导出符号

背景 前不久在调试一个与导出符号相关的bug,问题大概如此: 模块A.so在堆上构造了一个对象即 CTest *one = new CTest; , CTest在A.so定义,后来使用one->AMemFunc();,即调用一个成员函数时崩溃。原来在另一个模块B.so(比A.so先加载)...

2013-05-14 11:07:16

阅读数 1356

评论数 0

原创 Ubuntu10.04下Linux内核编译的完整步骤

1、在http://www.kernel.org/上下载最新的内核源代码linux-2.6.33.1.tar.bz2,放在/huangcheng/Linux内核 目录下,huangcheng是Linux OS的第一个用户名。 2、进入Linux内核源码所在的目录(cd Linux内核),解压该内核...

2013-05-12 03:13:17

阅读数 1518

评论数 0

原创 浅尝异步IO

关于异步IO 记得几年前使用MFC编程的时候,曾经使用过windows的异步socket。 当在socket句柄上设置好关心的事件(如,可读、可写)后,如果事件发生,则指定的窗口会收到一个指定的消息。 int WSAAsyncSelect(SOCKET s, HWND hWnd, uns...

2013-05-12 02:50:54

阅读数 1382

评论数 0

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