概述
文章目录
- 一、操作系统的运行机制
- 1.1 BIOS加载Bootloader
- 1.2 cpu控制权的转移
- 1.3 OS与外设和应用程序交互
- 1.4运行机制的几个概念
- 二、操作系统的体系结构
- 2.1 OS的内核
- 2.2 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的体系结构
最后
以上就是威武烧鹅为你收集整理的操作系统 |OS的运行机制与体系结构一、操作系统的运行机制二、操作系统的体系结构的全部内容,希望文章能够帮你解决操作系统 |OS的运行机制与体系结构一、操作系统的运行机制二、操作系统的体系结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复