linux内核详解
文章平均质量分 78
hanzy0823
这个作者很懒,什么都没留下…
展开
-
linux内核-内核同步
内核抢占:如果进程正执行内核函数时,即他在内核态运行,允许发生内核切换,那么这个内核是抢占的。 无论是在抢占或者是非抢占内核中,运行在内核中的进程都可以放弃cpu,比如其原因是,进程由于等待资源而不得不转入睡眠状态。我们把这种进程切换叫做计划性进程切换。但是,抢占内核在响应引起进程切换的异步事件的方式上与非抢占内核是有差别的,我们将把这种进程叫做强制性进程切换。 所有的进程切换都由宏switc原创 2013-09-30 14:45:23 · 707 阅读 · 0 评论 -
linux内核软中断及tasklet
在内核执行的几个任务之间有些是不紧急的:在必要情况下他们可以延迟一段时间。一个中断服务程序的几个中断服务例程之间是串行执行的,并且通常在一个中断处理程序结束前,不应该再出现这个中断。相反,可延迟中断可以在开中断的情况下执行。把可延迟的中断从中断处理程序中抽取出来,有助于使内核保持较短的响应时间。 软中断和tasklet有密切关系,tasklet是在软中断之上实现。事实上,出现在内核代码中的术语软原创 2013-10-04 23:16:00 · 972 阅读 · 0 评论 -
linux内核——进程地址空间
内核的函数以相当直接了当的方式直接获得动态内存,这是因为: 1、内核是操作系统中优先级最高的成分,如果某个内核函数请求动态内存,那么,必定有正当的理由发出那个请求,因此没有道理推迟这个请求。 2、内核信任自己。所有的内核函数假定是没有错的。 当给用户态进程分配内存时情况完全不一样: 1、进程对动态内存的请求被认为不是紧迫的,例如,当进程的可执行文件被装入时,进程并不一定立即对又有的代码页进原创 2013-10-06 10:19:17 · 991 阅读 · 0 评论 -
linux系统启动过程
第一阶段:BIOS启动过程 1、对计算机硬件进行一系列的测试,通常称为加电自检。 2、初始化硬件设备,这对现代基于pci的体系结构是相当重要的,它可以保证所有的硬件设备不会引起IRQ线和I/O端口冲突。 3、搜索一个操作系统启动。实际上,根据BIOS的设置,这个过程可能要试图访问系统中的引导扇区。 4、只要找到一个有效的设备,就把第一扇区的内容拷贝到RAM中从物理地址0x00007c00开原创 2013-10-06 14:16:38 · 715 阅读 · 0 评论 -
linux内核-内存管理
intel的pentium处理器采用的是两种不同大小的页框:4KB和4MB,linux采用4kB页框大小作为标准内存分配单元。主要是因为: 1、由分页单元引起的缺页异常很容易得到解释,或者是由于请求的页存在单不允许进程对其访问,或者是由于请求的页不存在,在第二种情况下,内存分配器必须找到一个4KB的空闲页框,并将其分配给进程。 2、虽然4KB和4MB都是磁盘快的大小的倍数,但是在绝大多数情况下原创 2013-10-05 17:02:32 · 805 阅读 · 0 评论 -
linux内核-信号
信号是很短的消息,可以被发送到一个进程或一组进程组。发送给进程的唯一信息通常是一个数,一次来标识信号。使用信号的两个主要目的是: 让进程知道已经发生了一个特定的事件; 强迫进程执行他自己代码中的信号处理程序。 信号的一个重要特点是他们可以随时发送给状态经常不可预知的进程。发送给非运行进程的信号必须由内核保存,直到进程恢复执行。阻塞一个信号要求信号的传递拖延,知道随后解除阻塞,这使得信号产生一原创 2013-10-02 23:04:16 · 642 阅读 · 0 评论 -
linux内核-进程调度
调度策略 linux调度基于分时技术:多个进程“时间多路复用”方式运行,因为cpu的时间被分成片,每个可运行进程分配一片。单处理机在任何时刻只能运行一个进程。如果当前运行的时间片到期,进程还没运行完毕,进程切换就发生。调度策略也是根据进程优先级对它们分类。有事复杂的算法求出进程当前的优先级,单最后的结果是相同的:每个进程都与一个值关联,这个值表示进程如何适当的分配给cpu。 在Linux中,进原创 2013-10-02 19:53:05 · 954 阅读 · 0 评论 -
linux内核-中断和异常
中断通常定义为一个事件,该事件改变处理器执行的指令顺序。这个事件与cpu芯片内外部硬件电路产生的电信号相对应。 同步中断:当前指令执行时的有cpu控制单元产生的,之所以成为同步,是因为只有在一条指令结束后才会发出中断。 异步中断:由其他硬件设备依照cpu时钟信号随机产生的。 同步中断和异步中断通常成为异常和中断,异常是有程序的错误产生的,或者是又内核必须处理的异常条件产生的。第一种情况下,内原创 2013-09-30 10:02:30 · 1212 阅读 · 0 评论 -
linux内核-进程
进程是多道程序设计系统的操作系统的基本概念,通常把进程定义为一个程序的执行实例。 进程 程序在一个数据实例上的一次执行过程,资源分配的基本单位 轻量级进程 在计算机操作系统中,轻量级进程(LWP)是一种实现多任务的方法。与普通进程相比,LWP与其他进程共享所有(或大部分)它的逻辑地址空间和系统资源;与线程相比,LWP有它自己的进程标识符,优先级,状态,以及栈和局部存储区,并和其他进程有着父原创 2013-09-29 16:20:21 · 814 阅读 · 0 评论 -
linux内核-内存寻址
内存地址 程序员偶尔会引用内存地址作为访问内存单元的一种方式,但是,使用X86处理器时,我们必须区分以下三种不同的地址: 逻辑地址:每一个逻辑地址都是由一个段和偏移量组成,偏移量指明了从段开始的地方到实际地址之间的距离。 线性地址:也称虚拟地址,是一个32位无符号整数,可以用来表示4GB的地址,值范围从0x00000000到0xffffffff。 物理地址:用于芯片级单元寻址。它们与微处理原创 2013-09-29 10:15:00 · 1043 阅读 · 0 评论