【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与子进程的关系也是如此,确保了系统的稳定性和可靠性。

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

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

相关文章

坐标变换介绍与机器人九点标定的原理

【备注】本文的C#代码在下面链接中可以下载:Opencv的C#九点标定代码资源-CSDN文库 https://download.csdn.net/download/qq_34047402/90452336 一、坐标变换的介绍 1.绕原点旋转的坐标变换 一个点(x,y)绕原点旋转u度,其旋转后的坐标(x1,y1)如何计算? 2.绕任意点的坐标变…

恶劣天候三维目标检测论文列表整理

恶劣天候三维目标检测论文列表 图摘自Kradar 🏠 介绍 Hi,这是有关恶劣天气下三维目标检测的论文列表。主要是来源于近3年研究过程中认为有意义的文章。希望能为新入门的研究者提供一些帮助。 可能比较简陋,存在一定的遗漏,欢迎…

掌握Kubernetes Network Policy,构建安全的容器网络

在 Kubernetes 集群中,默认情况下,所有 Pod 之间都是可以相互通信的,这在某些场景下可能会带来安全隐患。为了实现更精细的网络访问控制,Kubernetes 提供了 Network Policy 机制。Network Policy 允许我们定义一组规则&#xff0c…

Mybatis集合嵌套查询,三级嵌套

三个表:房间 玩家 玩家信息 知识点:Mybatis中级联有关联(association)、集合(collection)、鉴别器(discriminator)三种。其中,association对应一对一关系、collectio…

字典树(trie树)详解

【本文概要】本文主要介绍了字典树的概念,字典树的一般算法,包括初始化,插入,查找等,最后举了比较典型的案例以及算法比赛中常见的“01树”来辅助理解字典树这种特殊的数据结构。 1、什么是字典树 字典树,是…

【html期末作业网页设计】

html期末作业网页设计 作者有话说项目功能介绍 网站结构完整代码网站样图 作者有话说 目前,我们的项目已经搭建了各页面的基本框架,但内容填充还不完善,各页面之间的跳转逻辑也还需要进一步优化。 我们深知,一个好的项目需要不断…

数据安全VS创作自由:ChatGPT与国产AI工具隐私管理对比——论文党程序员必看的避坑指南

文章目录 数据安全VS创作自由:ChatGPT与国产AI工具隐私管理对比——论文党程序员必看的避坑指南ChatGPTKimi腾讯元宝DeepSeek 数据安全VS创作自由:ChatGPT与国产AI工具隐私管理对比——论文党程序员必看的避坑指南 产品隐私设置操作路径隐私协议ChatGPT…

C语言实现贪吃蛇

贪吃蛇小游戏的实现 讲解1.Win32 API介绍1.1控制台程序(system())1.2控制台屏幕上的坐标CDDRD1.3 GetStdHandle1.4 GetConsoleCursorInfo1.5 SetConsoleCursorInfo1.6 SetConsoleCursorPostion1.7 GetAsyncKeyState 2.游戏设计2.1地图2.2蛇身和食物2.3数据结构设计2.4游戏流程设…

游戏引擎学习第142天

今天的计划 欢迎来到这个游戏开发项目,我们将从零开始编写一个完整的游戏,并且不会使用任何现成的库或引擎。整个开发过程中涉及的所有代码都会被完整展示,包括游戏运行所需的每一个细节。无论是哪款游戏,最终都需要有人编写底层…

Manus全球首个通用Agent,Manus AI:Agent应用的ChatGPT时刻

文章目录 前言Manus AI: 全球首个通用AgentManus AI: 技术架构与创始人经历AI Agent的实现框架与启示AI Agent的发展预测行业风险提示 前言 这是一篇关于Manus AI及其在通用人工智能领域的应用和前景的报告,主要介绍了Manus AI的产品定位、功能、技术架构、创始人经…

FPGA学习篇——Verilog学习3(关键字+注释方法+程序基本框架)

1 Verilog常用关键字 大概知道以下哪些是关键字就好,如何使用还是得在编写代码中来学习。 2 Verilog注释方法 Verilog有两种注释方式: 2.1 “ // ” 单行。 2.2 “ /* ... */ ” 可扩展多行。 3 Verilog程序基本框架 Verilog 的基本设计单元是“…

一文对比RAGFLOW和Open WebUI【使用场景参考】

一、RAGFLOW与Open WebUI RAGFLOW是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不…

SyntaxError: Missing semicolon

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…

游戏引擎学习第140天

回顾并为今天的内容做准备 目前代码的进展到了声音混音的部分。昨天我详细解释了声音的处理方式,声音在技术上是一个非常特别的存在,但在游戏中进行声音混音的需求其实相对简单明了,所以今天的任务应该不会太具挑战性。 今天我们会编写一个…

vue3如何配置环境和打包

很多新手友友们或刚从vue2切换到vue3的同学,对vue3不同环境配置和打包有很多困惑的地方,Jenna这就把vue3打包配置流程详细的写下来,你们只需要copy就好啦 1.创建环境文件 当我们把项目拿到手,只需要创建三个环境文件&#xff1a…

《AJAX:前端异步交互的魔法指南》

什么是AJAX AJAX(Asynchronous JavaScript and XML,异步 JavaScript 和 XML) 是一种用于创建异步网页应用的技术,允许网页在不重新加载整个页面的情况下,与服务器交换数据并局部更新页面内容。尽管名称中包含 XML&…

STM32-I2C通信协议

目录 一:什么是I2C通信协议 二:I2C通信 三:I2C时序图 四:面试常见问题 一:什么是I2C通信协议 I2C(Inter-Integrated Circuit)协议是一种串口通信协议,用于在集成电路之间传输数…

阿里推出全新推理模型(因果语言模型),仅1/20参数媲美DeepSeek R1

阿里Qwen 团队正式发布了他们最新的研究成果——QwQ-32B大语言模型!这款模型不仅名字萌萌哒(QwQ),实力更是不容小觑!😎 QwQ-32B 已在 Hugging Face 和 ModelScope 开源,采用了 Apache 2.0 开源协议。大家可通过 Qwen C…

GitCode 助力 vue3-element-admin:开启中后台管理前端开发新征程

源码仓库: https://gitcode.com/youlai/vue3-element-admin 后端仓库: https://gitcode.com/youlai/youlai-boot 开源助力,开启中后台快速开发之旅 vue3-element-admin 是一款精心打造的免费开源中后台管理前端模板,它紧密贴合…

接入DeepSeek,九牧开启AI卫浴新赛道!

2025年或可被称为AI新纪元元年,“具身智能”“智能机器人”“6G”等新词语出现在《政府工作报告》里,国家对制造业转型和“人工智能”的发展提出殷切期望。 近年来,围绕数智化,制造业开启了一场全球竞赛,在无人机、高…