• 冯诺伊曼体系结构和操作系统


    在这里插入图片描述

    欢迎来到Cefler的博客😁
    🕌博客主页:那个传说中的man的主页
    🏠个人专栏:题目解析
    🌎推荐文章:题目大解析3

    在这里插入图片描述


    👉🏻一、冯诺依曼体系结构

    概念

    冯·诺依曼体系(von Neumann architecture)是一种计算机硬件结构,由数学家冯·诺依曼于20世纪40年代提出。这种体系结构被广泛应用于现代计算机的设计中,并成为了现代计算机体系结构的基础。

    以下是对冯·诺依曼体系的简要说明及图解:

    1. 冯·诺依曼体系的组成部分包括:

      • 中央处理器(Central Processing Unit, CPU):负责执行指令和控制计算机的操作。
      • 存储器(Memory),也就是内存:用于存储指令和数据。
      • 输入设备(Input Devices):用于向计算机输入数据。
      • 输出设备(Output Devices):用于从计算机输出结果。
    2. 冯·诺依曼体系的主要特点:

      • 存储程序:指令和数据都以二进制形式存储在存储器中,共享同一地址空间。
      • 顺序执行:指令按照顺序从存储器中取出并执行,每次执行一条指令。
      • 单一总线结构:CPU、存储器和输入/输出设备通过共享的数据总线进行通信。
      • 存储器访问控制:指令和数据可以根据地址直接访问存储器中的特定位置。
      • 存储器随机访问:可以通过地址直接访问存储器中的任意位置。

    下面是一个简单的图示,展示了冯·诺依曼体系的基本结构:

    在这里插入图片描述

    常见的输入设备和输出设备

    常见的输入设备包括:

    1. 键盘:用于输入文本、命令和其他字符。
    2. 鼠标:用于控制光标和选择操作。
    3. 触摸板:类似于鼠标,通过手指触摸来进行操作。
    4. 触摸屏:可以直接通过手指或者触控笔在屏幕上进行输入操作。
    5. 扫描仪:用于将纸质文件、照片等转换为数字格式。
    6. 数字相机:可以将照片和视频传输到计算机。
    7. 麦克风:用于录制声音或进行语音输入。
    8. 游戏控制器:用于玩游戏,并提供操纵手柄和按键功能。
    9. 传感器:例如指纹识别器,用于获取生物特征信息。

    常见的输出设备包括:

    1. 显示器:用于显示图像、文本和视频。
    2. 打印机:用于打印文件、图片和其他图形。
    3. 音频耳机/扬声器:用于播放声音和音乐。
    4. 投影仪:将计算机屏幕上的内容投射到大屏幕上显示。
    5. 照相机/摄像机:用于拍摄照片和视频。
    6. 绘图板:类似于电子画板,用于绘制图像和图表。
    7. 振动反馈设备:通过震动提供触感反馈,如游戏手柄的震动反馈等。

    磁盘——输入设备or输出设备? 🤔
    实际上,磁盘(硬盘、固态硬盘等)通常被认为是一种存储设备而不是严格意义上的输入设备或输出设备。磁盘可以用于存储数据,并在需要时从中读取数据,这使得它既可以作为输入设备(读取数据)又可以作为输出设备(存储数据)。然而,磁盘并不直接与用户进行交互,而是通过其他输入设备(如键盘、鼠标)和输出设备(如显示器、打印机)来实现与用户的数据交换。

    具体来说,当将数据保存到磁盘时,磁盘被视为一个输出设备。例如,当我们将文件保存到硬盘上时,硬盘就是一个输出目标,数据从计算机的内存传输到磁盘存储器中。

    而当从磁盘中读取数据时,磁盘被视为一个输入设备。例如,当我们打开一个文件或加载一个程序时,数据从硬盘中读取到计算机的内存中,以供进一步处理。

    总结来说,磁盘在计算机系统中扮演了存储设备的角色,并且可以用作输入设备(读取数据)和输出设备(存储数据),但它并不直接参与用户与计算机之间的交互,需要通过其他输入和输出设备来完成数据的输入和输出

    内存存在的意义

    我们都知道,cpu是非常快的,那么输入数据的时候,为什么不直接将输入到外设的数据直接输送给cpu,而要先于内存打交道呢?
    这里涉及到了木桶效应
    在这里插入图片描述
    是啊,cpu你很快,但是数据输入的太慢了,你再快,不也得等我把数据输入你才能开始处理吗,
    就像是我原本一分钟能干100份的工作,但你只给了我一份,这就使得无法发挥出cpu的全部实力。

    所以内存由此诞生,先将数据存储到内存当中,cpu从内存里面拿数据,内存的速度虽不如cpu,但存储数据传输给cpu是够了。
    总而言之,我们需要记住的是:

    • CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)
    • 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取

    👉🏻二、操作系统

    概念

    操作系统是一种软件,它是计算机系统中最基本的系统软件之一。它负责管理和控制计算机硬件资源,并提供给用户和应用程序一个简化和统一的界面来访问计算机系统。

    操作系统有以下几个主要功能:

    1. 资源管理:操作系统负责管理计算机的各种硬件资源,包括处理器(CPU)、内存、硬盘、输入输出设备等。它分配和回收这些资源,以满足不同程序和用户的需求,并确保它们能够高效地共享和协调使用。

    2. 进程管理:操作系统通过进程管理来控制和协调程序的执行。它负责创建、调度、暂停、恢复和终止进程。每个进程都拥有自己的运行环境,包括内存空间、CPU时间片和打开的文件等。操作系统通过调度算法来决定哪个进程在某一时刻运行,并提供进程间通信机制。

    3. 内存管理:操作系统管理计算机的内存资源。它负责分配和回收内存空间,将进程和数据加载到内存中,以及进行内存的地址映射和保护。操作系统还通过虚拟内存技术扩展了可用内存的大小,允许大型程序运行在有限的物理内存上。

    4. 文件系统管理:操作系统负责管理计算机上的文件和目录。它提供了对文件的创建、读取、写入和删除等操作,并维护文件的组织结构和访问权限。文件系统还处理存储介质上的物理块分配和存储空间的管理,确保文件数据的安全性和完整性。

    5. 用户界面:操作系统提供给用户和应用程序一个界面来与计算机系统进行交互。它可以是命令行界面(如DOS),图形用户界面(如Windows、macOS)或基于Web的界面。用户通过输入设备(如键盘、鼠标)和输出设备(如显示器、打印机)与操作系统进行通信。

    在这里插入图片描述

    总体而言,操作系统是计算机系统中的核心软件,它管理和控制计算机的硬件资源,为用户和应用程序提供了一个友好、高效的环境来执行各种任务和操作。不同的操作系统有不同的设计和特点,例如Windows、macOS、Linux等。

    操作系统如何管理

    我们知道了,操作系统是对硬件资源进行管理,但是操作系统是直接与硬件打交道吗?

    实际上不是,在上面的图中,我们看到,操作系统和硬件之间存在一个硬件驱动,这是什么呢。
    说的言简意赅的就是,操作系统发布指令给硬件驱动,而后硬件驱动,顾名思义,就去驱动对应的硬件,
    举个简单的例子,我们买了一个酷炫的游戏鼠标,我们想让其颜色变的花里胡哨的,我们就会去下一个鼠标驱动的软件,
    而此时,操作系统通过这个鼠标驱动的软件与鼠标就建立起了联系。
    在这里插入图片描述

    而我们给鼠标换颜色的过程可以表示为

    用户在系统调用接口(图形化界面/shell外壳等)发送请求->操作系统调用接口接收到请求->操作系统根据请求发送指令给硬件驱动->硬件被驱动(变化颜色)

    🌈这里我们就总结一下管理的本质

    • 管理者和被管理者是不需要直接沟通的
    • 管理的本质是对被管理对象的数据做管理
    • 管理的方法是先描述,再组织

    ☀️在整个计算机软硬件架构中,操作系统的定位是:一款纯正的“搞管理”的软件


    如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注🌹🌹🌹❤️ 🧡 💛,学海无涯苦作舟,愿与君一起共勉成长

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    go语言并发实战——日志收集系统(七) etcd的介绍与简单使用
    Css Sprite是什么 有什么优缺点?
    分布式全局唯一ID生成方案(附源码)
    【FPGA】时序逻辑电路——基于计数器实现一个以1秒频率闪烁的LED灯
    Java的JDBC编程
    【Flask】官方教程(Tutorial)-part3:blog蓝图、项目可安装化
    Go语言实现原理——Map实现原理
    【JVM笔记】G1回收器垃圾回收过程
    【Golang】程序如何优雅的退出?
    【python】程序员最浪漫的表白方式,将情书写在她的照片里
  • 原文地址:https://blog.csdn.net/cefler/article/details/133199761