目录
1.前言
2.冯诺依曼体系结构
2.1.结构构成
在当今所有的计算机中,比如我们常见的:笔记本、电脑,或是我们不常见的:服务器,大部分都遵循着冯诺依曼体系结构,其具体构成如下:
截止至目前,我们所认识的计算机是由一个个硬件组件组成的
2.2.硬件分析
2.2.1存储器的作用
为何需要内存的存在?
设备 | 速度 |
---|---|
CPU(中央处理器) | 最快 |
存储器(内存) | 次快 |
外设(输入输出设备) | 最慢 |
📈内存是计算机的组成部件之一,所以它无法像磁盘、U盘这些外存一样,存放几百G甚至几个T的数据。但是由于内存对于数据的读取与写入的速度较快,所以可以将内存理解为一块缓存空间,在程序需要运行时载入内存后再进行运算。所以内存是外存与CPU进行沟通的桥梁。
但是我们需要注意的是:内存是带电存储,存在断电易失的问题(好比码字码一半,还没点击保存就关机了),而外存就能够永久存储。
2.2.2CPU
我们知道,CPU是一台计算机的核心,因为它具有很强的运算能力。但是其实CPU是很笨的,它只能被动地接受别人的指令和数据,然后听从命令去执行指令,计算数据🧮🧮
2.3.实际分析
对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流的理解上
请解释,从你登录上qq打开窗口,开始给好友发消息,到好友收到到消息数据流动过程?如果发送的是文件呢?
3.操作系统
3.1.是什么
概念
任何计算机系统都包含一个基本的程序集合,称为操作系统
(OS)。笼统的理解,操作系统包括:
设计OS的目的
定位
3.2.为什么
操作系统对于一台计算机来说是必不可少缺一不可的🎯
假如没有操作系统的管理,一台计算机也只是一堆废铁,各种硬件不会自己运转自己相互配合运作的,计算机可能连开机都无法实现。如果没有操作系统,各个应用软件将无法自主去调用计算机硬件的各种资源,程序无法自己跑去内存中缓存,CPU也无法读取数据进行运算执行…
总而言之,操作系统对于计算机来说,是游走于硬件和软件直接的一位管理者,负责管理计算机的正常运行。所以在整个计算机软硬件架构中,操作系统的定位
是:一款纯正的“搞管理”的软件。
3.3.操作系统怎么进行管理
3.3.1管理的本质
操作系统所谓的管理,即是(对下)合理地管理软硬件资源(手段),(对上)为用户提供良好的、稳定的、安全的…执行环境(目的)
那么我们先来了解一下操作系统对底层硬件的管理结构
我们已知,操作系统是管理底层硬件的管理者
,那么底层硬件就是被管理者
,可操作系统和底层硬件的联系真的如图那么简单码?
通过以上例子的理解,或许我们应该对操作系统管理的体系再次更新
其实上面的例子还挺形象的不是嘛…
驱动程序驱动各类硬件运转
------> 辅导员驱动学生学习...
3.3.2管理的方法
通过以上例子的理解,管理的方法即是:通过各种具体数据归类描述成各种对象类型,再进行组织管理
📌总结起来就是六个字:先描述,再组织
而我们操作系统对任何资源的管理都是遵循着那六个字的管理理念
- 先描述:我们利用面向对象的思想,将要管理的对象描述成一种类型,该类包含对象的各种属性。由硬件的各种数据抽象出来的结构体:
struct dev
{
//硬件信息
int type; //设备类型
int status;//设备状态
... //其他属性
struct dev* next;//下一个设备的地址
}
- 再组织:我们根据具体情况选择一种数据类型,将我们描述出来的管理对象组织起来,利用数据类型的各类便利接口,将数据管理转化为对对象的增删查改:
//伪代码
//创建一个链表
list<dev> dev_list;
struct dev disk_dev;//创建磁盘对象
dev_list.insert(disk_dev);//插入磁盘节点
struct dev keyboard_dev;//创建键盘对象
dev_list.insert(keyboard_dev);//插入键盘节点
dev_list.earse(disk_dev);//删除磁盘节点
...
完成了描述与组织两部分工作后,对于各类硬件的管理也更加的有条不紊和便捷,这便是数据结构的魅力。因此不论是什么软件什么系统…数据结构都是必不可少的利器之一,假如没有数据结构,很多工作将会十分麻烦与复杂。
总结
计算机管理硬件
3.4.系统调用
了解完操作系统如何管理硬件之后,那操作系统又是如何管理软件的呢?
操作系统向下管理底层硬件的调控,而上层有各类软件需要调用硬件资源、使用者的指令、需求…这些也需要操作系统来管理。那么难不成我们作为使用者或者某个软件需要调控计算机的资源时,我们可以直接进入内部进行调用吗?
- 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。
- 系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。
3.5.最终体系
了解完操作系统的管理体系后,再看看这句前文出现过的话,你是否能够更深刻地体会呢🌈
操作系统所谓的管理,即是(对下)合理地管理软硬件资源(手段),(对上)为用户提供良好的、稳定的、安全的…执行环境(目的)