易截截图软件、单文件、免安装、纯绿色、仅160KB

深度介绍Linux内核是如何工作的

牛津字典中对"kernel"一词的定义是:"较软的、通常是一个坚果可食用的部分。"当然还有第二种定义:"某个东西核心或者最重要的部分。"对Linux来说,它的Kernel无疑属于第二种解释。让我们来看看这个重要的东西是如何工作的,先从一点理论说起。
广义地来说kernel就是一个软件,它在硬件和运行在计算机上的应用程序之间提供了一个层。严格点从计算机科学的角度来说,Linux中的Kernel指的是Linus Torvalds在90年代初期写的那点代码。
    所有的你在Linux各版本中看到的其他东西--Bash shell、KDE窗口管理器、web浏览器、X服务器、Tux
Racer以及所有的其他,都不过是运行在Linux上的应用而已,而不是操作系统自身的一部分。为了给大家一个更加直观的感觉,我来举个例子,比如
RHEL5的安装大概要占据2.5GB的硬盘空间(具体多大当然视你的选择安装来定),在这其中,kernel以及它的各个模块组件,只有47MB,所占
比例约为2%。
在kernel内部
那么kernel到底是如何工作的呢?如下面的图表。Kernel通过许多的进入端口也就是我们从技术角度所说的系统调用,来使得运行在它上面的应用程序可用。Kernel使用的系统调用比如"读"和"写"来提供你硬件的抽象(abstraction)。
从程序员的视角来看,这些看起来只是普通的功能调用,然而实际上系统调用在处理器的操作模式上,从用户空间到Kernel空间有一个明显的切换。同时,系统调用提供了一个"Linux虚拟机",可以被认为是对硬件的抽象。
Kernel提供的更明显的抽象之一是文件系统。举例来说,这里有一段短的程序是用C写的,它打开了一个文件并将内容拷贝到标准的输出:
#include <fcntl.h>
int main()
{
    int fd, count; char buf[1000];
    fd=open("mydata", O_RDONLY);
    count = read(fd, buf, 1000);
    write(1, buf, count);
    close(fd);
}
    在这里,你可以看到四个系统调用的例子:打开、读、写和关闭。不谈这段程序语法的细节,重点是:通过这些系统调用Linux
Kernel提供了一个文件的"错觉",而实际上它不过是一堆数据有了个名字,这样一来你就不必去与硬件底层的堆栈、分区、头和指针、分区等交涉了,而是
直接以例子中的方式与硬件"交流",这也就是我们所说


相关文档:

在 RedHat Linux 64位系统中DB2 9.7的问题解决方法

DB2 安装完成后准备启动时,系统报错,详细信息如下
[db2inst1@localhost ~]$ db2start
db2start: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
执行下面检查命令
[db2inst1@localhost lib]$ cd /usr/lib
[db2inst1@localhost lib]$ ls -la libaio ......

Linux中JDK1.6的安装和配置方法


一、安装
创建安装目录,在/usr/local/java下建立安装路径,并将文件考到该路径下: 
# mkdir /usr/local/java
1、jdk-6u11-linux-i586.bin
这个是自解压的文件,在linux上安装如下: 
# chmod 755 jdk-6u11-linux-i586.bin 
# ./jdk-6u11-linux-i586.bin
在按提示输入yes后,jdk被解压。
......

linux多线程入门

转自: http://www.diybl.com/course/6_system/linux/Linuxxl/20081124/152557.html
好好学习,天天向上
引言
   线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期, solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样 ......

Acer 4920 MediaTouch触摸媒体控制键在Linux下的配置

从Ubuntu 8.04到9.10,我的Acer Aspire 4920本子的媒体触摸控制键始终不能正常工作。最近找到了此问题的解决方法,供使用Linux操作系统及拥有Acer笔记本的用户参考。 在Ubuntu 9.10下,我的媒体控制键被识别为另一块Synaptics触摸板,并且四个键分别被识别为上、下、左、右翻页键,导致无法正常工作。需要通过修改按键映射 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号