Linux内核简介
- Unix从一个失败的多用户操作系统Multics中衍生来的。
- Unix强大的原因:
- 简洁
- 几乎所有的东西都被当做文件来对待,可以通过相同的系统调用接口来进行调用。
- 因为它是由c语言编写,所以具有强大的移植能力
- 进程创建迅速,且拥有独特的fork()系统调用
- 具备清晰的层次化
- Unix操作系统多样的功能:
- 抢占式多任务
- 多线程
- 虚拟内存
- 换页
- 动态链接
- TCP/IP网络
- Linux是类Unix系统,但它不是Unix。
- Linux内核是自由软件。
操作系统和内核简介
- 内核是操作系统的内在核心,有时候其被称为管理者或者是操作系统核心。
- 应用程序通过系统调用与内核通信。
- 内核可以通过中断号查找相应的中断服务程序,并调用这个程序响应和处理中断。
- 每个处理器在任何指定时间点上的活动必然概括为下列三者之一:
- 运行于用户空间,执行用户进程
- 运行于内核空间,处于进程上下文,代表某个特定的进程执行。
- 运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断。
Linux内核和传统Unix内核的比较
- Unix内核通常需要硬件系统提供页机制(MMU)以管理内存。
- 操作系统内核的两大阵营:单内核和微内核
- 单内核:内核从整体上作为一个单独的大过程来实现,同时也运行在一个单独的地址空间上运行。内核可以直接调用函数。大多数的Unix系统设计为单模块。
- 简单
- 性能高
- 微内核:其的功能被划分为多个独立的过程,每个过程叫做一个服务器。所有的服务器都保持独立并运行在各自的地址空间上,通过消息传递处理内核通信——IPC机制(进程间通信机制),消息传递需要一定的周期。
- 单内核:内核从整体上作为一个单独的大过程来实现,同时也运行在一个单独的地址空间上运行。内核可以直接调用函数。大多数的Unix系统设计为单模块。
- Linux是一个单内核,即Linx内核运行在单独的内核地址空间上。
- Linux内核与传统的Unix系统之间存在一些显著的差异:
- Linux支持动态加载内核模块
- Linux支持对称多处理机制(SMP机制)
- Linux内核可以抢占
- Linux对线程支持的实现比较有意思
- Linux提供具有设备类的面向对象的设备模型、热插拔时间,以及用户控件的设备文件系统
- Linux忽略了一些拙劣的Unix特性
- Linux体现了自由。
Linux内核版本
- 主版本号.从版本号.修订版本号.稳定版本号
从内核出发
- 使用Git获取Linux版本中的一种版本
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
- 更新版本
git pull
- 安装内核源代码
- 若为bzip2的压缩形式:tar xvjf linux-x.y.z.tar.bz2
- GNU的zip:tar xvzf linux-x..y.z.tar.gz
- 使用补丁:patch -pl< ../patch-x.y.z
- 内核的配置与安装通过Makefile与config所定。
时间: 2024-10-14 13:38:34