linux环境运行mars,Linux架构及启动

一、Linux架构

28fd530d5bd5b763c038679be33c7195.png

(内核之内是硬件)

Linux的层次结构简图如上图。内核(Kernel)再下面一层就是硬件了,内核就是连接软件和硬件的桥梁。内核有自己的资源,不允许应用程序直接操作,对其的操作都需要通过其外一层的系统调用(System Calls)进行,包括应用程序在内的所有外部程序对内核的控制都要通过系统调用来进行。

然而,相对于外部应用需求而言,系统调用的操作都是“简单”的——即只提供不能够再被化简的、最为基础的操作。因此,通过系统调用实现功能就会变得非常复杂。

于是,系统调用外部就出现了可以简化其使用复杂度的“中间层”——公用函数库和shell

公用函数库(也被称为库函数,Library Routine),它对复杂的系统调用进行封装,对外提供可以更简单使用的接口。(ISO C、POSIX标准库即为两种库函数标准)。

Shell是一种特殊的软件,可以通过它来操作计算机(调用其他各种各样的程序)来达成不同的功能。Terminal就是一个shell。

dae908f074294db49696c188062a3252.png

图2

第一张图展开来看就是这样,从下到上的各个层次的名字体现了他们的具体意义。系统调用之下的就是内核了,内核最底端即是驱动。

二、Linux启动

步骤概览:

通电 → BIOS 启动  → 读取 MBR  → 加载 BootLoader  → 加载 Kernel → 加载驱动、检测硬件 → 启动 init 进程 → 运行 Startup scripts  → 给出 login

通电后,自动启动 BIOS, BIOS 会去读取指定驱动器的前 512bytes ——这 512bytes 的空间叫做主引导记录(Master Boot Record),它会告知硬件去某一个分区装载 BootLoader 。

BootLoader 的工作是引导加载 OS ,即 Kernel。

Kernel 启动后首先留出来一块属于自己的内存,然后加载各种驱动、检测硬件,接着启动 Linux 的 init 进程。

init 进程会调用一系列的启动脚本(startup scripts),设置各种杂项(设置名称、时区、挂载硬盘等)使系统就绪,最后给出 login

点击量:313

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值