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

【Linux系统】计算机世界的基石:冯诺依曼架构与操作系统设计

文章目录
  • 一.冯诺依曼体系结构
    • 1.1 为什么体系结构中要存在内存?
    • 1.2 冯诺依曼瓶颈
  • 二.操作系统
    • 2.1 设计目的
    • 2.2 系统调用与库函数

一.冯诺依曼体系结构

冯诺依曼体系结构(Von Neumann Architecture)是计算机的基本设计理念之一,由美国数学家约翰·冯·诺依曼于1945年提出,也被称为“冯诺依曼模型”或“冯诺依曼计算机体系结构”。它的核心思想是将程序和数据存储在计算机的内存中,并通过中央处理单元(CPU)执行程序。冯诺依曼体系结构至今仍然是大多数计算机的基础架构。

在这里插入图片描述

  • 中央处理器(CPU

    • 控制单元(CU):负责指挥计算机各部分的工作。

    • 算术逻辑单元(ALU):进行算术和逻辑运算。

    • 寄存器:用于暂时存储数据和指令。

  • 内存(RAM

    • 存储程序和数据。冯诺依曼结构中的程序和数据都存储在同一内存中。
  • 输入设备:用于向计算机输入数据,例如键盘、鼠标等。

  • 输出设备:用于输出处理结果,例如显示器、打印机等。

  • 总线:用于在各个组件之间传输数据和指令的通道。

注意:

  1. 上面的存储器指的就是内存

  2. 不考虑缓存的情况下这里的CPU只能对内存中的数据进行操作,不能从外设 (输入和输出设备)中获取数据

  3. 外设(输入或输出设备)要输入或输出数据,只能从内存中获取

  4. 总的来说,所有设备都只能与内存打交道

1.1 为什么体系结构中要存在内存?

CPU处理速度非常快,但是输入数据的速度相较于CPU的速度是非常慢的,这就导致了很多时候CPU都在等待数据的输入,严重浪费了CPU的性能,所以增加内存,让CPU直接跟内存交换数据,充分发挥CPU的性能。(内存输入输出的数据的速度是非常快的)

计算机存储金字塔:
在这里插入图片描述

1.2 冯诺依曼瓶颈

冯诺依曼架构存在一个著名的问题,即“冯诺依曼瓶颈”(Von Neumann Bottleneck)。这是由于程序和数据共享同一个内存系统,CPU在执行指令时需要频繁地从内存读取指令和数据,导致内存的读写速度成为限制计算机性能的瓶颈。随着计算机硬件的不断发展,解决冯诺依曼瓶颈的问题成为计算机体系结构研究的一个重要方向。

总的来说,冯诺依曼体系结构让计算机保持一定处理速度的同时,降低了计算机的成本,使得计算机能够进入各家各户,为之后互联网的发展奠定了基础。

二.操作系统

操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的系统软件,它为应用程序提供了一个运行环境,并为用户提供与计算机硬件交互的接口。

操作系统包括:

  1. 内核(进程管理,内存管理,文件管理,驱动管理)

  2. 其他程序(例如函数库,shell程序等等)
    在这里插入图片描述

一般而言,操作系统指的是内核

2.1 设计目的

  1. 操作系统对下与硬件交互,进行软硬资源的管理(手段)

  2. 操作系统对上为用户程序(应用程序)提供个良好的执行环境(目的)

在这里插入图片描述
软硬件体系结构是层状结构

  • 访问操作系统,其实就是系统调用(系统提供的函数)

  • 只要程序运行访问了硬件,那么必须贯穿整个软硬件体系结构

  • 函数库在底层封装了系统调用

2.2 系统调用与库函数

  1. 操作系统会暴露部分接口供上层开发者使用,这部分接口就是系统调用。

  2. 系统调用的功能比较基础,对使用者要求较高,所以一部分开发者将系统调用的接口进行封装,从而形成了库,有利于开发者进行二次开发。


Have a good day??

See you next time, guys???请添加图片描述

相关文章:

  • 【HCIA-网工探长】04:ARP笔记
  • 20242817李臻《Linux⾼级编程实践》第6周
  • Vue项目与云管平台Nginx部署笔记
  • Go工具命令及使用指南
  • 【加密社】如何创建自己的币圈工具站
  • 如何使用 AppML
  • uniapp中APP上传文件
  • 版本控制GIT的使用
  • 【2025】基于python+flask的篮球交流社区平台设计与实现(源码、万字文档、图文修改、调试答疑)
  • SpringBoot分布式定时任务实战:告别重复执行的烦恼
  • 使用 FastAPI 快速开发 AI 服务的接口
  • 【2025】基于springboot+vue的校园心理健康服务平台(源码、万字文档、图文修改、调试答疑)
  • 【Matlab】串口通信(serialport对象,读写、回调、删除等)
  • 2023 年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷 B 私有云服务搭建解析笔记
  • Linux常用命令指南
  • 什么是 Ansible Playbook?
  • 如何根据目标网站调整Python爬虫的延迟时间?
  • 2025年渗透测试面试题总结-某 B站-攻防实验室(题目+回答)
  • 循环查询指定服务器开放端口(Python)
  • mysql如何给字段添加默认值?
  • 美国公布新型核弹B61-13,威力是广岛原子弹的21倍
  • 中疾控专家:新冠感染的临床严重性未发生显著变化
  • 上海发布台风红色预警?实为演练,今日下午局部中雨下班请注意
  • 住建部:目前已累计建设改造各类市政管网50万公里
  • 国家统计局:4月全国城镇调查失业率为5.1%,比上月下降0.1个百分点
  • 广东一驴友在英德野景点溺亡,家属被爆向21名同伴索赔86万