操作系统原理(一)——自举过程

article/2025/10/14 18:28:31

操作系统,这个名词每个人都不会陌生,但又总觉得似乎没有了解很深,这一系列博客将会从零开始强化你对操作系统的认知。

1. 什么是操作系统?

答:操作系统是介于硬件与用户(也就是程序和人)之间的接口,它使其他程序运行更为有效,并能方便的对计算机软件和硬件资源进行访问。

下面进入正题

从定义中我们也知道操作系统一个核心功能就是使其他程序运行更为方便有效,我们知道,在计算机开机前,程序都是在磁盘中的,而运行时程序需要被装入内存中,这时候,显然操作系统需要完成这个任务,那么一个新的问题就会产生:操作系统要想把其他程序装载进内存中,它自身必然是要处于运行状态,即操作系统要处于内存中,那么操作系统是由谁装载进内存的呢?

在这里插入图片描述
套娃?No No No!
这是一个很实际的问题,最早的解决方案是由内存制造商直接将操作系统永久写入内存的ROM(只读存储器)部分,然后将CPU的程序计数器设置为这个ROM的开始处。这样当计算机被加电时,CPU就会从这个ROM处开始读取指令并并执行。

功能上确实达到了目的,解决了问题,但是这个方案有一个很大的缺陷:低效。因为内存的很大一部分需要由ROM构成用于存储操作系统,并且这部分ROM不能被其他程序使用。那么怎么解决这个缺陷呢?相信你可能有些想法了。

在这里插入图片描述
方案2.0
目前采用的解决方案是将加载过程分为两个阶段,内存中ROM只占很小的一部分(大约400KB),其中存储着一个被称为自举程序的小程序。CPU的程序计数器指向ROM中自举程序第一条指令所对应的位置,当计算机被加电时,CPU开始读取并执行自举程序,而这个自举程序只有一个任务:就是将操作系统(不是全部,只是需要启动计算机的那部分程序)装入RAM中。装入完成后,CPU的程序计数器就被设置为RAM中操作系统的第一条指令所对应的位置,接下来CPU将开始执行操作系统的指令。

新的方案通过自举程序的设计大幅降低了对内存的消耗。


http://chatgpt.dhexx.cn/article/OoBcwMXL.shtml

相关文章

【操作系统基础知识 一】操作系统基本原理

学生时代没有好好学习操作系统,悔不当初,现在重新捡起来看看,才发现日常有很多事情都可以解释了,例如为什么Linux快!并发是什么?操作系统到底干啥活,这篇blog是王道的学习笔记: 操作…

操作系统原理,进程的基本状态,运行态,就绪态,等待态与转换模型,进程的其他状态,创建,终止,挂起与转换模型,Linux进程状态模型示例

操作系统原理,进程的基本状态,运行态,就绪态,等待态与转换模型,进程的其他状态,创建,终止,挂起与转换模型,Linux进程状态模型示例 一、进程的三种基本状态: …

Linux操作系统基础原理

计算机系统 1.计算机体系层次 计算机自身是由众多电子元器件构成,硬件本身提供给用户的接口十分底层复杂,使用很不方便。在硬件之上的操作系统将硬件接口抽象封装为比较直观,用户容易调用的接口;用户开发应用程序,通过…

操作系统原理实验——实验一 Linux基本操作

1、实验目的 (1)熟悉Linux下的基本操作,学会使用各种Shell命令去操作Linux,对Linux有一个感性认识。 (2)学会使用vi编辑器编辑简单的C语言程序,并能对其编译和调试。 2、实验预备内容 &#…

Linux 操作系统原理 — 操作系统的本质

目录 文章目录 目录操作系统的起源操作系统和高级编程语言使硬件抽象化操作系统的起源 在操作系统尚不存在的年代,人们通过各种按钮来控制计算机,这一过程非常麻烦。于是,有人开发出了仅仅具有加载和运行功能的监控程序(Supervisor),这就是操作系统的原型。 通过监控程…

操作系统原理之多进程、多线程与并发

文章目录 (1)什么是进程?(2)进程的状态(3)OS何时介入进程调度?(4)多进程的意义(5)并行和并发(6)进程间通信(7)死锁(8)什么是线程?(9)多线程的意义(10)进程和线程的区别(11)Java线程和OS线程的关系 提示:以下是本篇文章正文内容&am…

【考研复习】《操作系统原理》孟庆昌等编著课后习题+答案——第二章

前言 此书在最后的附录B中,有给出部分重难点部分的参考答案。会在最后放上图片。如果想要此书习题答案,可点以下链接:为一个压缩包,以图片形式,习题图片按章节排序,答案图片按书页排序。 《操作系统原理…

操作系统原理——第六章:页面置换算法

文章目录 1. 功能与目标2. 实验设置与评价方法3. 局部页面置换算法3.1 最优页面置换算法(OPT,optimal)3.2 先进先出算法(FIFO)3.3 最近最久未使用算法(LRU,Least Recently Used)3.4 …

操作系统原理模拟实验(基于C/C++模拟处理机调度、存储管理和文件系统)

目录 引言一、处理机调度模拟1、下载链接2、目的与要求3、截图示例 二、存储管理模拟动态分区分配1、下载链接2、目的与要求3、截图示例 分页存储地址转换1、下载链接2、目的与要求3、截图示例 三、文件系统模拟1、下载链接2、目的与要求3、截图示例 引言 包含多个实验的完整源…

操作系统原理总结

转载:https://blog.csdn.net/yanglingwell/article/details/53745758 操作系统原理总结 made by 杨领well (yanglingwellsina.com) 一、基础知识点 1. 操作系统的资源管理技术 资源管理解决物理资源数量不足和合理分配资源这两个问题。 操作系统虚拟机为用户提供…

操作系统原理:覆盖技术、交换技术、虚拟内存概要

随着时间的推移,程序不断地更新,规模不断增长,运行的时候可能会发现内存会越来越不够用。所以希望一个容量大,更快,更便宜,数据不易丢失的存储器。 首先想到的就是硬盘,所以在硬盘的基础上建立了…

操作系统原理、实现与实践课后习题参考答案(已完结)

习题二–系统接口 通向操作系统内核的大门 1.调用fork()的父子进程执行“同样”的代码,如何理解”同样“? 答: fork()函数为系统调用,用于创建进程。创建的进程与原来进程几乎完全相同. 一个进程调用fork(&#xff09…

操作系统原理1-3章答案 黑新宏 胡元义主编

第1章引论 一、单项选择题 1.A 2. C 3. D 4. A 5.A 6. C 7. C 8. D 9. C 10.C 11. D 12.A 13.C 14.D 15.D 16.C 17.D 18.C 19.B 20.C 21.D 22.D 23.C 24.B 25.C 26.B 二、判断题 1.错误 2. 错误 3.错误 4. 错误 5.错误 6.错误 7.正确 8.错误 9.错误 10.错误 11.正确 12.错误 1…

操作系统原理:文件系统、磁盘调度

目录 一、相关概念 二、文件的分配 三、空闲空间列表 四、多磁盘管理-RAID 五、磁盘调度 一、相关概念 文件系统是一种用于持久性存储的系统抽象。硬盘属于持久性存储介质的一种。管理文件系统例如硬盘,需要管理文件块,哪一块属于哪一…

Linux的操作系统原理详解

Linux的操作系统原理详解 ///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿/// 1.操作系统基本概念 操作系统是一个基本程序的集合,在这个集合中,最重要的程序称为内核(Kernel&a…

操作系统原理

操作系统原理 第一章第二章第三章第四章第五章第六章总结 第一章 计算机系统组成部分: 硬件 应用程序 操作系统 用户操作系统的作用: 1.操作系统是管理计算机硬件的程序,为应用程序提供基础并充当计算机用户和计算机硬件的中介。 2.操作系统…

操作系统基本原理

操作系统的类型与结构 操作系统是计算机系统中最基本的系统软件,它既管理计算机系统的软、硬件资源,又控制程序的执行。操作系统的基本类型有:批处理操作系统、分时操作系统和实时操作系统。从资源管理的角度看,操作系统主要是对处…

操作系统原理(概述)

1.操作系统的工作: (1)程序的执行:负责启动每个程序,以及结束程序的工作。 (2)完成与硬件有关的工作:实现代码中包含存储器的物理地址、对设备接口寄存器和设备接口缓冲区的读写等…

Unity UGUi之Panel

Unity UGUI之Panel制作滑块 新建一个Panel和一个Image,image放在Panel下做子物体。 给Panel添加 Scroll Rect 和 Mask 组件, Mask组件是用来隐藏image超出Panel的区域。 然后将image拖拽到Scroll Rect组件下的Content属性上。 Horizontal是水平滑动,…

winform 设置panel边框

var panel1 new Panel(); var old panel1.Margin; panel1.Margin new Padding(old.Left, -50, old.Right, old.Bottom);