![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux kernel
happylife1527
这个作者很懒,什么都没留下…
展开
-
关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结 .
http://blog.csdn.net/summerhust/article/details/7429916关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结一、关于gcc、glibc和binutils模块之间的关系1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编转载 2012-12-06 12:15:43 · 389 阅读 · 0 评论 -
sigterm sigint sigkill 区别 .
http://www.mirecle.com/2010/05/20/sigterm-sigint-sigkill-difference.html我看网上应该有不少搜索这个区别的问题,但是回答的都不全面,其中sigterm与sigint尤其有一点区别比较重要,但大都没有提及,今天我就遇到了这个问题,纠结了20分钟才搞明白咋回事。首先,对于说这几个信号都是终止程序运行的说法不太准确,因为程转载 2012-12-27 15:13:42 · 732 阅读 · 0 评论 -
UNIX SIGTERM等信号意义 .
SIGHUP 终止进程 终端线路挂断SIGINT 终止进程 中断进程SIGQUIT 建立CORE文件终止进程,并且生成core文件SIGILL 建立CORE文件 非法指令SIGTRAP 建立CORE文件 跟踪自陷SIGBUS 建立CORE文件 总线错误SIGSEGV 建立CORE文件转载 2012-12-27 15:17:44 · 2219 阅读 · 0 评论 -
ntohs, ntohl, htons,htonl的比较和详解
ntohs =net to host short int 16位htons=host to net short int 16位ntohs =net to host long int 32位htonl=host to net long int 32位简述: 将一个无符号短整形数从网络字节顺序转换为主机字节顺序。 #include转载 2012-12-27 15:38:34 · 540 阅读 · 0 评论 -
mlock家族:锁定物理内存 .
http://blog.csdn.net/fjt19900921/article/details/8074541锁住内存是为了防止这段内存被操作系统swap掉。并且由于此操作风险高,仅超级用户可以执行。看家族成员: #include int mlock(const void *addr, size_t len); i转载 2012-12-27 20:23:13 · 703 阅读 · 0 评论 -
守护进程(daemon) .
http://blog.csdn.net/gszhy/article/details/84325728.1 守护进程(daemon)介绍守护进程,也称为精灵进程,是一种运行在后台的特殊进程,它不存在控制终端,并周期性地执行某项任务或等待处理某项任务。图8.1所示为使用ps命令查看Linux系统进程的情况。从图中可以看到守护进程的一些特点:所有的守护进程都是以超级用户启转载 2012-12-29 11:29:50 · 644 阅读 · 0 评论 -
linux页面回收浅析
关于页面的使用在之前的一些文章中,我们了解到linux内核会在很多情况下分配页面。1、内核代码可能调用alloc_pages之类的函数,从管理物理页面的伙伴系统(管理区zone上的free_area空闲链表)上直接分配页面(见《linux内核内存管理浅析》)。比如:驱动程序可能用这种方式来分配缓存;创建进程时,内核也是通过这种方式分配连续的两个页面,作为进程的thread_info结构和内转载 2012-12-04 21:34:51 · 316 阅读 · 0 评论 -
linux内存管理浅析
linux内存管理浅析[地址映射](图:左中)linux内核使用页式内存管理,应用程序给出的内存地址是虚拟地址,它需要经过若干级页表一级一级的变换,才变成真正的物理地址。想一下,地址映射还是一件很恐怖的事情。当访问一个由虚拟地址表示的内存空间时,需要先经过若干次的内存访问,得到每一级页表中用于转换的页表项(页表是存放在内存里面的),才能完成映射。也就是说,要实现一次内存访问转载 2012-12-04 21:30:57 · 321 阅读 · 0 评论 -
Linux的分段和分页机制
1 基于80x86的Linux分段机制80386的两种工作模式:80386的工作模式包括实地址模式和虚地址模式(保护模式)。Linux主要工作在保护模式下。在保护模式下,80386虚地址空间可达16K个段,每段大小可变,最大达4GB。逻辑地址到线性地址的转换由80386分段机制管理。段寄存器CS、DS、ES、SS、FS或GS各标识一个段。这些段寄存器作为段选择器,用来选择该段的描述符。转载 2012-12-02 14:14:26 · 429 阅读 · 0 评论 -
linux 进程的pid分配策略——pid位图算法 [转]
在研究进程fork()的时候,这个调用了do_fork(),其中do_fork()又涉及到进程的pid分配,这个东西的源代码有许多个版本,而且各自都不是一样的。昨天晚上研究了一晚上,今天从下午研究到现在,总算把内核中pid位图算法有一个整体的把握了。明天早上继续完成这篇博客,现在小小的庆祝一下,明天完成。 首先我们先看一个程序,这个程序是我从网上找的,这个程序的主要部分也是内核中的代码,转载 2012-11-28 21:45:14 · 690 阅读 · 0 评论 -
linux内核-分配PID位图算法
linux内核-分配PID位图算法:在linux中(kernel/pid.c),提供了一种生成唯一PID的机制,用到一种位图算法。什么是位图算法:它的特点是生成的是整数,而且是唯一的,限定在某个范围内。内核既要分配唯一的pid还要对已经分好的pid进行跟踪,内核使用了一个大的位图,其中每个pid由一个比特标识。分配一个空闲的pid,本质上等同于找出位图中第一个值为0的比特,接下来将转载 2012-11-28 21:52:10 · 560 阅读 · 0 评论 -
进程创建之dofork->copy_process()
/* * This creates a new process as a copy of the old one, * but does not actually start it yet. * * It copies the registers, and all the appropriate * parts of the process environment (转载 2012-11-28 22:56:01 · 622 阅读 · 0 评论 -
内核进程创建之分配task_struct(do_fork->copy_process->dup_task_struct())
"code" class="cpp">static struct task_struct *dup_task_struct(struct task_struct *orig) { struct task_struct *tsk; //sizeof(task_struct) = 3236;这个值是通过gdb得到的,转载 2012-11-28 23:00:59 · 633 阅读 · 0 评论 -
图解 Linux 内存管理 -- 高端内存的映射方式 .
http://blog.csdn.net/rstevens/article/details/1764182Linux 内存管理 -- 高端内存的映射方式版权申明高端内存是指物理地址大于 896M 的内存。对于这样的内存,无法在“内核直接映射空间”进行映射。为什么?因为“内核直接映射空间”最多只能从 3G 到 4G,只能直接映射 1G 物理内存,对于大于转载 2012-11-16 22:53:30 · 533 阅读 · 0 评论 -
Linux 2.4调度系统分析 .
http://blog.csdn.net/rstevens/article/details/1798633转自: http://www.ibm.com/developerworks/cn/linux/kernel/l-k24sch/Linux 2.4调度系统分析杨沙洲 (pubb@163.net)国防科技大学计算机学院2004 年 3 月 09 日本文详尽地分析了Linux 2转载 2012-11-16 22:59:25 · 701 阅读 · 0 评论 -
slab分配器
http://www.cnblogs.com/ggzwtj/archive/2011/08/11/2135348.htmlhttp://www.cnblogs.com/ggzwtj/archive/2011/08/12/2136027.html为什么要用slab分配器?程序运行的很多时候并不是去分配一下大的内存,比如task_struct这样的小的结构,如果用伙伴系统来管理者部分的转载 2012-12-01 11:40:32 · 642 阅读 · 0 评论 -
Ext文件系统
http://www.cnblogs.com/ggzwtj/archive/2011/10/28/2224988.html1、数据的存储 虽然从Ext2到Ext4,找数据的方式发生了变化,但是,磁盘的布局还是非常相似的。其实这个东西也不需要变化,因为现在也没什么特别巧妙的方式,而且磁盘的吞吐量、效率的瓶颈也不在这里。当然,这里排除那些根据自身文件特点设计的数据库,毕竟还是为了支持通用文件转载 2012-12-01 17:27:12 · 581 阅读 · 0 评论 -
Linux系统调用 .
http://blog.csdn.net/gingerredjade/article/details/8284533目录:1. Linux系统调用原理2. 系统调用的实现3. Linux系统调用分类及列表4.系统调用、用户编程接口(API)、系统命令和内核函数的关系5. Linux系统调用实例6. Linux自定义系统调用转载 2012-12-29 11:30:33 · 749 阅读 · 0 评论