操作系统 |OS的运行机制与体系结构


本文主要介绍两部分内容:
1、操作系统如何从加电后启动到正常运行,然后让应用程序能够正常的工作?
2、操作系统如何提供相应的接口,来为应用提供服务,以及控制外设?这个问题涉及到中断、异常和系统调用。

一、操作系统的运行机制

OS的启动过程:计算机未启动前,操作系统一直存放在硬盘上。计算机加电后,BIOS首先从一个特定的内存地址开始执行一系列自检,自检成功后,把Bootloader加载到内存中。进而通过Bootloader将OS加载到内存中,才可以让CPU去执行。

简单来说就是,BIOS负责加载BootLoader,BootLoader负责加载OS。

BIOS,即(Basic Input Output System) 基本IO处理系统)功能:在计算机加载电源后,能够让计算机系统开始自检, 即检测各种外设。检测完成后,才能加载相应的软件进行执行。

  • DISK:存放OS。
  • BIOS:基本I/O处理系统。
  • BootLoader功能:将OS从硬盘加载到内存。

在计算机内存中,一部分内存已经被BIOS占满,加电后BIOS首先从一个特定的内存地址(在x86上是0xf000:fff0)开始执行,进而完成一系列工作,包括POST(加电自检),当外设都能正常工作,就会把Bootloader加载到内存中。

  • 内存地址CS:IP = 0xf000:fff0 (CS:段寄存器,IP:指令寄存器)
  • POST:加电自检,寻找显卡和执行BIOS。
    在这里插入图片描述

1.1 BIOS加载Bootloader

加电前Bootloader被放在硬盘的第一个主引导扇区,方便BIOS查找。一般硬盘的第一个扇区大小为512个字节。这意味着bootloader仅有512个字节,就可以完成有趣的功能,最主要的功能就是将OS从硬盘放入内存。
在这里插入图片描述

1.2 cpu控制权的转移

由BIOS到bootloader:当BIOS将bootloader从硬盘放入内存之后,CPU的控制器也随之移交给bootloader,bootloader接下来会去寻找硬盘起始扇区、硬盘上操作系统的起始扇区、操作系统的长度,将这几个磁盘块儿从硬盘读到内存中。

由bootloader到OS:bootloader的功能完成之后,将CPU的控制权交给OS。

1.3 OS与外设和应用程序交互

OS与外设和应用程序交互是通过interface实现的,面向外设通过中断与IO处理,面向应用程序通过系统调用异常提供相应的功能。

interface 来源 定义 处理时间 响应
系统调用 应用程序 应用程序主动向操作系统发出服务请求 异步或同步 等待和持续
异常 应用程序意想不到的行为 非法指令或其他坏的处理状态(如:内存出错) 同步 杀死或重新执行
中断 外设 来自不同的硬件设备的计时器和网络的中断 异步 持续,对用户应用程序是透明的

为什么应用程序不能直接访问外设,而是由OS来操作?

  • 计算机中,内核是被信任的第三方,使用OS操作外设更安全
  • 只有内核可以执行特权指令
  • 为了方便应用程序

1.4运行机制的几个概念

在这里插入图片描述

问题1:“指令”与“代码”有什么区别?

“指令”就是处理器能识别并执行的最基本的命令,分为特权指令和非特权指令。
在这里插入图片描述

  • 特权指令:如内存清零。
  • 非特权指令:如普通的运算指令。

问题2:普通用户是无法使用特权指令的,那么cpu是如何判断当前是否可以执行特权指令?

为此,引入了cpu的两种状态

  • 用户态(目态):此时cpu只能执行非特权指令。
  • 核心态(管态):特权指令、非特权指令都可以执行。

和心态-->用户态的切换:使用程序状态字寄存器(PSW)中的某个标志位来标识当前处理器处于什么状态。如0为用户态,1为核心态。

两种程序:有的程序需要使用特权指令,有的程序只能使用非特权指令,因此计算机系统将程序分为内核程序普通程序

  • 内核程序:内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行于核心态。
  • 应用程序:为了保证系统的安全运行,普通应用程序只能执行非特权指令,运行在用户态。

二、操作系统的体系结构

2.1 OS的内核

操作系统中并不是所有的东西都是核心的、并不是所有的东西都是必须存在的。

  • 内核:内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。
    实现操作系统内核功能的程序就是内核程序

在这里插入图片描述

在这里插入图片描述

2.2 OS的体系结构

在这里插入图片描述

原创文章 475 获赞 1731 访问量 58万+

猜你喜欢

转载自blog.csdn.net/weixin_43691058/article/details/105758085