• Linux内核模块编程入门

    日期:

    针对2.6内核的Linux系统,需要你的机器上已经安装了kernel-devel这个包,也就是编译模块所必须的东西:内核的头文件和一些Makefile。 一,HelloWorld程序: [code:1:fbc83fc10a]/*file: hello.c*/ #ifndef__KERNEL__ #define__KERNEL__ #endif #ifndefMODULE...

  • Linux内核之旅

    日期:

    内核模块是Linux内核向外部提供的一个插口,其全称为动态可加载内核模块(Loadable Kernel Module,LKM),我们简称为模块。Linux内核之所以提供模块机制,是因为它本身是一个单内核(monolithic kernel)。单内核的最大优点是效率高,因为所有的内容都集成...

  • Linux0.11内核引导启动过程概述

    日期:

    Linux0.11仅支持x86架构。它的内核引导启动程序在文件夹boot内,共有三个汇编代码文件。按照启动流程依次是: (1)bootsect.s。boot是启动引导的意思,sect即sector,是扇区的意思,二者合在一起启动引导扇区。这是磁盘引导程序。 (2)setup.s (3)head.s...

  • Linux的epoll

    日期:

    在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的...

  • Linux编译内核的详细配置

    日期:

    前言之前言:谁是这篇文章的读者? 不习惯读英文资料的非LINUX高手 声卡不响光驱不转连不上网等等,只要有问题就行 开发嵌入式操作系统 现在流行的ODL(only disk linux)中做内核部分,那些文章不介绍此点内容。我正在做 ,完工后整理资料。 BY THE WAY ,想...

  • LINUX 和 WINDOWS 内核的区别

    日期:

    关于LINUX和WINDOWS的口水站已经很多了。本文企图从 技术 角度来比较下2个主流 操作系统 的异同。偏重于内核部分。 一、动机: 我最早是 WINDOWS 阵营的。在WINDOWS下写过2年多的驱动程序。后来由于学习需要,转投LINUX,一晃也快2年了。期间经历了很多曲折...

  • CentOS Linux内核升级全过程

    日期:

    首先说明,下面带#号的行都是要输入的命令行,且本文提到的所有命令行都在终端里输入。接下来,让我们一起开始精彩的Linux内核升级之旅吧! 一、准备工作 启动Linux系统,并用根用户登录,进入终端模式下。 1、查看Linux内核版本 # uname -a 如果屏幕显示的...

  • 多路IO复用模型 select epoll 等

    日期:

    同步阻塞IO在等待数据就绪上花去太多时间,而传统的同步非阻塞IO虽然不会阻塞进程,但是结合轮询来判断数据是否就绪仍然会耗费大量的CPU时间。 多路IO复用提供了对大量文件描述符进行就绪检查的高性能方案。 select select诞生于4.2BSD,在几乎所有平台上都...

  • Linux虚拟内存和物理内存精华【美】

    日期:

    原文地址: 《Playing with Virtual Memory》 http://www.snailinaturtleneck.com/blog/2011/08/30/playing-with-virtual-memory/ 扩展阅读: 《Understanding Memory》 http://www.ualberta.ca/CNS/RESEARCH/LinuxClusters/mem.html 《Understanding Virtua...

  • ulimit -SHn 65535 含义

    日期:

    linux下用ulimit设置连接数最大值,默认是1024. 在高负载下要设置为更高,但最高只能为65535. ulimit只能做临时修改,重启后失效。 可以加入 ulimit -SHn 65535 到 /etc/rc.local 每次启动启用。 终极解除 Linux 系统的最大进程数和最大文件打开数限制: vim...