
linux内核
西门仙忍
从事数据库领域8年
展开
-
浅析 Linux 中的时间编程和实现原理,第 3 部分: Linux 内核的工作
引子 时间系统的工作需要软硬件以及操作系统的互相协作,在上一部分,我们已经看到大多数时间函数都依赖内核系统调用,GlibC 仅仅做了一次请求的转发。因此必须深入内核代码以便了解更多的细节。 内核自身的正常运行也依赖于时钟系统。Linux 是一个典型的分时系统,CPU 时间被分成多个时间片,这是多任务实现的基础。Linux 内核依赖 tick,即时钟中断来进行分时。 为了满足应用和转载 2014-11-17 10:34:45 · 495 阅读 · 0 评论 -
Linux 内核中大页的实现与分析
介绍 本文介绍了 Linux 操作系统中大页的实现。分别从 memory 层、文件系统层、libhugetlbfs,以及用户如何使用大页等这几个方面进行了分析和介绍。让您更好的了解 大页在内核的实现机制以及用户使用方法。 大页主要是为了用户使用大量的内存时提供优化的方法。它通过硬件平台提供的支持,操作系统对内存操作进行优化,提高了系统的效率。本篇文章首先介绍了硬件平台对大页的支持,然后转载 2014-11-17 10:44:36 · 1310 阅读 · 0 评论 -
8086 CPU 寄存器简介
引子 打算写几篇稍近底层或者说是基础的博文,浅要介绍或者说是回顾一些基础知识, 自然,还是得从最基础的开始,那就从汇编语言开刀吧, 从汇编语言开刀的话,我们必须还先要了解一些其他东西, 像 CPU ,内存这些知识点还是理解深刻一点的比较好, 所以这一篇博文就绕着 80x86 CPU 中寄存器的基础部分下手,至于其他的一些将会在后续的博文中介绍 。 同时在这里说明一下,本篇博文介绍的转载 2015-01-14 18:01:26 · 514 阅读 · 0 评论 -
多线程程序中操作的原子性
04/15/2010并行编程原子操作、多核、多线程编程、线程安全 0. 背景 原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作是否是原子的?2. 多线程程序中对Bit field(位域)的读写操作是否是线程安全的?3. 程序员该如何使用转载 2015-01-14 20:56:53 · 420 阅读 · 0 评论 -
关于单CPU,多CPU上的原子操作
https://software.intel.com/zh-cn/blogs/2010/01/14/cpucpu/ 所谓原子操作,就是"不可中断的一个或一系列操作" 。 硬件级的原子操作: 在单处理器系统(UniProcessor)中,能够在单条指令中完成的操作都可以认为是" 原子操作",因为中断只能发生于指令之间。这也是某些CPU指令系统中引入了test_and_set、test_转载 2015-01-14 20:34:23 · 433 阅读 · 0 评论 -
tc流量控制
tc的工作原理 通过设置不同类型的网络接口队列,从而改变数据包发送的速率和优先级,达到流量控制的目的。内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的qdisc(队列规则)把数据包加入队列,然后内核会尽可能多的从qdisc里取出数据包,把它们交给网络适配器驱动模块。 6 流量的处理由三种对象控制:qdisc(队列规定),class(类),filter(分类器)转载 2015-04-02 10:12:10 · 1369 阅读 · 0 评论