Linux内核设计与实现——第一章 Linux内核简介

1.1 Unix

Unix系统是一个强大、健壮和稳定的操作系统。因为它:

  • Unix很简洁。仅提供几百个系统调用。
  • 在Unix中,所有的东西都被当做文件对待。这种抽象使对数据和对设备的操作是通过一套相同的系统调用接口来进行的。
  • Unix的内核和相关的系统工具软件是用C语言编写而成,因此被广大开发人员接受。
  • Unix的进程创建迅速,并且有 fork() 系统调用。
  • Unix提供一套非常简单但又很稳定的进程间通信元语

1.2 Linux

Linux是类Unix系统,但不是Unix,因为它没有直接使用Unix的源代码。
Linux是一个非商业化产品,Linux内核也是自由(公开)软件。一般来说,Linux这个词主要指内核。

1.3 操作系统与内核

操作系统是指在整个系统中负责完成最基本功能和系统管理的那些部分,这些部分应该包括内核、设备驱动程序、启动引导程序、命令行shell或其他种类的用户界面、基本的文件管理工具和系统工具。

用户界面是操作系统的外在表象,内核才是操作系统的内在核心。内核有时被称作管理者操作系统核心

内核一般处于系统态,独立于普通应用程序,拥有受保护的内存空间和访问硬件设备的所有权限。

在系统中运行的应用程序通过系统调用与内核通信。

内核负责管理系统的硬件设备。当硬件设备想和系统通信时,它首先发出一个异步的中断信号去打断处理器的执行,继而打断内核的执行。中断通常对应一个中断号,内核通过这个中断号查找相应的中断服务程序,并调用此程序相应和处理中断。

我们可以将每个处理器在任何指定时间点上的活动概括为三者之一:

  • 运行于用户空间,执行用户进程。
  • 运行于内核空间,处于进程上下文,代表某个特定的进程执行。
  • 运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断。

1.4 Linux内核与传统Unix内核比较

  • Linux支持动态加载内核模块。
  • Linux支持对称对处理(SMP)机制
  • Linux内核可以抢占。
  • Linux对线程支持的实现:内核并不区分线程和其他的一般进程。
  • Linux提供具有设备类的面向对象的设备模型、热插拔事件,以及用户空间的设备文件系统。
  • Linux忽略一些设计得很拙劣的Unix特性。
  • Linux体现了自由。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值