【Linux】冯诺依曼体系结构以及初始操作系统

文章目录

  • 冯诺依曼体系结构
  • 操作系统
    • 概念
    • 设计OS的目的
    • 定位
    • 如何理解管理
  • 总结
    • 系统调用和库函数概念

冯诺依曼体系结构

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。
![[Pasted image 20221109142444.png]]

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

  • 输入单元:包括键盘, 鼠标,扫描仪, 写板等
  • 中央处理器(CPU)(快):含有运算器和控制器
  • 输出单元:显示器,打印机等

关于冯诺依曼,必须强调几点:

  • 这里的存储器指的是内存(掉电易失)
  • 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)
  • 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
  • 一句话,所有设备都能直接和内存打交道
设备作用速度
CPU(中央处理器)计算
存储器 内存存储较快
外设永久存储
CPU其实很笨,只能被动的接受别人的指令,别人的数据->执行别人的指令,计算别人数据,cpu得先认识别人的命令->内部有自己的指令集,以硬件的方式做好的.
所以我们写代码,编译的本质的写二进制可执行程序,翻译成CPU的指令集,让他执行命令.
CPU在读取和写入的过程中,在数据层面,只和内存打交道:主要是为了提高整机效率

程序要运行的时候必须加载到内存上:CPU要执行我的代码访问我的数据,就必须在内存中读取(体系结构规定)->提高计算效率

操作系统

概念

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

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

设计OS的目的

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

系统调用(OS提供的C函数)->操作系统->硬件驱动->硬件(软件)

定位

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

如何理解管理

管理的例子
描述被管理对象
组织被管理对象
管理的本质->对数据的管理
所有的管理本质逻辑都是:先描述再组织,无论是对硬件还是软件的管理

eg.C++:先写一个类(描述),再list,vector(组织)

![[Pasted image 20221109142803.png]]

总结

计算机管理硬件

  1. 描述起来,用struct结构体
  2. 组织起来,用链表或其他高效的数据结构

系统调用和库函数概念

  • 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。
  • 系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。

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

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

相关文章

Ubuntu GCC切换源

Ubuntu GCC切换源 sudo apt-get install gcc-9 g-9将安装的 gcc-9和g9更新到gcc选项中 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 sudo update-alternatives --install /usr/bin/g g /usr/bin/g-9 100将系统的gcc-11和g11更新到gcc选项中&…

HDFS 基本 shell 操作

HDFS 基本 shell 操作 1.1 创建目录1.2 上传指令1.3 创建空文件1.4 向分布式文件系统中的文件里追加内容1.5 查看指令1.6 下载指令1.7 合并下载1.8 移动hdfs中的文件1.9 复制hdfs中的文件到hdfs的另一个目录1.10 删除命令1.11 查看磁盘利用率和文件大小1.12 修改权限1.13 修改文…

366周赛

2897. 对数组执行操作使平方和最大 位运算技巧 2896. 执行操作使两个字符串相等 动规技巧太巧妙,可以多看几遍理解。

专门解决数学问题的大模型

01 项目介绍 LLEMMA:一个专门解决数学问题的开源大语言模型,能力超过所有已知的开源模型 LLEMMA由多个大学和Eleuther AI公司共同研发,模型能够理解和生成数学表达式、解决数学问题,并与其他计算工具(如Python解释器…

ESP32网络开发实例-Web页面控制舵机

Web页面控制舵机 文章目录 Web页面控制舵机1、ESP32驱动舵机介绍2、软件准备3、硬件准备4、代码实现4.1 舵机基本控制实例4.2 使用电位计控制舵机实例4.3 Web页面控制舵机本文将介绍如何在ESP32的Web服务器页面中控制伺服电机。 1、ESP32驱动舵机介绍 在本节中,我们将回顾伺服…

修改el-date-picker宽度

<div style"width: 100%"><el-date-pickerstyle"width:100%"v-model"value"type"datetimerange"start-placeholder"开始日期"end-placeholder"结束日期":default-time"[12:00:00]"value-forma…

pytorch 入门 (五)案例三:乳腺癌识别-VGG16实现

本文为&#x1f517;小白入门Pytorch内部限免文章 &#x1f368; 本文为&#x1f517;小白入门Pytorch中的学习记录博客&#x1f366; 参考文章&#xff1a;【小白入门Pytorch】乳腺癌识别&#x1f356; 原作者&#xff1a;K同学啊 在本案例中&#xff0c;我将带大家探索一下深…

面向对象设计——原型模式

原型设计模式是一种创建型设计模式,其主要目标是创建对象的新实例,同时尽量减少与使用者的交互,以降低对象创建的复杂性。这通过复制(或克隆)现有对象的实例来实现,以获得新对象,而不是通过实例化类来创建。 以下是原型设计模式的关键概念: 原型接口(Prototype Inter…

Response Header中不暴露Server(IIS)版本、ASP.NET及相关版本等信息

ASP MVC开发的Web默认情况下会在请求的回应中暴露Server、X-AspNet-Version、X-AspNetMvc-Version、X-Powered-By等相关服务端信息&#xff0c;公开这些敏感信息会存在一定的安全风险。 X-SourceFiles标头用于被IIS / IIS Express中某些调试模块理解&#xff0c;它包含到磁盘上…

LangChain+LLM实战---BERT主要的创新之处和注意力机制中的QKV

BERT主要的创新之处 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是一种基于Transformer架构的预训练语言模型&#xff0c;由Google在2018年提出。它的创新之处主要包括以下几个方面&#xff1a; 双向性&#xff08;Bidirectional&…

【Vue】初步认识<script setup>语法糖和组合式 API

▒ 目录 ▒ &#x1f6eb; 导读需求开发环境 1️⃣ &#x1f6eb; 导读 需求 最近写代码的时候&#xff0c;发现<script setup>这样的代码&#xff0c;没见过&#xff0c;好奇&#xff0c;想知道。 所以就有了这篇文章。 很多文章都说setup是vue3的特权。但是&#xff…

Vue图片路径问题(动态引入)

vue项目中我们经常会遇到动态路径的图片无法显示的问题&#xff0c;以下是静态路径和动态路径的常见使用方法。 1.静态路径 在日常的开发中&#xff0c;图片的静态路径通过相对路径和绝对路径的方式引入。 相对路径&#xff1a;以.开头的&#xff0c;例如./、../之类的。就是…

SQLSmith: Databend 如何利用随机化测试检测 Bug

作者&#xff1a;白 珅 Databend 研发工程师 https://github.com/b41sh 为什么需要 SQLSmith&#xff1f; 在数据库系统的开发和维护过程中&#xff0c;测试扮演着至关重要的角色。它不仅可以验证功能的正确性&#xff0c;还可以发现潜在的问题&#xff0c;确保数据库在每个变…

MySQL主从架构

1 主从架构解决了什么问题 随着业务的持续增长&#xff0c;单体数据库满足不了业务的需求&#xff0c;可能会出现负载过重&#xff0c;操作数据库速度变慢的情况。为了解决这个问题&#xff0c;数据库一般采用一主一从、一主多从的架构。 为了操作提高效率&#xff0c;减轻压…

sql在线练习

SQLBolt - 学习 SQL - SQL 简介https://sqlbolt.com/拿走不谢&#xff01;&#xff01;&#xff01; UIUC什么乱七八糟的啊

探讨下前端测试的常见场景

前端测试 场景 这边指的测试是指白盒测试&#xff0c;用代码来测试代码。 测试有利于提升代码质量。 代码功能和需求一致。根据需求&#xff0c;写测试。测试通过了&#xff0c;则表明需求实现了。保证代码重构后&#xff0c;未改坏以前的功能。代码重构后&#xff0c;能通过…

html5怎么实现语音搜索

html5怎么实现语音搜索 谷歌的网站在他们首页发现了HTML5的新玩法——语音搜索。 注意&#xff1a; 只有webkit核心的浏览器才能使用 用法很简单 只需要在input添加属性x-webkit-speech即可&#xff0c;例子如下&#xff1a; 代码如下: <input type"text" x-…

一文告诉你样机是什么,分享几个常用的样机模板

一个项目的诞生通常需要经历头脑构思、绘制设计和最终着陆。在这个过程中&#xff0c;样机制作往往是在着陆实践之前进行的。俗话说&#xff1a;“样机使用得好&#xff0c;草稿过早”。样机设计是产品或网站最终设计的生动、静态和视觉表现。它为用户提供了一种模拟现实的方式…

信息系统项目管理师教程 第四版【第7章-项目立项管理-思维导图】

信息系统项目管理师教程 第四版【第7章-项目立项管理-思维导图】 课本里章节里所有蓝色字体的思维导图

【uniapp】短信验证码输入框

需求是短信验证码需要格子输入框 如图 网上找了一个案例改吧改吧 直接上代码 结构 <template><view class"verify-code"><!-- 输入框 --><input id"input" :value"code" class"input" :focus"isFocus"…