当前位置: 首页 > news >正文

【Linux】——初识操作系统

文章目录

  • 冯-诺依曼体系结构
  • 操作系统
  • shell

冯-诺依曼体系结构

我们现在所使用的计算机就是冯-诺依曼体系结构。
在这里插入图片描述
存储器就是内存。
由下图可知,寄存器最快,为啥不用寄存器呢?
因为越快价格就最贵,冯诺依曼体系结构的诞生,极大降低了计算机的价格。
冯诺依曼结构的原理是,在CPU进行计算的时候,内存已经接收外部输入设备输入的数据并存储,在CPU进行完计算后将结果取出,然后将结果放到输出设备,再把输入的数据交给CPU进行计算
所以这就是为什么程序运行前要先加载到内存!
在这里插入图片描述

操作系统

在这里插入图片描述

通过冯-诺依曼体系结构去理解何为操作系统。
内存怎么读数据?输入数据以后怎么从缓冲区输出到输出设备的?操作系统干的就是这类活,
设计操作系统的目的就是更好地与硬件交互,管理软件资源,为应用程序提供一个良好的执行环境

认识系统调用:

操作系统为啥不跟底层硬件直接联系? 如果OS和底层硬件直接联系,一旦底层硬件发生任何改变,OS为了与硬件兼容,OS的源代码就需要重新编译。如果频繁的编译,计算机的运行效率就会大大降低。
为了解决这个问题,在操作系统与底层硬件之间就需要增加一层结构让操作系统与底层硬件之间实现解耦。这个增加的结构就是驱动程序
一般来说,操作系统是不会把源代码呈现给用户,这是操作系统对于自己的一种保护。
那我们如何进行操作呢?
操作系统会封装出一系列接口给用户,这些接口就叫系统调用接口,除了系统调用接口,没有任何方法可以间接使用操作系统。
但是这些接口对于普通用户来说具有一定的使用成本,因为用户必须要先对操作系统有一定了解,为了方便用户,所以又对系统接口进行封装形成我们的用户操作接口,常见的用户接口有各种库如libc以及部分指令,我们一般在实际编写的过程中调用各种的函数printf,scanf就是来源于这些库。
在这里插入图片描述

shell

在操作系统中,Windows 采用图形化界面作为交互方式,而Linux则使用命令行界面。尽管两者的交互方式存在差异,但从本质上讲,它们的目的是一致的,即都是为了便于用户进行相关操作。图形化界面和命令行界面都属于外壳程序的范畴。无论是Windows的图形化界面还是Linux的命令行界面,它们都是操作系统与用户之间进行交互的接口,通过这些界面,用户能够向操作系统发送指令并获取相应的反馈。尽管Windows 和Linux的交互方式有所不同,但它们的核心目标都是为了满足用户的操作需求。
在这里插入图片描述

kernel是操作系统的核心,kernel和用户通过外壳程序来沟通。
shell(比如centos7的bash)会先读用户输入的命令进行一系列操作,如果执行命令过程中没有出现异常(文件错误,权限不够),就会创建子进程,子进程会把执行结果返回给父进程,值得注意的是子进程出现的任何问题,都不会对父进程Shell产生影响。
以Windows为例,我们每运行一个程序,就相当于创建了一个子进程,比如打开浏览器、运行办公软件等。即便这些子进程中的某个出现问题,如浏览器卡死(程序异常)或被关闭(程序终止),也不会影响其他子程序的正常运行。同样地,在Linux中,Shell与子进程的关系也是如此,确保了系统的稳定性和可靠性。

相关文章:

【Linux】——初识操作系统

文章目录 冯-诺依曼体系结构操作系统shell 冯-诺依曼体系结构 我们现在所使用的计算机就是冯-诺依曼体系结构。 存储器就是内存。 由下图可知,寄存器最快,为啥不用寄存器呢? 因为越快价格就最贵,冯诺依曼体系结构的诞生&#xf…...

本地化deepseek

小白都能拥有自己的人工智能 1、我本地环境 系统:win10 cpu:i7(i7-12700),差不多就行 硬盘:500G+2T,可以不用这么大 显卡:七彩虹2060 12G ,够用了 我的配置最高也只能配上8B了, R1模型版本CPUGPU内存存储8B Intel Core i7/AMD Ryzen 7 及以上 无强制要求,有 4…...

利用可变参数模板,可打印任意参数和参数值。(C++很好的调式函数)

很酷的应用&#xff1a; &#xff08;1&#xff09; 如何获取可变参数名 代码例子&#xff1a; #define _test(...) (test_t(#__VA_ARGS__, __VA_ARGS__))template<typename... Args> void test_t(const char* names, Args... args) {std::cout << names <<…...

Yashan DB 体系结构

一、体系结构概况 1.1 线程管理 YashanDB采用多线程架构&#xff0c;线程分为两类&#xff1a; • 工作线程&#xff08;Worker Threads&#xff09;&#xff1a;每个客户端连接到数据库实例时&#xff0c;会创建一个工作线程。工作线程负责处理客户端的SQL请求&#xff0c;执…...

测试工程师Deepseek实战之如何反向PUA它

问: 你是一名资深测试开发工程师 帮我设计一个提效工具&#xff0c;具有以下功能&#xff1a; 1.页面使用PYQT5设计&#xff0c;用两个输入控件&#xff0c;最好是日期类型的控件&#xff0c;第一个日期控件作为开始日期&#xff0c;第二个日期控件作为结束日期&#xff1b;前后…...

Windows系统中在VSCode上配置CUDA环境

前置步骤 安装符合GPU型号的CUDA Toolkit 配置好 nvcc 环境变量 安装 Visual Studio 参考https://blog.csdn.net/Cony_14/article/details/137510909 VSCode 安装插件 Nsight Visual Studio Code Editionvscode-cudacpp 安装 cmake 并配置好环境变量 注&#xff1a;Windows 端…...

React Native 0.76 升级后 APK 体积增大的原因及优化方案

在将 React Native 从 0.71 升级到 0.76 后,打包体积从 40 多 MB 增加到了 80 MB。经过一系列排查和优化,最终找到了解决方案,并将优化过程整理如下。 1. React Native 0.76 体积增大的可能原因 (1) 新架构默认启用 React Native 0.76 默认启用了 New Architecture(新架…...

pycharm找不到conda可执行文件

conda 24.9.2 在pycharm的右下角就可以切换python解释器了...

定时任务框架

常用定时任务框架 JDK 自带的 ScheduledExecutorService 适用于轻量级定时任务&#xff0c;基于线程池实现。API 简单&#xff0c;适用于小规模任务调度。 Quartz 强大的 Java 任务调度框架&#xff0c;支持 Cron 表达式、分布式集群、持久化等。适用于复杂调度场景&#xff0…...

ESP32S3读取数字麦克风INMP441的音频数据

ESP32S3 与 INMP441 麦克风模块的集成通常涉及使用 I2S 接口进行数字音频数据的传输。INMP441 是一款高性能的数字麦克风&#xff0c;它通过 I2S 接口输出音频数据。在 Arduino 环境中&#xff0c;ESP32S3 的开发通常使用 ESP-IDF&#xff08;Espressif IoT Development Framew…...

利用后缀表达式构造表达式二叉树的方法

后缀表达式&#xff08;逆波兰表达式&#xff09;是一种将运算符放在操作数之后的表达式表示法。利用后缀表达式构造表达式二叉树的方法主要依赖于栈结构。 转换步骤 初始化 创建一个空栈。 遍历后缀表达式 对后缀表达式的每个符号依次处理&#xff1a; 遇到操作数 如果当前符…...

使用express创建服务器保存数据到mysql

创建数据库和表结构 CREATE DATABASE collect;USE collect;CREATE TABLE info (id int(11) NOT NULL AUTO_INCREMENT,create_date bigint(20) DEFAULT NULL COMMENT 时间,type varchar(20) DEFAULT NULL COMMENT 数据分类,text_value text COMMENT 内容,PRIMARY KEY (id) ) EN…...

YOLOv12本地部署教程——42%速度提升,让高效目标检测触手可及

YOLOv12 是“你只看一次”&#xff08;You Only Look Once, YOLO&#xff09;系列的最新版本&#xff0c;于 2025 年 2 月发布。它引入了注意力机制&#xff0c;提升了检测精度&#xff0c;同时保持了高效的实时性能。在保持速度的同时&#xff0c;显著提升了检测精度。例如&am…...

SQLAlchemy系列教程:如何防止SQL注入

SQL注入是一种常见的安全漏洞&#xff0c;它允许攻击者通过应用程序的SQL查询操纵数据库。使用ORM工具&#xff08;如SQLAlchemy&#xff09;提供的内置功能可以帮助减轻这些风险。本教程将指导您完成保护SQLAlchemy查询的实践。 了解SQL注入 当攻击者能够通过用户输入插入或操…...

1. 树莓派上配置机器人环境(具身智能机器人套件)

1. 安装树莓派系统 镜像下载地址&#xff08;windows/Mac/Ubuntu)&#xff0c;安装Pi5. 2. 环境配置&#xff08;登录Pi系统&#xff09; 2.1 启用 SSH From the Preferences menu, launch Raspberry Pi Configuration. Navigate to the Interfaces tab. Select Enable…...

基于SpringBoot的智慧停车场小程序(源码+论文+部署教程)

运行环境 • 前端&#xff1a;小程序 Vue • 后端&#xff1a;Java • IDE工具&#xff1a;IDEA&#xff08;可自行选择&#xff09; HBuilderX 微信开发者工具 • 技术栈&#xff1a;小程序 SpringBoot Vue MySQL 主要功能 智慧停车场微信小程序主要包含小程序端和…...

【从零开始学习计算机科学】数字逻辑(九)有限状态机

【从零开始学习计算机科学】数字逻辑(九)有限状态机 有限状态机状态机的表示方法有限状态机的Verilog描述有限状态机 有限状态机(简称状态机)相当于一个控制器,它将一项功能的完成分解为若干步,每一步对应于二进制的一个状态,通过预先设计的顺序在各状态之间进行转换,状…...

HarmonyOS Next~鸿蒙系统ArkCompiler跨平台编译技术的革新实践

HarmonyOS Next~鸿蒙系统ArkCompiler跨平台编译技术的革新实践 引言 在万物互联时代&#xff0c;操作系统对编译技术的需求已从单纯的代码转换演变为跨设备协同、高效资源调度与极致性能优化的综合挑战。华为鸿蒙系统&#xff08;HarmonyOS&#xff09;自主研发的ArkCompiler…...

AI大模型概念知多少

什么是大模型&#xff1f;什么是模型参数 1&#xff09;现在的大模型要解决的问题&#xff0c;就是一个序列数据转换的问题&#xff1a; 输入序列 X X[x1 ,x2 ,...,xm ]&#xff0c; 输出序列Y[y1 ,y2 ,…,yn ]&#xff0c;X和Y之间的关系是&#xff1a;YWX。 “大模型”这个词…...

powermock,mock使用笔记

介于日本的形式主义junit4单体测试&#xff0c;特记笔记&#xff0c;以下纯用手机打出来&#xff0c;因为电脑禁止复制粘贴。 pom文件 powermock-module-junit1.7.4 powermock-api-mokcito 1.7.4 spring-test 8 1&#xff0c;测试类头部打注解 RunWith(PowerMockRunner.class…...

利用快马平台快速生成PyTorch图像分类原型,十分钟验证模型思路

最近在尝试用PyTorch做图像分类的原型验证时&#xff0c;发现从零开始搭建环境、写基础代码特别耗时。后来尝试用InsCode(快马)平台生成项目模板&#xff0c;十分钟就完成了模型验证。这里分享下用PyTorch快速构建MNIST分类器的关键步骤和踩坑经验。 数据准备环节 平台生成的代…...

python-flask-djangol框架的考公考编学习课程资料推荐系统

目录技术选型与架构设计数据采集与处理推荐算法实现用户画像构建前端交互与功能部署与优化合规与扩展项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作技术选型与架构设计 采用Python Flask作为后端框架&#xff0c;搭配SQLAlch…...

深入解析:高级 Android 开发工程师职位与面试全攻略

引言:移动互联网时代的核心力量 在当今移动互联网蓬勃发展的时代,智能手机已成为人们日常生活中不可或缺的一部分。作为连接用户与数字服务的桥梁,移动应用扮演着至关重要的角色。而在移动应用的生态中,Android 系统凭借其开放性和庞大的用户基础,占据了全球移动操作系统…...

iBeebo:5个理由让你选择这款纯净高效的第三方微博客户端

iBeebo&#xff1a;5个理由让你选择这款纯净高效的第三方微博客户端 【免费下载链接】iBeebo 第三方新浪微博客户端 项目地址: https://gitcode.com/gh_mirrors/ib/iBeebo 在信息过载的数字时代&#xff0c;官方微博客户端日益臃肿的界面设计、无处不在的广告推送和复杂…...

3KW无线充电系统设计:开环控制与闭环控制的MATLAB Simulink仿真模型,采用双边L...

3KW无线充电系统设计&#xff08;MATLAB simulink仿真模型&#xff09; 控制方式&#xff1a;开环控制闭环控制 拓扑结构&#xff1a;双边LCC拓扑结构 输入电压&#xff1a;750V 输出电压&#xff1a;400V 传输功率&#xff1a;3KW 最近在折腾一个3KW无线充电系统的仿真项目&am…...

VeighNa量化框架实战:如何免费获取TuShare金融数据(附完整接入代码)

VeighNa量化框架实战&#xff1a;零成本高效获取TuShare金融数据的完整指南 在量化交易领域&#xff0c;数据获取往往是第一个需要跨越的门槛。对于个人开发者和小型团队而言&#xff0c;如何在预算有限的情况下获取高质量的金融数据&#xff0c;成为决定项目成败的关键因素之一…...

别再只看灰度图了!用功率谱给你的AI生成图像质量把把脉

功率谱分析&#xff1a;AI生成图像质量评估的隐藏利器 当我们在评估AI生成的图像时&#xff0c;常常会陷入主观判断的陷阱——肉眼观察虽然直观&#xff0c;但缺乏量化标准。而功率谱分析这一源自信号处理的技术&#xff0c;正悄然成为AI图像质量评估领域的一把精准尺子。不同于…...

Web AR技术深度探秘:7个创新案例重构浏览器增强现实体验

Web AR技术深度探秘&#xff1a;7个创新案例重构浏览器增强现实体验 【免费下载链接】AR.js Image tracking, Location Based AR, Marker tracking. All on the Web. 项目地址: https://gitcode.com/gh_mirrors/arj/AR.js 你是一个文章写手&#xff0c;你负责为开源项目…...

储能系统中的双向DCDC变流器:模型预测控制下的高效稳定运行策略

储能双向DCDC变流器-模型预测控制 储能buck-boost双向dcdc负载 [1]初级控制为下垂控制 [2]电压环才采用PI控制 [3]电流环采用模型预测 ①蓄电池控制外环使用U-I下垂控制PI控制器产生电流环给定值 ②设计了电流内环的模型预测控制器&#xff0c;模型预测控制由于是主动的预测&am…...

PETRV2-BEV模型的高精度3D车道检测效果展示

PETRV2-BEV模型的高精度3D车道检测效果展示 1. 引言 想象一下&#xff0c;一辆自动驾驶汽车在复杂的城市道路中行驶&#xff0c;需要实时识别车道线、判断可行驶区域、预测周围车辆轨迹。这背后离不开一项关键技术——3D车道检测。传统的2D检测方法在复杂道路场景中往往力不从…...