admin管理员组

文章数量:1446760

【Linux篇】从冯诺依曼到进程管理:计算机体系与操作系统的核心逻辑

1.冯诺依曼体系结构

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。

截至目前,我们所认识的计算机,都是由一个个的硬件组件组成

  • 输入单元:包括键盘,鼠标,扫描仪,写板等
  • 中央处理器(CPU):含有运算器和控制器等
  • 输出单元:显示器,打印机等

再次强调: 程序运行时必须先从磁盘加载到内存,CPU获取写入只能从内存中拿数据,CPU执行我们的代码,访问我们的数据,数据从一个设备“拷贝”到另一个设备 体系结构的效率:由设备的拷贝效率决定 结论: CPU在数据层面只和内存打交道,外设只和内存打交道

存储分级

由于外设的速度比较慢,CPU的速度较快,所以外设和CPU之间就存在木桶原理,内存的出现让CPU和外设的速度更匹配。 冯诺依曼体系结构的存在使得电脑变便宜了。

理解数据流动

两个人如果在微信上面聊天,本质上是两个冯诺依曼体系之间的信息流通,发信息的人通过输入设备“键盘”进行输入。我们发微信首先得打开登陆微信,即把微信的可执行程序加载到内存。所以在键盘里输入根据冯诺依曼体系是把键盘数据搬到内存(硬件层面),软件层面是把数据交给微信 ,所以数据流动就从输入数据流到存储器。微信信息比如说要加密,把数据“你好”(发送的数据)经过运算器控制,运算器运算完毕之后把“你好”转化成了一个乱码的结构,然后再有CPU写入内存,再由微信把你自己的数据传输到输出设备 ,用户a的输出设备是网卡,网卡把数据交到网络里,通过网络再把数据交给用户b用户b的输入设备拿到数据,而用户b的输入设备只能是网卡,输入设备拿到数据放到内存里,用户b也必须启动微信,启动的微信也在内存里,在微信里读到的代码再交给CPU,将乱码数据解密成“你好”,再通过存储器刷新到输出设备上,这个输出设备就是显示器。 那如果是发送文件呢??? 其实文件的本质也是数据,当我们把文件拖到微信程序时,在没拖之前文件是在磁盘上,本质上是把磁盘文件拷贝到微信里面,在经过运算器加密包装回到存储器,在经过网卡发送,对方通过网卡接受,接收后首先要把文件数据读到内存,通过运算器解包解密写回内存,然后把数据写到输出设备。 总结:

  • 聊天: 是把用户数据从键盘经过体系结构转发到对方显示器的工作。
  • 发送文件: 本质是把文件从本地磁盘经过体系结构拷贝至对方磁盘的过程。

2. 操作系统(Operator System)

2.1 概念

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:

  • 内核(进程管理,内存管理,文件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)

操作系统本质是一款进行软硬件管理的软件

2.2 设计OS的目的

操作系统上面不仅有硬件,而且还有软件

  • 对下,与硬件交互,管理所有的软硬件资源
  • 对上,为用户程序(应用程序)提供一个良好的执行环境
  1. 软硬件体系结构是一个层状的结构
  2. 访问操作系统,必须用系统调用–其实就是函数,只不过是系统提供的
  3. 我们的程序,只要判断出访问了硬件,那么它必须贯穿整个软硬件体系结构
  4. 库可能在底层封装了系统调用
2.3 核心功能
  • 在整个计算机软硬件架构中,操作系统的定位是:一款纯正的“搞管理”的软件
2.3.1 如何理解"管理"
  • 管理的例子 - 学生(被管理者),辅导员(执行权),校长(决策权)

操作系统就如同校长一样具有决策权驱动程序就如同辅导员具有执行权底层硬件就如同学生被管理

  1. 要管理,管理者和被管理者不需要见面
  2. 管理者和被管理者,根据“数据”进行管理
  3. 不需要见面如何得到数据呢?由中间层(辅导员)获取

本文标签: Linux篇从冯诺依曼到进程管理计算机体系与操作系统的核心逻辑