概述
操作系统设计的精妙之处就在于,在底层硬件之上创造了新的抽象, 对于系统初始化来说, 它呈现了执行流到线程转化这一概念,该概念远远比它的实现细节更加重要,处理器以“取指-执行”为周期开始串行执行指令,而初始化代码将自身转化为一个并发处理系统, 这里的关键之处在于,初始化代码并不是创建一个独立的并发系统,然后跳转到新的系统。抽象建立的前后不存在清晰的边界与真正的跨越,原来串行执行的初始化程序也并没有被抛弃,相反,初始代码可以声明自己是一个线程,填充进程需要的系统数据结构,允许它以线程的身份继续存在,并允许其它线程执行,与此同时,系统第一次唤醒了自己的三头六臂却混然不知,处理器仍然继续着“取指-执行”周期,就好像任何事情都没有发生,而抽象已经在不知不觉中出现了。
同样是初始化, 为什么有的初始化后仍然是前后台裸机, 而OS却产生了并发执行环境, 这种质变的分界在哪里?
分界可能并不存在!
道生一,一生二,二生三,三生万物, 何其奇妙!
对于通用操作系统的定义,可以想象一个场景,我们有一个主程序A,它让机器通过一条一条的执行内存中的指令来完成要求的任务,然后我们可以在这些内存中存入另一个程序B,在我让机器运行程序A的时候,它首先要做的事情是访问这些内存,而这些内存代表的是程序B的指令,机器随之执行,执行的结果代表程序B的功能.
其实如果我们将主程序A固化在系统里面,使其成为烙印在ROM中的
最后
以上就是乐观西装为你收集整理的关于操作系统设计的基本原理和设计原则的全部内容,希望文章能够帮你解决关于操作系统设计的基本原理和设计原则所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复