Linux:冯·诺依曼体系结构和操作系统

文章目录

  • 冯·诺依曼体系结构
  • 操作系统
    • 概念
    • 操作系统的作用
    • 定位
    • 机制
    • 操作系统如何管理硬件

冯·诺依曼体系结构

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

在这里插入图片描述

截至目前,我们所认识的计算机,都是由一个个的硬件组件组成:

  1. 输入单元:包括键盘, 鼠标,扫描仪, 写板,磁盘、摄像头、网卡等
  2. 输出设备:显示器、打印机、播放器、磁盘、网卡
  3. 中央处理器(CPU):CPU中有运算器和播放器,运算器对数据进行计算(算数运算和逻辑运算);控制器对计算机硬件流程进行一定的控制。

在图中我们还可以看到存储器,存储器指的就是内存。不考虑缓存情况,CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)。外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。一句话:所有设备都只能直接和内存打交道。

因为CUP的运行速度很快,而输入输出设备的读取/写入速度很慢,如果直接让CPU和输入输出设备交互,CUP会有很长时间是闲置的,这就造成了资源浪费。而内存的速度介于输入输出设备和CPU之间,所以让内存充当输入输出设备和CUP之间的枢纽可以减少资源浪费,在CPU计算的同时,可以将要处理的数据提前加载到内存中,等CPU要处理时可以直接有内存提供数据,极大提高了运算效率。

操作系统

概念

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。

操作系统通过帮助用户管理好软硬件资源,来为用户提供良好的执行环境。

笼统的理解,操作系统包括:

  1. 内核(进程管理,内存管理,文件管理,驱动管理)
  2. 其他程序(例如函数库,shell程序等等)

操作系统的作用

  1. 与硬件交互,管理所有的软硬件资源
  2. 为用户程序(应用程序)提供一个良好的执行环境

定位

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

机制

在这里插入图片描述

图示为冯诺依曼体系结构下的计算机软硬件结构。最底层为一个个硬件,磁盘、鼠标、键盘等,每一个硬件都有自己对应的驱动程序,只有驱动程序才能控制相应的硬件。

操作系统担任底层硬件的管理工作,包括:内存管理,进程管理,文件管理,驱动管理。

所以操作系统管理底层硬件是通过管理硬件对应的驱动来实现的。

这就是操作系统管理底层硬件的结构。

而操作系统为了保证自己内部数据的安全,也为了保证能给用户提供服务,操作系统以接口的方式给用户提供调用的入口,来获取操作系统内部的数据。

系统接口是由操作系统提供的,用C语言实现的,自己内部的函数调用。所有访问操作系统的行为,都只能通过系统调用完成。

所以用户是不能直接对操作系统内部的数据进行操作的,想要对操作系统进行操作,只能通过操作系统提供的系统调用接口。

而有一些程序员又对系统调用接口进行封装,形成了库,用户在编写程序时,可以调用库方法,库方法会调用系统调用接口,通过这样的方式来操作操作系统。

操作系统如何管理硬件

在操作系统中,管理任何对象,最终都可以转化成为对某种数据结构的增删查改。

所以操作系统中存在大量的数据结构。

操作系统管理硬件遵循一个原则:先描述,再组织。

描述指的是用结构体来存储硬件的各种信息,创建一个结构体对象,通过对该结构体对象的增删查改代表对硬件的管理。

先描述,再组织。

描述指的是用结构体来存储硬件的各种信息,创建一个结构体对象,通过对该结构体对象的增删查改代表对硬件的管理。

组织指的是多个结构体对象的管理方式,一般是用链表或其他高效的数据结构。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录一次被谷歌封号后又解封的过程

先提前恭祝2024年所有参加高考的学子们都能金榜题名,会的全对,不会的蒙的全对! 一、背景 众所周知,谷歌、ios应用市场对app的审查都是极其严格的,开发者稍有不慎就会被谷歌下架应用,乃至封号。我们公司是做…

mobaxterm怎么ssh连接

要使用 MobaXterm 进行 SSH 连接,请按照以下步骤操作: 1、首先,确保已经安装了 MobaXterm 软件。 你可以在官方网站(https://mobaxterm.mobatek.net/)上下载并安装它。 2、打开 MobaXterm 软件后,你会看…

《大道平渊》· 拾壹 —— 商业一定是个故事:讲好故事,员工奋发,顾客买单。

《大道平渊》 拾壹 "大家都在喝,你喝不喝?" 商业一定是个故事,人民群众需要故事。 比如可口可乐的各种故事。 可口可乐公司也只是被营销大师们, 作为一种故事载体,发挥他们的本领。 营销大师们开发故事…

杨校老师项目之基于SpringBoot的理发店的预约管理系统

原系统是SSMJSP页面构成,先被修改为SpringBoot JSP页面 自助下载渠道: https://download.csdn.net/download/kese7952/89417001,或 点我下载 理发师信息: 理发师详细信息 公告信息 员工登录: 管理员登录

Mysql8安装教程与配置(超详细图文)

MySQL 8.0 是 MySQL 数据库的一个重大更新版本,它引入了许多新特性和改进,旨在提高性能、安全性和易用性。 1.下载MySQL 安装包 注:本文使用的是压缩版进行安装。 (1)从网盘下载安装文件 点击此处直接下载 &#…

CSS学习|css三种导入方式、基本选择器、层次选择器、结构伪类选择器、属性选择器、字体样式、文本样式

第一个css程序 css程序都是在style标签中书写 打开该网页,可以看到h1标签中的我是标题被渲染成了红色 可以在同级目录下创建一个css目录,专门存放css文件,可以和html分开编写 然后在html页面中,利用link标签以及css文件地址&…

2024年6月8日 (周六) 叶子游戏新闻

万能嗅探: 实测 网页打开 某视频号、某音、某红薯、某站,可以做到无水印的视频和封面下载功能哦,具体玩法大家自行发挥吧。 《丝之歌》粉丝又要失望:大概率不会亮相Xbox发布会即将于后天举行的 Xbox 发布会预计将会有许多令人兴奋的消息。早些…

使用Ollama+OpenWebUI部署和使用Phi-3微软AI大模型完整指南

🏡作者主页: 点击! 🤖AI大模型部署与应用专栏:点击! ⏰️创作时间:2024年6月6日23点50分 🀄️文章质量:96分 欢迎来到Phi-3模型的奇妙世界!Phi-3是由微软…

Vue学习|Vue快速入门、常用指令、生命周期、Ajax、Axios

什么是Vue? Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写 基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。官网:https://v2.cn.vuejs.org/ Vue快速入门 打开页面&#xff0…

Cinema 4D 2024 软件安装教程、附安装包下载

Cinema 4D 2024 Cinema 4D(C4D)是一款由Maxon开发的三维建模、动画和渲染软件,广泛用于电影制作、广告、游戏开发、视觉效果等领域。Cinema 4D允许用户创建复杂的三维模型,包括角色、场景、物体等。它提供了多种建模工具&#x…

调研管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,基础数据管理,教师类型管理,课程类型管理,公告类型管理 前台账户功能包括:系统首页,个人中心,论坛&#…

系统架构设计师【补充知识】: 应用数学 (核心总结)

一、 图论之最小生成树 (1)定义: 在连通的带权图的所有生成树中,权值和最小的那棵生成树(包含图中所有顶点的树),称作最小生成树。 (2)针对问题: 带权图的最短路径问题。 (3)最小生成树的解法有普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法,我…

英伟达Docker 安装与GPu镜像拉取

获取nvidia_docker压缩包nvidia_docker.tgz将压缩包上传至服务器指定目录解压nvidia_docker.tgz压缩包 tar -zxvf 压缩包执行rpm安装命令: #查看指定rpm包安装情况 rpm -qa | grep libstdc #查看指定rpm包下的依赖包的版本情况 strings /lib64/libstdc |grep GLI…

如何稳定高效地进行 TiDB 数据导入导出?

对于在数据库行业中摸爬滚打多年的老鸟 DBA 来说,TiDB 可是一点也不陌生,作为 PingCAP 公司自主研发的真开源分布式数据库,其先进的设计理念以及丰富的生态工具,可算得上是业界自主创新和性能领先的代名词。 TiDB 是谁&#xff1…

powershell:使用IProgressDialog接口创建windows标准进度对话框。

禁止任何形式的抄录,转载请附上本文章地址 Add-Type using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.InteropServices; // 定义ProgressDialog类,实现IProgressDialog接口 …

【SpringCloud学习笔记】Docker(中篇)

Docker 1. 自定义镜像 前面我们都是使用docker pull拉取仓库中现成的镜像,但是如果我们想要将一个Java应用程序构建成镜像然后部署应该怎么做呢?这个时候我们就需要自定义镜像了 **镜像:**本质上就是一堆文件的集合,包含了应用程…

深入探讨5种单例模式

文章目录 一、对比总览详细解释 二、代码1. 饿汉式2. 饱汉式3. 饱汉式-双检锁4. 静态内部类5. 枚举单例 三、性能对比 一、对比总览 以下是不同单例模式实现方式的特性对比表格。表格从线程安全性、延迟加载、实现复杂度、反序列化安全性、防反射攻击性等多个方面进行考量。 …

淘宝扭蛋机小程序,扭蛋市场创新模式

扭蛋机作为潮玩市场的娱乐消费方式,成为了当下消费者的新宠。扭蛋机凭借自身性价比高、商品多样、惊喜性等特点,吸引了各个年龄层的消费者,不仅年轻人喜欢,不少小学生和老年人也非常喜欢,扭蛋机市场迎来了快速发展期。…

MySQL: 表的增删改查(基础)

文章目录 1. 注释2. 新增(Create)3. 查询(Retrieve)3.1 全列查询3.2 指定列查询3.3 查询字段为表达式3.4 别名3.5 去重: distinct3.6 排序: order by3.7条件查询3.8 分页查询 4. 修改 (update)5. 删除(delete)6. 内容重点总结 1. 注释 注释:在SQL中可以使用“–空格…

Spring Boot 集成 zxing 生成条形码与二维码

前面我们知道了怎么通过 使用 zxing 生成二维码以及条形码, 由于我们现在都是 web 端的项目了,那么我们看下怎么使用 Spring Boot 集成然后返回给前端展示: 工程源码 对应的工程源码我放到了这里:github源码路径,点击…