• 编写最简单的内核:HelloWorld

    日期:

    内核是操作系统最核心的内容,主要提供硬件抽象层、磁盘及文件系统控制、多任务等功能,由于其涉及非常广泛的计算机知识,很少被人们所熟悉,因而披上了一层神秘的面纱。 本文将从零开始实现一个最简单的内核,其可以通过x86系统的GRUB引导启动,并向屏幕输...

  • Linux 编程和系统管理新手入门问答

    日期:

    Linux 究竟是什么? 用最简单的话说,Linux 是一个操作系统。它是一位赫尔辛基大学学生 Linus Torvalds(Linux 是 Linuss UNIX 的缩写)在 1991 年 10 月创造的。Linux 本身实际上只是其内核;它实现了多任务和多用户功能,管理硬件,分配内存并且使应用程序...

  • Linux系统高负载下彻底优化MySQL数据库

    日期:

    同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。 安装好mysql后...

  • 一大波有用的 bash 别名和函数

    日期:

    作为一个命令行探索者,你或许发现你自己一遍又一遍重复同样的命令。如果你总是用ssh进入到同一台电脑,如果你总是将一连串命令连接起来,如果你总是用同样的参数运行一个程序,你也许希望在这种不断的重复中为你的生命节约下几秒钟。 解决方案是使用一个别...

  • Linux 脚本编写基础

    日期:

    1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须放在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编辑好脚本时,如果要执行该脚本,还...

  • Linux下使用autoconf和automake生成Makefile

    日期:

    作为Linux下的程序开发人员,一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了. 在本文中,将介绍如何使用autoconf和automake两个...

  • 多级hash在内核中应用: 变种radix tree在page cache中的应用

    日期:

    参考: radix tree in kernel :Trees I: Radix trees http://lwn.net/Articles/175432/ 普通的radix tree(注意,这不是内核中用的radix tree哦) http://en.wikipedia.org/wiki/Radix_tree 这里讨论的是变种的radix tree,请知悉. radix tree的核心思想是什么?...

  • kernel 中的hash table的实现

    日期:

    Linux内核哈希表分析与应用 http://blog.csdn.net/tigerjb/article/details/8450995 深入分析 Linux 内核链表 http://www.ibm.com/developerworks/cn/linux/kernel/l-chain/index.html 拿pid做hash的例子剖析linux内核哈希查找(1) http://blog.chinaunix.n...

  • linux进程调度方法简述

    日期:

    在 Linux2.6 中,仍有三种调度策略: SCHED_OTHER、SCHED_FIFO 和 SCHED_RR。 SCHED_ORHER:普通进程,基于优先级进行调度。 SCHED_FIFO:实时进程,实现一种简单的先进先出的调度算法。 SCHED_RR:实时进程,基于时间片的SCHED_FIFO,实时轮流调度算法。 前者是...

  • linux动态链接库全局变量共享问题&DLL共享数据段

    日期:

    Linux写时拷贝技术(copy-on-write) 进程间是相互独立的,其实完全可以看成A、B两个进程各自有一份单独的liba.so和libb.so,相应的动态库的代码段和数据段都是各个进程各自有一份的。 然后在这个基础上,由于代码段是不会被修改的,所以操作系统可以采用copy...