码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Linux】浅谈冯诺依曼体系结构与操作系统


    目录

    一.冯诺依曼体系结构

    1.概念

    2.问题

    为什么不能让输入输出设备与CPU直接交互呢??

    程序要运行,为什么必须先加载到内存??

    请简述一下在qq上,发送数据的一方,发出“hello”,数据是如何流向的?(这里不对网络详细解释,只是用这个例子更加熟悉冯诺依曼体系结构)

    二.操作系统

    1.粗略认识

    操作系统是什么?

    为什么要有操作系统?

    如何实现的管理?

    2.全面认识

    图文描述

    结论


    一.冯诺依曼体系结构

    1.概念

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

    存储器:内存

    输入设备:键盘,摄像头,话筒,磁盘,网卡...

    输出设备:显示器,音响,磁盘,网卡...

    运算器与控制器共同组成了CPU

    运算器:算术运算,逻辑运算

    控制器:响应外部事件,协调外部就绪事件,比如:拷贝数据到内存

    不考虑缓存情况,CPU只能对内存进行读写,不能访问外设(也就是输入或输出设备)

    外设要输入或输出数据,只能写入内存或者从内存中读取,总之,所有设备都只能直接和内存交互

    2.问题

    为什么不能让输入输出设备与CPU直接交互呢??

    各部分计算速度:

    CPU&&寄存器 > 内存 > 磁盘 > 光盘 > 磁带

    CPU的速度远远大于输入输出设备,如果让CPU与输入输出设备直接交互,由于木桶效应,计算机的整体速度取决于最慢的那一部分,这样就会大大降低计算机的整体速度,有了存储器(内存),让输入输出设备先与内存交互,内存再与CPU交互,这样操作系统软件就可以参与进来,比如,可以预先加载一部分输入输出数据到内存,再由CPU去访问内存,这样计算机的整体速度就与内存有关了,大大缓解整机效率。

    输入设备 -> 存储器 --- input --- 例如:scanf

    存储器 -> 输出设备 --- output --- 例如:printf

    这个数据流动的整体就是一个IO的过程

    总结:有了存储器(内存),计算机启动时,操作系统会存在于内存中,将输入输出设备的数据预先加载到内存,再让CPU访问。这样做便可以让操作系统软件参与进来,加快计算机速度。

    程序要运行,为什么必须先加载到内存??

    答:因为冯诺依曼体系结构的特点决定的!CPU只能对内存进行读写!

    请简述一下在qq上,发送数据的一方,发出“hello”,数据是如何流向的?(这里不对网络详细解释,只是用这个例子更加熟悉冯诺依曼体系结构)

    答:qq是运行在内存中的,发送数据的一方,先从键盘输入到存储器,然后交由cpu处理,处理后交给存储器,再到输出设备(也就是网卡),由网络递交给收数据的一方,收数据的一方先从输入设备(也就是网卡)接收数据,再交由cpu处理,处理后交给存储器,最后交付到输出设备(显示器)

    二.操作系统

    1.粗略认识

    操作系统是什么?

    操作系统是用来管理软硬件的系统软件程序

    对下进行软硬件的管理是手段,对上为用户提供良好的服务是目的

    为什么要有操作系统?

    操作系统可以给用户提供一个稳定,安全,简单的执行环境

    如何实现的管理?

    先描述,后组织。也就是先用结构体描述对象属性,后用数据结构,将这些对象组织起来

    我们可以用现实生活中的例子来进一步理解操作系统是如何进行管理的以及扮演了怎么的一个角色

    2.全面认识

    图文描述

    结论

    1.所谓操作系统进行管理,需要先描述,再组织

    2.操作系统是以系统调用(也就是调用接口(system call))的方式对外提供服务的

    3.微观上的操作系统,是操作系统内核,是接口(system call)之下的部分

       宏观上的操作系统,是操作系统内核 + system call + shell与库函数

  • 相关阅读:
    Centos7常用基本命令使用(时间日期类、用户组管理类、文件权限类)
    怎么把pdf转换成txt
    5、Elasticsearch 索引文档的CRUD
    hystrix功能汇总
    笔记redis
    Java程序设计复习提纲(上:入门语法)
    单片机之硬件记录
    手机浏览器风生水起,多御安全浏览器手机版升级上线
    高并发,你真的理解透彻了吗?高并发核心编程手册荣登Github榜首
    Ubuntu16.04如何安装MongoDB?一文教会你
  • 原文地址:https://blog.csdn.net/Hello_World_213/article/details/126094599
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号