当前位置: 首页 > news >正文

Linux 之 【冯诺依曼体系结构与操作系统的简介】

目录

1.简介冯诺依曼体系结构

2.简介操作系统


1.简介冯诺依曼体系结构

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

冯诺依曼体系由5部分组成:

a.存储器,通常指主存储器(内存),是程序和数据的主要存储空间

b.输入设备,将程序与数据输入到存储器中,常见的有:键盘、鼠标、网卡等

c.输出设备,从存储器中拿到计算器的处理结果并展示出来,常见的有:显示器、网卡

d.运算器,负责进行逻辑运算与算术运算

e.控制器,控制协调包含自身在内的硬件间的工作流程

(1)输入设备与输出设备统称为外设,CPU、存储器之外都叫外设

(2)某一硬件可能只能输入,可能只能输出,也可能既能输入又能输出

(3)运算器和控制器一起被称为中央处理器(CPU)

(3)上述5大硬件间是独立的,这些部件通过总线连接,总线按功能主要分为数据总线、地址总线和控制总线

(4)所以冯诺依曼体系中,数据流向是:
输入设备->存储器->CPU->存储器->输出设备

但这只是经典的理论数据流向。在现代计算机中,为了提升性能,引入了如DMA等技术,允许数据在外设和存储器之间直接传输,而不必经过CPU

(1)计算机存储是分级的金字塔结构,遵循“容量越大、速度越慢、价格越低”的规律

(2)由于CPU与输入设备(如磁盘)的速度差异巨大,如果没有速度介于二者之间的内存,CPU在完成计算后需要长时间等待慢速设备提供新数据,导致效率极低。内存作为缓冲,可以预加载程序和数据,使CPU能持续高速工作,从而极大提升了整机效率。

(4)全用寄存器这类昂贵的存储器组成的计算机不利于计算机的传播,所以使用内存这类存储器协调整机效率就恰到好处,所以冯诺依曼体系中,数据流向是:
输入设备->存储器->CPU->存储器->输出设备

所以,

一个程序要运行(使用CPU),必须先加载到内存中,这是因为冯诺依曼体系规定

前面讲的进度条默认显示的数据是会在存储器中缓存起来的,这是因为冯诺依曼体系规定

对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上,请不考虑网络的细节下解释,从你登录上qq开始和某位朋友聊 天开始,数据的流动过程

我在键盘上(输入设备)输入“在吗”,数据进入存储器,经过CPU处理,数据回到存储器,继而通过网卡(输出设备)传送到我的朋友的输入设备网卡中,数据再从网卡加载到存储器中,CPU拿到数据并处理,数据然后返回到存储器中,再通过显示器,“在吗”就显示到了我的朋友眼前

2.简介操作系统

笼统的理解,操作系统包括:
  • 内核(进程管理,内存管理,文件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)

本质上,操作系统是一款管理软硬件资源的软件

这是计算机层状结构图

  • 设计操作系统的目的:

帮助用户管理好软硬件资源,为了给用户提供良好(稳定,高效,安全)的运行环境

被管理的对象类型操作系统使用的管理手段/抽象最终管理的核心硬件资源
CPU时间硬件进程、线程、调度程序处理器 (CPU)
内存条硬件虚拟地址空间、分页/分段主存储器 (内存)
硬盘/SSD硬件文件、文件系统、缓冲区外存储器 (磁盘)
键盘/显示器等硬件设备驱动、I/O子系统I/O 设备
进程本身软件实体进程控制块 (PCB)(通过管理进程来管理CPU和内存)
文件描述符软件实体系统文件表(通过管理文件来管理磁盘)
  • 操作系统的中轴地位

用户不能跳过操作系统直接使用硬件,这既是因为硬件管理太难,用户不会,也是因为计算机设计者只让操作系统以接口的方式为用户提供调用的入口来控制操作系统进而为用户提供服务

所谓接口就是层状图中的 系统调用

操作系统以接口的方式提供服务是为了保证自身数据安全(防止恶意篡改或误改),所以所有访问操作系统的行为都只能通过系统调用

  • 系统调用和库函数概念
在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。
系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发
所以,库函数和系统调用是上下层的调用与被调用关系

学生是典型的被管理对象,校长是典型的管理对象,事情的属性可分为执行与决策两种

仔细分析得出:

1.管理者和被管理者可以不见面(学生与校长可以不见面)

2.管理者与被管理者不见面,但可以通过特定途径(辅导员等)拿到被管理者的信息

3.管理者在不见被管理者的情况下,只要能够得到管理信息,就可以在未来进行管理决策
所以,管理的本质:通过对数据的管理,达到对人的管理

  • 操作系统如何管理软硬件资源呢?

首先毋庸置疑的是,操作系统管理的数据资源非常庞杂,而对于特定的数据资源,我们应该先对其进行描述,操作系统使用C写的,就可以用结构体来描述特定的数据资源,描述好了,对于特定的管理,如查找最大(小)值,操作系统就需要在庞杂的数据中去查找,此时,就可以用数据结构堆先把我们描述好的数据组织起来,堆底元素就是最大(小)值

照此思路,操作系统的管理思路就是:先描述,再组织。先用结构体描述数据资源的属性,再用数据结构将其组织起来,后续对数据结构的增删查改就是对所描述的数据资源的管理

http://www.dtcms.com/a/600662.html

相关文章:

  • 潍坊建设gc局网站windows优化软件
  • Java虚拟机(JVM)面试题(51道含答案)
  • [27] cuda 应用之 核函数实现图像通道变换
  • Aurora RDS MySQL The table ‘/rdsdbdata/tmp/#sql14b_df16d_1bd‘ is full
  • 手机响应式网站怎么做how to use wordpress
  • 网易云音乐回应“不适配鸿蒙”:推动相关部门加快步伐
  • C语言在线编译练习 | 提高编程技能与实战能力
  • 人工智能分支——深度学习、机器学习与神经网络初概览
  • C++ STL 关联式容器:map 与 set 深度解析与应用实践
  • 鄂尔多斯网站制作 建设推广网站建设前台功能
  • 策划书模板免费下载的网站免费获客平台
  • 如何搭建IoT机器视觉
  • 几分钟学会飞书多维表格开发
  • 11.12 脚本APP 手机如何开发简单APP
  • C++17常用新特性
  • oj题 ——— 链式二叉树oj题
  • 数据库项目实战五
  • Python调用Java接口失败(Java日志打印警告:JSON parse error:xxxx)
  • 没有网站如何做SEO推广有用吗怎么不花钱自己开网店
  • ArkTS分布式设计模式浅析
  • 倍福PGV100-F200A-R4-V19使用手册
  • FD2000/4的UEFI编译和烧录文件打包过程记录
  • 微信小程序map自定义气泡customCallout
  • 如何在ubuntu调用exe文件
  • Polar MISC (中)
  • 《理解数据在内存中的存储 --- 解密数据在计算机底层的存储秘密》
  • 兰州网站建设公网站可以换虚拟主机吗
  • 营销型网站建设评价深圳福田住房和建设局网站官网
  • 遍历访问阿里云节点下的所有文件信息并写入excel文件
  • 平台消息推送(go)