冯诺依曼体系和操作系统简单介绍

news2024/11/17 23:48:45

冯诺依曼体系和操作系统简单介绍

冯诺依曼体系

image-20231114204538118

  • 输入设备:键盘,话筒,摄像头,usb,鼠标,磁盘/ssd,网卡等等
  • 输出设备:显示器,喇叭,打印机,磁盘,网卡,显卡等等
  • 存储器就是内存

所有的设备只能直接和内存打交道,计算机几乎所有设备都有存储能力
CPU是纳秒级别的,内存是微秒/纳秒级别,输入输出单元是毫秒/微秒级别的

程序在运行之前,必须先加载到内存。因为,程序=代码+数据,最终都要CPU处理,CPU需要先读取这些代码和数据,而CPU只和内存有**数据(二进制)**层面的交互,编译完代码形成的exe文件在磁盘(外设)中保存

image-20231114205724568

  • 以CPU为中心,距离CPU越近存储效率越高,造价越贵
  • 数据层面上CPU不直接和外设进行交互(因为外设速度太慢),CPU和内存直接交互
  • 基于冯诺依曼体系结构的计算机。本质:用比较少的钱,做出来效率不错的计算机

操作系统

  • 任何一个计算机系统包含一个基本的程序集合,称为OS

    • 内核(进程管理,内存管理,文件管理,驱动管理)
    • 其他程序(例如函数库,shell程序等等)
  • 操作系统是一款软件,电脑启动时除BIOS外第一个加载的软件,进行软硬件资源管理的软件

  • 操作系统将软硬件资源管理好,给用户提供良好的(稳定,高效,安全)使用环境(目的)

image-20231114210931376

​ 那么操作系统是如何管理硬件资源的呢?

比如学校,校长将每个学生的数据通过辅导员总结出来,校长做决策,辅导员做执行,实际上管理的本质不是管人,而是管理数据,对每一个学生建模,用一个对象./结构体保存学生的属性(学号,成绩,姓名,手机号,家庭住址等等)这个很重要,就是先描述,再组织(任何管理工作都可以经过六个字进行计算机建模),然后用一种数据结构(hash,堆,搜索二叉树,链表等)管理起来,对结构化的数据进行管理。

这种方式就是面向对象,把相关数据和方法组织为一个整体,人是通过属性认识世界的任何事物,重要属性的集合就代表这个人或事物

所以本质上图中的操作系统用对象保存着硬件的各种属性/信息,通过驱动程序得到硬件实时数据然后写入对象中,再用一种数据结构链接起来,即可对硬件进行管理

​ 操作系统是如何和用户进行交互的呢?

用户不能直接和操作系统进行交互,在其之间还有一层,就是系统调用接口,操作系统不相信用户,所以特地封装了一层接口来给用户使用,而让用户学习系统调用接口成本有些高,所以在此之上又封装了一层shell,用户就通过学习成本更低的shell指令来和操作系统交互。以及一些库函数也调用了系统调用接口,比如C/C++的printf cout函数。库函数系统调用是上下层的关系

一个用户想要访问非常底层的OS数据或者访问硬件必须贯穿整个层状结构,也就是一定要调用系统调用接口

  • 狭义上的操作系统就是内核(操作系统+系统调用),广义上的操作系统就是在狭义的基础上加上了shell外壳,或者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1211171.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

xstream实现xml和java bean 互相转换

目录 pom引用java bean 类XML 转换工具类测试类执行结果注意问题 JAXB方式见: JAXB实现XML和Bean相互转换 Java中实现XML和Bean的转换的方式或插件有以下几种: JAXB(Java Architecture for XML Binding):JAXB是Java …

优化了

v2.0.2版本在 github 发布了。 ## 优化的功能 优化(定时任务): 测试计划与定时任务模块进行了合并,极大的简化了操作步聚。 1、前端页面,测试计划plan,加入1个接口,设置每分钟运行1次。 2、开启定时任务服务,后台日志 …

微信小程序H5 uniapp

最近微信小程序对有视频播放的审核严,需要提供“文娱类资质”。而申请这个资质比较繁琐。所以我们在小程序上用web-view做跳转到H5,H5使用uniapp编写。这是小程序关于web-view文档说明。https://developers.weixin.qq.com/miniprogram/dev/component/web…

NI MIMO原型验证系统硬件介绍 已更新 2023年1月6日

https://www.ni.com/zh-cn/shop/wireless-design-test/what-is-the-mimo-prototyping-system/introduction-to-the-ni-mimo-prototyping-system-hardware.html 概览 随着采用无线连接方式的设备大量涌现,迫切需要研发可满足更高数据与容量需求的无线技术。来势汹汹…

抖音直播招聘报白企业人力资源有招聘需求的看过来

人力资源行业抖音招聘报白开始了,但是目前的市面的价格不一,很多人力资源公司最近想做抖音的直播报白,做直播待岗,因为最近刚好是招聘高峰期啊,企业需求大,赶上这一波,但是对目前市面上做抖音报…

力扣每日一题-K个元素的最大和-2023.11.15

力扣每日一题:K个元素的最大和 题目链接:2656.K个元素的最大和 题目描述 代码思路 题目看完直接笑嘻了,还有这么容易的题。由题可知,第一次要找出最大值m,那由于把m1放回去,那第二次找的就是m1,以此类推…

seatunnel及web安装常见问题与解决方法

mvn加速下载seatunnel相关jar包 安装seatunnel过程中,解压文件后官方默认提供的connector的jar包只有2个,要想连接mysql,oracle,SqlServer,hive,kafka,clickhouse,doris等时&#x…

问题 H: 棋盘游戏(二分图变式)

题意:要求找到 不放车就无法达到最大数的点 的个数 题解:1.以行列绘制二分图 2.先算出最大二分匹配数 3.依次遍历所有边 删除该边,并计算二分匹配最大值 (若小于原最大值即为重要点)&#xff0…

安装selenium(超级详细)

selenium本身是一个自动化测试工具,它可以让python代码调用浏览器,并获取到浏览器中加载的各种资源,我们可以利用selenium提供的各项功能, 帮助我们完成数据的抓取。 1、在PyCharm中安装selenium 点击PyCharm界面的下方Terminal…

开源项目datavines内存泄漏问题分析

应用程序开启JMX java -Dspring.profiles.activemysql -Dcom.sun.management.jmxremote.port1099 -Dcom.sun.management.jmxremote.sslfalse -Dcom.sun.management.jmxremote.authenticatefalse -Djava.rmi.server.hostname127.0.0.1 -jar dataVines.jar 通过jdk自带工具&…

探索SOLIDWORKS 3DE云平台:产品数据管理与协作的新时代

SOLIDWORKS 3DE云平台为企业提供了基于云端的全方位解决方案,涵盖了产品设计、仿真验证、制造与生产、市场与营销、数据管理和生命周期等领域。通过这一平台,企业能够将创意转化为现实所需的一切资源。同时,3DE云平台还帮助企业摆脱了IT限制&…

类属性修改(为什么python类不具备被赋值能力?)

为什么python类不具备被赋值能力?,用魔术方法收集实参,在类中可以定义方法处理实际参数,实现对类“赋值”。 (笔记模板由python脚本于2023年11月15日 12:45:27创建,本篇笔记适合初通Python类class的coder翻阅) 【学习的…

数据结构第四课 -----线性表之队列

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

高性能架构设计

1. 引言 高性能架构设计在现代系统中至关重要,它能够应对大规模的数据和用户需求增长,提供优秀的用户体验和实时数据处理能力。同时,它也是解决"三高"问题(高并发、高性能、高可用性)的关键。 2. 高性能定…

三维模型的顶层合并构建的点云抽稀关键技术分析

三维模型的顶层合并构建的点云抽稀关键技术分析 倾斜摄影超大场景的三维模型的顶层合并通常会生成大量的点云数据,这对于后续处理和应用可能会带来一些挑战。为了减少数据存储和处理的复杂性,可以采用点云抽稀处理技术来降低点云密度和数据量。本文将对几…

weblogic多机集群节点管理服务配置

1.安装启动管理端控制台略过了,登录到控制台, 2.创建集群,配置信息如图,基本默认就行,点完成。点击集群名称,添加服务器 前两个是管理机上的两个服务,后面是另个一个机器的两个节点服务&#…

sql查询结果跟in传入参数顺序一致

Orcle、postgresql、td-sql中可以使用如下语句 select namefrom tbl_user_infowhere id in (4,3,1)order by instr(4,3,1,id);查询结果:

node将package.json中的包降为低版本或者升级为高版本

前言 比如现在你用某个包的当前版本,但是你安装的版本高了,那么你应该这么做 1.首先删除node项目中的node_modules目录,防止安装时的包不一致 如果没安装就忽略 例如将package.json中的view-design包降为^4.6.1,当前view-design的版本为^4.…

基于Gin+Gorm框架搭建MVC模式的Go语言企业级后端系统

文/朱季谦 环境准备:安装Gin与Gorm 本文搭建准备环境:GinGormMySql。 Gin是Go语言的一套WEB框架,在学习一种陌生语言的陌生框架,最好的方式,就是用我们熟悉的思维去学。作为一名后端Java开发,在最初入门…

优思学院|一文快速看懂TRIZ原理

在创新领域,TRIZ被翻译为发明问题的解决理论。TRIZ理论深刻揭示了创造发明的内在规律和原理,专注于澄清和强调系统中存在的矛盾,旨在完全解决这些矛盾,实现最终的理想解决方案。实践证明,运用TRIZ理论不仅能够极大地加…