基础
书中说明使用的内核源码版本:Linux2.6.34
国外可以在如下网站下载内核的镜像:
Indexof/sites//pub/linux/kernel/
哪些是操作系统
操作系统是指在整个系统中负责完成最基本功能和系统管理的这些部份。
这种部发包括内核、设备驱动程序、启动引导程序、命令行Shell或则其它种类的用户界面、基本的文件管理工具和系统工具。
Unix
Unix系统现今早已演变成一个具有相像应用程序编程插口(API),但是基于相像设计理念的操作系统家族。
Unix只有几百个系统调用而且有一个十分明晰的设计目的。
Unix中所有东西都被当作文件对待(因而可以通过统一的插口进行操作,不过网路是个例外)。
Unix用C语言编撰而成。
Unix的进程创建特别迅捷。
Unix提供了一套简单又稳定的进程间通讯元语。
Linux
Linux借鉴了Unix的许多设计并实现了Unix的APIlinux内核中网络协议的设计与实现,并且Linux没有直接使用Unix的源码。
Linux系统的基础是内核、C库、工具集和系统的基本工具(如登入程序和Shell)。
内核
一般一个内核由负责响应中断的中断服务程序如何安装linux,负责管理多个进程因而分享处理器时间的调度程序,负责管理进程地址空间的显存管理程序和网路、进程间通讯等系统服务程序共同组成。
内核运行在内核空间。
应用程序运行在用户空间。
应用程序通过系统调用来与内核通讯。
应用程序一般调用库函数(例如C库),再由库函数通过系统调用插口,让内核完成不同的任务。
内核还负责管理系统的硬件设备,这借助了中断机制。
当硬件须要和系统通讯时,首先发出异步的中断讯号,中断一般对应着一个中断号linux内核中网络协议的设计与实现,内核通过这个中断号查找相应的中断服务程序来响应和处理中断。
中断服务程序在一个与所有进程都无关的、专门的中断上下文中运行。
Linux内核是单内核(宏内核)linux定时器,并且引入了模块化设计,占领式内核,支持内核线程以及动态装载内核模块的能力。
内核并不分辨线程和其它的通常进程。对于内核来说都一样,只是其中的一些(线程)共享资源而已。
应用、内核和硬件的关系