【Linux】操作系统与冯诺依曼体系——深度解析(软硬件层面)

在这里插入图片描述

前言

大家好吖,欢迎来到 YY 滴 Linux系列 ,热烈欢迎! 本章主要内容面向接触过Linux的老铁,从软硬件层面向大家介绍操作系统与冯诺依曼体系,
主要内容含:
在这里插入图片描述

欢迎订阅 YY滴Linux专栏!更多干货持续更新!以下是传送门!

订阅专栏阅读: YY的《Linux》系列 ❀❀❀❀❀
【Linux系列-P1】Linux环境的搭建
【Linux系列-P2】 Linux的基本知识与指令
【Linux系列-P3】 Linux的权限
【Linux系列-P4】 Linux基本工具[yum][vim]

文章目录

  • 一.冯诺依曼体系(硬件层面)
    • 1.CPU与输入输出设备
    • 2.存储器
    • 3.存储的分级
  • 二.操作系统(软件层面)
    • 1.操作系统概述
    • 2.系统调用

一.冯诺依曼体系(硬件层面)

1.CPU与输入输出设备

在这里插入图片描述

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

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

中央处理器(cpu)又分成运算器与控制器

  • 运算器:对我们的数据进行计算任务(算数运算,逻辑运算)
  • 控制器:对我们的计算硬件流程进行一定的控制

各个硬件之间都是独立的个体!因此必须用“线”连接起来,分为系统总线与IO总线;

  • 系统总线:CPU与内存之间交互的线
  • IO总线:内存与输入输出设备之间交互的线

2.存储器

在这里插入图片描述

这里的存储器指的是【内存】,一句话总结此模块的要点

  • 所有设备都只能直接和内存打交道
    【不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)】
    【外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取】
  • 有时,我们进行工作时,默认显示的数据有时候会缓存起来,并未直接在屏幕上显现;用冯诺依曼体系解释就是数据就是先到存储器中的【内存】,还未直接交给输出设备
  • 因此,当我们面对一个问题“一个程序要运行,为什么必须先加载到内存中运行?”,我们可以直接回答:因为冯诺依曼体系规定;

3.存储的分级

引入:手机中常说的“内存不足”其实指的是硬盘空间不足;用存储是分级的现象来解释,且看如图所示金字塔
在这里插入图片描述即,硬盘/磁盘空间不足才是正确说法;

二.操作系统(软件层面)

1.操作系统概述

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

  • 内核(进程管理,内存管理,文件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)
    在这里插入图片描述

操作系统的作用主要有以下两点:(用户层这里主要指程序员)

  • 通过帮助用户管理好软硬件资源【承上启下,实现交互;程序员通过操作系统来访问底层的硬件】
  • 从而给用户提供一个良好(稳定,高效,安全)的运行环境
    在这里插入图片描述

2.系统调用

引入:操作系统内部会有各种各样的数据,可是操作系统不相信任何用户, 于是其会将自己封装起来,并通过“提供接口”的方式给用户(程序员)提供调用的入口来获取操作系统内部的数据;

  • 所有访问操作系统的行为,都只能通过系统调用完成!
  • 系统调用:是操作系统提供的,用C语言实现的,自己内部的函数调用;
  • 系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统
    调用进行适度封装,从而形成库(lib),有了库,就很有利于更上层用户或者开发者进行二次开发。
    在这里插入图片描述

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

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

相关文章

js字符串替换

在JavaScript中,字符串替换 有多种方法,下面介绍其中一些比较常用的方法。 使用replace()方法、 replace()方法用于在字符串中查…

前端需要注意哪些 SEO

前端需要注意哪些 SEO 语义化 多使用语义化标签,让正确的标签对应正确的内容。 重要内容前置 可以利用弹性盒布局中的 order 属性,将核心、重要的内容尽量放到文档的前面。 服务端渲染 由于目前的搜索引擎对客户端渲染并不友好,因此使用服务…

el-table那些事

el-table那些事 获取el-table所有勾选的行数据 用于记录工作和日常学习遇到的坑,需求。 vue3element-plusts 获取el-table所有勾选的行数据 1、需要先声明一个ref变量,并赋值给el-table 2、通过el-table提供的getSelectionRows()函数获取选中的"行…

【iPhone】手机还有容量,拍视频却提示 iPhone 储存空间已满

文章目录 前言解决方案 结语 前言 今天在用 iPhone 录像的时候突然提醒我 iPhone储存空间已满 你没有足够的储存空间来录制视频” 可我明明还有 20G 的容量 我非常疑惑,因为我之前还剩1个G都能录像,现在20G反而不行了,于是重启了手机&#…

伦敦金费用有哪几方面?

通常在网上开设伦敦金投资账户是没有成本的,而它交易的费用,主要是由点差和过夜利息(仓息)构成。如果伦敦金投资者只是做短线的日内交易,做一手完整的100盎司的标准合约,需要支付大约50美元点差费用&#x…

Cesium 迁徙图,飞线、动态圆。

效果图放前面 符合你预期效果往下看,不符合出门右转,不耽搁大家时间。 流光线 这个流光线网上其实都有很多案例 第一步绘制抛物线 里面有些配置参数已经添加了说明。 //抛物线绘制 function parabola(twoPoints: number[]) {let s: number[] []let …

Android 13 Hotseat定制化修改——001 hotseat布局方向

目录 一.背景 二.hotseat布局方向 一.背景 由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小,hotseat布局位置,hotseat图标禁止形成文件夹,hotseat图…

单细胞分类和预测任务

对于分类和预测任务,在生物信息学领域有一些常用的方法和工具可以使用。以下是一些常见的方法和工具: 1. 机器学习方法: 包括支持向量机(Support Vector Machine,SVM)、随机森林(Random Forest…

linux安装C++ opencv

1. 安装依赖 opencv中的一些图像、视频相关的功能需要一些依赖,因此在安装opencv之前需要先安装这些依赖;在使用apt安装相关依赖时,会出现无法安装的情况,这时可以用aptitude来降级安装。 名称apt package 名称功能编译系统buil…

7.6 创建对象内存分析

7.6 创建对象内存分析 主程序实例 package com.baidu.www.oop;import com.baidu.www.oop.demo03.Pet;public class Application {public static void main(String[] args) {Pet dog new Pet();dog.name "旺财";//这里的对象的属性在类中需要定义为public&#xff…

mongodb-win32-x86_64-2008plus-3.4.24-signed.msi

Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Administrator>cd C:\MongoDB\Server\3.4\binC:\MongoDB\Server\3.4\bin>C:\MongoDB\Server\3.4\bin>mongod --help Options:General options:-h [ --help ] …

【C# 基础精讲】条件语句:if、else、switch

条件语句是C#编程中用于根据条件执行不同代码块的关键结构。C#支持if、else和switch三种常见的条件语句,它们允许根据表达式的结果决定程序的执行路径。在本文中,我们将详细介绍这三种条件语句的语法和使用方法。 if语句 if语句用于在给定条件为真&…

Linux Shell 编程入门

从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天…

嵌入式虚拟仿真实验教学平台之串口发送数据

嵌入式虚拟仿真实验教学平台课程系列 串口发送数据实验 课程内容 本实验使用 STM32 的串口发送数据。开始仿真后,打开串口监视器,串口监视器会打印出要发送的数据。 课程目标 学习配置使用GPIO功能学习配置使用复用功能学习配置使用UART功能 硬件设计 本课程…

整理出来的精选shiro面试题

1、简要介绍Shiro框架吗? Apache Shiro是Java的安全框架。 使用Shiro,可以轻松地开发足够好的APP应用程序。 这不仅可以用于JavaSE环境,也可以用于JavaEE环境。 Shiro提供了身份验证、许可、加密、会话管理、与Web集成和缓存等功能。 三个核心组件&am…

微信小程序如何配置并使用less?

1,检查微信开发者工具(工具版本1.03)————这步很重要不然后面按步骤实行后会发现急死你也还是不管用,我之前死在过这一步,所以大家不要再次踩坑了 ~ ~ 。。。 2,在VScode中下载Less插件 3,…

uni-app:分页实现多选功能

效果 代码解析 一、标签-列表 <view class"item_all" v-for"(item, index) in info" :key"index"><view class"position parameter-info text-over" :class"{checked_parameter: item.checked}" :data-id"i…

SSH 认证原理

SSH协议登录服务器&#xff1a; $ ssh userhost 主要有两种登录方式&#xff1a;第一种为密码口令登录&#xff0c;第二种为公钥登录 密码口令登录 通过密码进行登录&#xff0c;主要流程为&#xff1a; 1、客户端连接上服务器之后&#xff0c;服务器把自己的公钥传给客户端…

界面控件DevExpress.Drawing图形库早期增强功能分享

众所周知&#xff0c;DevExpress在v22.2发布周期中引入了全新的DevExpress.Drawing图形库&#xff08;并且已经在随后的小更新中引入了一系列增强功能&#xff09;。 在这篇博文中&#xff0c;我们将总结在DevExpress v23.1中解决的一些问题&#xff0c;以及在EAP构建中为以下…

C++中点云聚类算法的实现与应用探索

第一部分&#xff1a;C中点云聚类算法的实现与应用 在当今的计算机视觉领域&#xff0c;点云数据是一种重要的三维数据类型&#xff0c;它能有效表达三维物体的形状信息。然而&#xff0c;由于点云数据的无序性和稀疏性&#xff0c;对其进行分析与处理的难度较大。本文将介绍如…