【lesson4】shell运行原理

news2024/11/18 11:30:49

文章目录

  • shell是什么?
  • 为什么要有shell?

shell是什么?

shell是一个外壳程序。

为什么要有shell?

要理解shell,首先要思考几个问题:
问题一:用户能直接访问直接访问操作系统吗?
答案:不能。 为什么呢?
1.人不善于直接使用操作系统
2.如果人直接访问操作系统,首先操作成本特别高,其次人会放错会带来不安全的因素。
例子:比如银行,我们去银行办理业务的时候是直接自己去操作的吗?
肯定不是的,一般会有一个银行内部的工作人员来协助我们办理业务。
因为首先我们不知道怎么办理业务,其次银行也不信任我们,所以我们可以看到银行工作人员与我们之间一般有个玻璃的间隔,就是防止意外发生。

因为人的错误的操作可能使OS奔溃掉,所以操作系统也是如此,系统设计者不会让我们直接访问OS
问题二:那么我们是如何访问OS的呢?
通过上面问题我们可以知道人不能直接访问操作系统那么人是如何访问的呢?
例子:
背景:在一个村落中,村的西边住着一户人家其中有个人叫王婆,村的东边住着一户人家叫做张三他的爸爸的村长。村长的隔壁是小花家。
在这里插入图片描述
人物介绍:

在这里插入图片描述
第一阶段故事开始:
在这里插入图片描述
王婆收到张爸的请求后立马和张三交流问张三有什么要求,听到张三对小花没什么要求,只要是小花就行,立马就了解你的请求于是就去找小花。
在这里插入图片描述
于是王婆立马回去告诉张三,小花不认识张三。
故事到这先暂停。
从这个故事我们可以对应到操作系统,用户和shell。
张三:用户
不擅长与操作系统打交道
小花:操作系统
王婆:shell
帮助用户与操作系统打交道
我们用的Xshell就是一款外壳软件。

故事中小花不认识张三,王婆回馈反映就相当于我们输入了一个错误的指令操作系统不认识,Xshell回馈反映。
在这里插入图片描述
第二阶段故事开始:
在这里插入图片描述
于是王婆再次去到小花家
在这里插入图片描述
于是王婆去到张三家
在这里插入图片描述
但是去的过程中发现小花跟一个男的抱在一起,王婆发现原来小花有男朋友了。于是再次去到张三家。
在这里插入图片描述
故事到这里我们先行暂停。

从上面的故事我们可以知道,当王婆发现小花有男朋友就拒绝了张三的请求,变向等于保护了小花

上面也可以对于到操作系统中。
所以我们了解到了shell外壳的意义(也就是为什么要有shell外壳):
1.实现用户与操作系统交互的中间软件层
2.可以在一定程度上,起到保护操作系统的作用。

第三阶段的故事开始:

张三告诉了村长张爸这个消息于是立马去找王婆。
在这里插入图片描述
王婆回到家立马发布实现生招聘广告,即刻开始招收实现生。
故事到这也就结束了。
通过上面故事我们可以联想到shell,shell在运行是会创建一个个子进程来帮助自己实现任务,就算子进程奔溃也不会影响自己,这样shell就可以一直运行下去。

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

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

相关文章

通达信有价值的资金流向指标公式-通达信公式

资金流向指标公式&#xff1a; 流通:AMOUNT/VOL; PJJ:DMA((HIGHLOWCLOSE*2)/4,0.9); JJ:REF(EMA(PJJ,3),1); QJJ:VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN)); XVL:(IF(CLOSE>OPEN,QJJ*(HIGH-LOW),IF(CLOSE<OPEN,QJJ*(HIGH-OPENCLOSE-LOW),VOL/2))IF(CLOSE>OPEN,0-QJJ*(…

selenium的java方式打开IE浏览器

1.下载软件Selenium Driver 官方下载地址&#xff1a; ​ https://www.selenium.dev/downloads/解压selenium-java-3.141.59.zip文件到java项目 seleniumDemo&#xff0c;并降解压的文件放入依赖中&#xff08;1&#xff09;双击项目的src打开项目结构&#xff0c;或右键-打开…

tiktok实时作品监控系统,tiktok作品更新提醒功能

安装必要的依赖库&#xff1a;使用pip安装tiktokapi和schedule库。 pip install tiktokapi pip install schedule 导入所需的库。 import datetime import time import schedule from tiktokapi import TikTokApi 创建一个函数&#xff0c;用于检查TikTok作品是否更新。 def ch…

【python】python十进制转二进制(不使用内置方法)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

爬虫的基本原理:爬虫概述及爬取过程

前言 随着互联网的不断发展和普及&#xff0c;我们的生活越来越离不开网络。而网络世界中有着海量的信息和数据&#xff0c;这些信息和数据对于我们的工作和生活都有很大的帮助。但是&#xff0c;如何高效地获取这些数据呢&#xff1f;这时候&#xff0c;爬虫这个工具就派上用…

【ARM】-进入和退出异常中断的过程

文章目录 ARM 处理器对异常中断的响应过程从异常中断处理程序中返回 ARM 处理器对异常中断的响应过程 ARM 指令为三级流水线&#xff1a;取地&#xff0c;译码和执行 进入中断的时候 LR PC -4 当出现异常时&#xff0c;ARM 内核自动执行以下操作 将 cpsr 寄存器的值保存到…

Python高光谱遥感数据处理与高光谱遥感机器学习方法教程

详情点击链接&#xff1a;Python高光谱遥感数据处理与高光谱遥感机器学习方法 第一&#xff1a;高光谱 一&#xff1a;高光谱遥感 01)高光谱遥感 02)光的波长 03)光谱分辨率 04)高光谱遥感的历史和发展 二&#xff1a;高光谱传感器与数据获取 01)高光谱遥感成像原理与传…

C语言---判断当前计算机大小端问题

C语言—判断当前计算机大小端问题 文章目录 C语言---判断当前计算机大小端问题一、方法一二、方法二&#xff1a;使用联合体三、方法二的理解 一、方法一 代码如下 #include<stdio.h> //判断当前机器的大小端问题 int main() {int a 1;//0x 00 00 00 01//低----------…

管理类联考——数学——技巧篇——四大招——第一招 拿下应用题,稳江山

第一招 拿下应用题&#xff0c;稳江山 应用题占 6 个题&#xff0c;计 18 分&#xff0c;拿分策略 【2 易&#xff0c;2 中&#xff0c;2 难】&#xff0c;【4 必考&#xff0c;2 可选】&#xff0c;【4 固定&#xff0c;2 灵活】核心&#xff1a;等量关系 等量关系 类型 设未…

【C++】-多态的底层原理

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

电机故障诊断(python程序)

代码运行环境要求&#xff1a;TensorFlow版本>2.4.0&#xff0c;python版本>3.6.0 运行效果视频&#xff1a;电机故障诊断&#xff08;python代码&#xff09;_哔哩哔哩_bilibili 1.电机常见的故障类型有以下几种&#xff1a; 轴承故障&#xff1a;轴承是电机运转时最容…

文心一言大模型测评

访问地址 文心一言服务请求地址&#xff1a;文心千帆大模型 (baidu.com) 新手可以先实名认证后再申请使用 测评 普通对话 这里先和他进行简单的问题讨论 编程相关 询问他有关代码的内容 确实可以生成代码&#xff0c;但不像chatgpt那样提供复制按钮 我们接下来让他生成…

小狐狸AI付费创作系统chatgpt管理后台-前端界面vue源码增加新的登录方式配置

前面我们已经搭建好了小狐狸AI付费创作系统chatgpt管理后台vue前端环境 现在&#xff0c;就修改一下设置地方&#xff0c;使其可以配置使用哪种登录方式 查看路由找界面 一般我们找界面源码&#xff0c;先看一下路由部分&#xff0c;就能知道在哪个界面里 /src/router/index.js…

电赛学习2 使用qtdesigner

1.下载qtdesigner与PyUIC (7条消息) 如何在Pycharm中安装QT DesignerPyUIC_pycharm qt_Trouble..的博客-CSDN博客 2.使用qtdesigner设计界面 &#xff08;1&#xff09;点击创建&#xff0c;生成的这个Form窗口就是我们最后生成的窗口 &#xff08;2&#xff09;预览设计的结…

字节跳动软件测试岗,前两面过了,第三面HR天坑竟然跟我说……

阎王易见&#xff0c;小鬼难缠。我一直相信这个世界上好人居多&#xff0c;但是也没想到自己也会在阴沟里翻船。我感觉自己被字节跳动的HR坑了。 在这里&#xff0c;我只想告诫大家&#xff0c;offer一定要拿到自己的手里才是真的&#xff0c;口头offer都是不牢靠的&#xff0…

【全面的数据科学教程——《Python数据科学项目实战》】

数据科学项目有很多灵活的部分&#xff0c;需要练习和技巧才能让所有代码、算法、数据集、格式和可视化协调工作。本书将引导你完成5个真实项目&#xff0c;包括根据新闻标题跟踪疾病暴发、分析社交网络以及在广告点击数据中寻找相关模式。 《Python数据科学项目实战》并不止于…

abp(net core)+easyui+efcore实现仓储管理系统——ABP升级7.3

第四个问题 升级过程中碰到的第四个问题&#xff1a;Value cannot be null. (Parameter unitOfWork) 在Visual Studio 2022 的解决方案资源管理器中&#xff0c;找到ABP.TPLMS.Application项目中的Modules文件夹中的ModuleAppService.cs文件&#xff0c;是这个文件中的GetAll()…

临时文档4

Redis有哪些数据类型 Redis主要有5种数据类型&#xff0c;包括String&#xff0c;List&#xff0c;Set&#xff0c;Zset&#xff0c;Hash&#xff0c;满足大部分的使用要求 Redis的应用场景 总结一 计数器 可以对 String 进行自增自减运算&#xff0c;从而实现计数器功能。…

区间预测 | MATLAB实现QRLSTM长短期记忆神经网络分位数回归多输入单输出区间预测

区间预测 | MATLAB实现QRLSTM长短期记忆神经网络分位数回归多输入单输出区间预测 目录 区间预测 | MATLAB实现QRLSTM长短期记忆神经网络分位数回归多输入单输出区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 MATLAB实现QRLSTM长短期记忆神经网络分位数回…

Rancher 安装部署

1、执行如下docker 命令 rootubuntu:~# docker run --namerancher -d --privileged --restartunless-stopped -p 30040:80 -p 30050:443 rancher/rancher:latest 这里将80端口映射成了30040端口&#xff0c;将443端口映射成了30050端口&#xff0c;所以在执行上面的名字之前&…