深圳宝安医院的网站建设,免费的黄页推广软件哪个好,新乡市建设路小学网站,深圳软件开发有限公司有几家操作系统一#xff0c;冯诺依曼体系结构内存的重要作用二#xff0c;操作系统的概念三#xff0c;设计操作系统的目的三#xff0c;操作系统在计算机体系中的定位四#xff0c;操作系统是如何进行管理的一#xff0c;冯诺依曼体系结构 在众多计算机相关的书籍中#xff…
操作系统一冯诺依曼体系结构内存的重要作用二操作系统的概念三设计操作系统的目的三操作系统在计算机体系中的定位四操作系统是如何进行管理的一冯诺依曼体系结构 在众多计算机相关的书籍中不得不提的就是冯诺依曼体系结构冯诺依曼体系结构仍运用在当今的计算机中。 计算机硬件的五大成员
输入设备输出设备存储器控制器运算器 一台计算机要想工作那么这五部分是不可或缺的计算机处理的数据都是从输入设备输入流向存储器CPU从存储器中读取数据将处理的结果放回存储器存储器将处理的结果通过输出设备输出。
内存的重要作用
存储器也就是内存在其中起到了非常重要的作用它作为沟通CPU与外设之间的桥梁。外设指的就是输入设备输出设备例如磁盘显卡网卡键盘显示器等等。
由于CPU的运算速度非常快是一般的外设的很多很多倍如果外设与CPU直接沟通那么可想而知外设会大大的拉低了CPU的速度就如同木桶效应一般一个木桶能装多少水是由最短的木板决定的。 内存在CPU与外设之间起到了一个缓冲的作用内存的速度相比外设是非常快的与CPU相比还是比较慢的但是至少比外设快很多。在处理数据时内存会把外设中的部分数据提前加载到内存中以供CPU处理。 这里不得不说的就是局部性原理 根据统计学原理当一个数据正在被访问时那么下一次有很大的可能会访问其周围的数据。所以当CPU需要获取某一行数据时内存可以将该行数据周围的数据一同加载进来而CPU处理数据和内存加载数据是可以同时进行的这样下次CPU就可以直接在内存中拿数据。
关于冯诺依曼体系需要强调的几点
这里的存储器指的是内存不考虑缓存的情况这里的CPU能且只能对内存进行读写不能访问外设外设要输入或输出数据也只能写入内存或从内存中读取总之所有的设备都只能和内存打交道
现在你应该明白为什么我们编写的可执行程序在运行前要先加载到内存是因为程序的运行是要通过CPU对其处理而CPU只会和内存打交道。
二操作系统的概念 任何的计算机系统都包括一个基本的程序集合成为操作系统OS。 笼统的理解操作系统包括
内核进程管理内存管理文件管理驱动管理其他程序例如函数库shell程序等等
三设计操作系统的目的
与硬件交互管理所有的软硬件资源为用户提供一个良好的执行环境
三操作系统在计算机体系中的定位
操作系统是一款管理软硬件资源的软件
首先计算机的最底层是一些硬件它们之间形成冯诺依曼体系结构。 但是单单靠他们是完成不了工作的需要一个软件来管理他们。 例如我们上述介绍的内存会加载输入设备中的数据但它是何时加载又是加载多少的呢没有东西管理它他是无法完成工作的而管理他们的软件就是操作系统Operator System。 但是OS并不是与底层的硬件进行直接交流的例如如果操作系统完成键盘的读取操作那么只要你的键盘读取方式进行了改变那么操作系统的内核源代码就需要进行重新编译这对操作系统来说维护的成本太高了。 于是在硬件和操作系统之间增加一层硬件驱动驱动层的主要工作就是单独去控制底层硬件的。例如键盘有键盘驱动显卡有显卡驱动网卡有网卡驱动硬盘有硬盘驱动。驱动简单的来说就是去访问某个硬件访问这个硬件的读写以及硬件的状态等等驱动层就是直接和硬件打交道的。而驱动一般是由硬件制造厂商提供的或是由操作系统相关的模块进行开发的。 此时操作系统就只需要关心何时去读取数据而不用关心具体是怎么去读取数据的这就完成了操作系统与硬件之间的解耦。 操作系统的主要工作
进程管理内存管理文件管理驱动管理 操作系统对下是这样进行管理的但是对上它又做了些什么呢 操作系统会直接让用户去操作它去管理硬件嘛答案肯定是不会的。
操作系统是一个很谨慎的软件它不会将自己暴露给用户而是通过系统调用接口的方式对上提供服务这就和现实生活中银行很像银行里都会有一大面玻璃墙还会提供许多服务窗口银行通过这些窗口对外进行服务。 银行这样做是因为它既要对外提供服务但是也要保护自身的安全万一哪个去银行办理业务的人是个坏人怎么办。 操作系统也是这样为了防止别人的破坏它对外提供服务的方式是暴露在外面一些系统接口。 对与系统接口的使用只有小部分的专业人士才会所以在系统接口上面还有一层例如shell命令行解释器GUI图形化界面函数库等来帮助人们去调用系统接口的程序。 建立在这样的基础上用户才可以得心应手的使用计算机用户是最上面的一层。 可以看到计算机的体系实际上一个层状结构。
四操作系统是如何进行管理的
提到操作系统是如何管理软硬件资源的先从一个例子入手校领导是如何管理学生的 一个大学里面至少有1万名学生如果校长是去和每个学生直接交流进行管理的那得管理到猴年马月这想想就是不现实的。 校长的手里有我们每个人的数据他是通过我们们数据对我们进行管理的例如校长有一天找到了计算机学院的导员告诉他要对学院前几名的学生进行表彰难道校长会去一个一个看每个人的成绩最后找出来前几名嘛显然不是他手里有学生的数据假如校长是一个懂计算机的校长他根据学生的共同特征创建了一个这样的结构体里面包括姓名学号学分绩点等等这样每个同学在校长的眼里就是一个个的结构体有了这么多结构体怎么去查询成绩前几名的学生呢答案是将这些结构体组织起来比如说用链表这个数据结构存储起来然后通过对链表的遍历找到要表彰的学生。 校长对学生的管理其实管理的是学生们的数据。学生就好比计算机中的硬件校长就是操作系统硬件驱动就是辅导员校长根本不关心它的命令是如何去实现的他只关心他的决策是什么至于如何实施那是辅导员的事情。 操作系统其实就是校长的角色是一个管理者的角色他不会直接去和硬件进行交流而是它的手里掌握的硬件的数据它通过硬件的数据去管理硬件至于实施的具体步骤是硬件驱动完成的。 总结为一句话就是操作系统进行管理是通过先描述再组织进行的描述就是把每个软硬件描述为一个结构体再把这些结构体组织起来进行管理的。