
Linux内核
permike
adsfdfsadfasdfasdfsdfasdf
展开
-
第一次把Epoll讲这么详细的文章
从事服务端开发,少不了要接触网络编程。epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,nginx、Redis、Skynet 和大部分游戏服务器都使用到这一多路复用技术。epoll 很重要,但是 epoll 与 select 的区别是什么呢?epoll 高效的原因是什么?网上虽然也有不少讲解 epoll 的文章,但要么是过于浅显,或者陷入源码解析,很少能有通俗易懂的。...原创 2020-03-16 14:23:48 · 697 阅读 · 1 评论 -
linux内核详细
Linux内核的特点:结合了unix操作系统的一些基础概念转存失败重新上传取消转存失败重新上传取消Linux内核的任务:1.从技术层面讲,内核是硬件与软件之间的一个中间层。作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。2.从应用程序的层面讲,应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的层次中的最底层。在实际工作中内核抽...原创 2020-03-09 14:20:49 · 464 阅读 · 0 评论 -
Linux概念架构的理解
英文原文:Conceptual Architecture of the Linux Kernel 摘要 Linux kernel成功的两个原因:(1)架构设计支持大量的志愿开发者加入到开发过程中;(2)每个子系统,尤其是那些需要改进的,都支持很好的扩展性。正是这两个原因使得Linux kernel可以不断进化。 一、Linux内核在整个计算机系统中的位置Fig 1 - 计算机原创 2016-01-06 15:46:02 · 356 阅读 · 0 评论 -
Linux内核中的内存屏障(1)
本文内容遵从CC版权协议,转载请注明出自larmbr.me概览SMP这种并行架构相比传统的单处理器带来相当可观的性能提升。一个不可避免的问题是并行架构的处理器间的交互问题。一种可能的解决方案是,每个CPU都有自己唯一可访问内存,处理器间通过消息传递进行通信。这种架构的问题是带给程序员(尤其是系统程序员)巨大的编程负担,因为需要处理数据分隔与传递。相反,被广泛应用的另一种架构是,转载 2014-11-27 19:02:14 · 874 阅读 · 1 评论 -
HOWTO do Linux kernel development - take 3 (中文版)
译者:张乐 robert_AT_thizlinux_DOT_com原作:Greg KH译注:本文依据take 3翻译,应该不会再有大的改动了,如果有本文会随时更新时间仓促,恐难免错漏,欢迎指正原文:http://permalink.gmane.org/gmane.linux.kernel/349656 (转贴说明:也可以在内核源代码目录下的Documentation/HOWTO找到转载 2014-11-27 18:22:41 · 600 阅读 · 0 评论 -
Linux系统驱动开发
1:Linux 设备通常划分为三种:字符设备、块设备和网络接口设备。字符设备是指:那些只能一个字节一个字节读写数据的设备,不能随即读取设备内存中的某一数据。其读取数据需要按照先后顺序,从这点上看,字符设备是面向数据流的设备。常用的字符设备有鼠标、键盘、串口、控制台和LED等设备。块设备是指:可以从设备的任意位置读取一定长度数据的设备。其读取数据不必按照先后的顺序,可以定位到设备的某转载 2014-11-26 11:49:45 · 449 阅读 · 0 评论 -
简单的Linux驱动
Helloworldkernel内核程序结构分析(前提是已经编译配置好内核)现在,通过一个最简单的helloworld程序来将内核基础做一下分析~因为内核在加载之后就一直运行在内存中,为了保证linux内核代码的小而核心,使用模块的方式来开发驱动。模块就是在硬盘上的一段程序,通过内核特定的操作可以被链接到内核中(进入内存)。如此,便能保证我们可以选择自己需要的驱转载 2014-11-26 21:25:38 · 441 阅读 · 0 评论 -
Linux内核-进程调度
1.多任务#抢占式多任务:由调度程序来决定什么时间停止一个进程的运行#进程的时间片:分配给每个可运行进程的处理器时间段2.Linux的进程调度#O(1)调度程序#反转楼梯最后期限调度算法(RSDL)#完全公平调度算法(CFS)3.策略#I/O消耗型和处理器消耗型进程: I/O消耗型进程:大转载 2014-10-30 15:58:45 · 804 阅读 · 0 评论 -
Linux内核移植
1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起。 1.1.1 Linux版本 Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如2.6.29.1内核的Makefile中: VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 29 EXTRAVERSIO转载 2014-10-30 16:06:27 · 616 阅读 · 0 评论 -
Linux中断梳理
什么是中断?Linux 内核需要对连接到计算机上的所有硬件设备进行管理,毫无疑问这是它的份内事。如果要管理这些设备,首先得和它们互相通信才行,一般有两种方案可实现这种功能:轮询(polling) 让内核定期对设备的状态进行查询,然后做出相应的处理;中断(interrupt) 让硬件在需要的时候向内核发出信号(变内核主动为硬件主动)。第一种方案会让内核做不少的无用功,因为轮询总会周期性的重复执行,大转载 2014-11-11 12:25:39 · 465 阅读 · 0 评论 -
linux系统的启动流程
1.启动流程总体介绍第一. 按下主机电源后,BIOS做硬件检测并根据CMOS中记录,找到启动设备(一般为硬盘)。 第二, 接着BIOS 读取硬盘最前面的512个字节分区,也就是读取MBR区域的信息,并将linux loader装载到RAM中。接着系统的主控权就移交给Linux Loader来执行。第三. 接着您就會看到一个开机选择画面,让你选择启动哪套操作系统。 第四. 选择转载 2014-11-11 12:20:58 · 390 阅读 · 0 评论