zoukankan      html  css  js  c++  java
  • Linux操作系统概述及内核介绍

    1 、Linux 操作系统中的抽象级别和层次

    在组织得当的前提下,通过抽象将系统分解为组件有助于我们了解其工作机制。

    我们将组件划分为层次或级别。组件的层次(或级别)代表它在用户和硬件系统之间所处的位置。

    Web浏览器、游戏等应用处于最高层,底层则是计算机硬件系统,如内存。操作系统处于这两层之间。

    Linux操作系统主要分为三层。如图1-1所示,最底层是硬件系统,包括内存和中央处理器(用于计算和从内存中读写数据),此外硬盘和网络接口也是硬件系统的一部分。

    硬件系统之上是内核,它是操作系统的核心。内核是运行在内存中的软件,它向中央处理器发送指令。内核管理硬件系统,是硬件系统和应用程序之间进行通信的接口。

    进程是指计算机中运行的所有程序,由内核统一管理,它们组成了最顶层,称为用户空间(user space)。(另一个更确切的术语是用户进程,无论它们是否直接和用户交互。例如,所有的Web服务器都是以用户进程的形式运行的。)

    图1-1 Linux系统的基本组成

    内核和用户进程之间最主要的区别是:内核在内核模式(kernel mode)中运行,而用户进程则在用户模式(user mode)中运行。在内核模式中运行的代码可以不受限地访问中央处理器和内存,这种模式功能强大,但也非常危险,因为内核进程可以轻而易举地使整个系统崩溃。那些只有内核可以访问的空间我们称为内核空间(kernel space)。

    相对于内核模式,用户模式对内存和中央处理器的访问有一定程度的限制,可访问的内存空间通常很小,对CPU的操作也很安全。用户空间指的是那些用户进程能够访问的内存空间。如果一个用户进程出错并崩溃的话,其导致的后果也相对有限,并且能够被内核清理掉。例如,如果你的Web浏览器崩溃了,不会影响到你正在运行的其他程序。

    理论上来说,一个用户进程出问题并不会对整个系统造成严重的影响。当然这取决于我们如何定义“严重的影响”,并且还取决于该进程拥有的权限。因为不同的进程拥有的权限可能不同,一些进程能够执行一些别的进程无权执行的操作。举个例子,如果拥有足够的权限,用户进程可以将硬盘上的数据全部清除。也许你会觉得这样太危险,但好在操作系统提供了一些相关的安全措施,而且大多数用户进程并没有这个权限。

    2、 内核

    我们之所以介绍主内存和状态,是因为内核的几乎所有操作都和主内存相关。其中之一是将内存划分为很多区块,并且一直维护着这些区块的状态信息。每一个进程拥有自己的内存区块,且内核必须确保每个进程只使用它自己的内存区块。

    内核负责管理以下四个方面。

    • 进程:内核决定哪个进程可以使用CPU。
    • 内存:内核管理所有的内存,为进程分配内存,管理进程间的共享内存以及空闲内存。
    • 设备驱动程序:作为硬件系统(如磁盘)和进程之间的接口,内核负责操控硬件设备。
    • 系统调用和支持:进程通常使用系统调用和内核进行通信。 

    参考文章:

    《精通Linux(第2版)》第1章概述

  • 相关阅读:
    [译]MongoDB 3.0发布说明
    [译]MongoDb生产环境注意事项
    关于MongoDb Replica Set的故障转移集群——实战篇
    关于MongoDb Replica Set的故障转移集群——理论篇
    MongoDb 2.4 beta新特性——全文索引
    MongoDb Replica Set中使用的地址
    Eval is Devil-MongoDB master/slave上运行Eval遇到的问题
    ss
    SEO
    GruntJs
  • 原文地址:https://www.cnblogs.com/yihr/p/13300271.html
Copyright © 2011-2022 走看看