通过张三与如花悲惨爱情故事,理解"用户"、“shell”、"操作系统"之间的关系

目录

  • shell命令以及运行原理
  • 张三与如花的恩爱情仇
    • 人物简介
    • 张三通过媒婆对话如花
    • 如花拒绝张三
    • 张三百般纠缠

shell命令以及运行原理

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。
而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。
如何理解?
为什么不能直接使用kernel?
从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:

将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者。

张三与如花的恩爱情仇

人物简介

媒婆:我是媒婆,我姓王,十里八乡做媒我在行

村长老张:我是村长大老张,大家都得听我的

张三:我是村长的儿子小张,大学毕业害羞闷骚男,只会敲代码,不懂得与女孩子沟通,渴望爱情,暗恋如花,与如花青梅竹马

如花:我是村花小花花

李四:我是村草李四,如花的男朋友

小李:我是实习生,背锅侠

张三通过媒婆对话如花



注:张三就是用户,如花是操作系统(kernel),王婆就是shell

在刚才的场景上,可以看出如花是被动接收小张的请求,同时自身要做一些基本的判定,如花就相当于–操作系统

小张爱恋如花,想要娶到如花,对如花有请求,小张就相当于用户。

王婆:小张因为自身原因,不能直接和如花交流,而王婆充当小张和如花之间交流的媒介,王婆相当于shell

问:小张为什么不直接和如花沟通?

小张因为自身不懂得如何和女生说话,只能通过王婆和如花交流,如花不管是同意还是不同意,也要反馈小张的应答给王婆,王婆转达给小张。就如同用户不能直接去操作,操作系统一样,需要以指令的方法通过shell告知操作系统,操作系统也要有反馈给shell,以让用户知道自己的应答。

如花拒绝张三


张三百般纠缠

小张:我爸是村长,我就要娶如花,你要是办不成事,你的招牌可就砸了,以后谁还敢找你说媒。

王婆:(心想,小张,性格执拗,人还丑,又矮,哎谁让他爸是村长呢?面子还只要给的,事还是要办,但是不能由我出面,我得找个实习生来做这事,成了,功劳是我的,失败了,是实习生不行,不至于砸了我的招牌)那好吧,我再去试试


王婆:这件事有点棘手,如果我的招牌砸了,影响的不只是我个人,而是方圆十几里少男少女的婚姻大事,所以我不能亲自出马,让实习生小李去办,办不好是他业务不熟,也不至于砸了我的招牌

shell外壳程序的理解:
王婆就相当于命令行解释器,在系统层面上,就是一个进程!不仅要保护好操作系统,也要保护好自己。
shell程序->创建子进程去进行命令行解释,如果失败,也不会影响shell进程

总结:

1、shell,就是做命令行解释的
2、shell 保护操作系统
3、shell 运行原理:创建子进程,让子进程进行命令行解释,子进程出现任何问题,都不会影响shell进程

通过张三与如花悲惨爱情故事,理解“用户“、“shell“、“操作系统“之间的关系相关推荐

  1. 如何理解POP,OOP,AOP之间的关系

    如何理解POP,OOP,AOP之间的关系 1)POP–面向过程编程(Process-oriented programming): 面向过程编程是以功能为中心来进行思考和组织的一种编程方法,它强调的是系 ...

  2. OpenGL - 如何理解 VAO 与 VBO 之间的关系

    系列文章目录 LearnOpenGL 笔记 - 入门 01 OpenGL LearnOpenGL 笔记 - 入门 02 创建窗口 LearnOpenGL 笔记 - 入门 03 你好,窗口 LearnO ...

  3. 理解virt res shr之间的关系 - linux

    转自:https://www.orchome.com/298 想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题--你的程序在运行时占用了多少内存(物理内存)?通常我 ...

  4. 理解CPU/寄存器/内存之间的关系

    CPU/寄存器/内存 因为要了解多线程,自然少不了一些硬件知识的科普,我没有系统学习过硬件知识,仅仅是从书上以及网络上看来的,如果有错误请指出来. CPU,全名Central Processing U ...

  5. cocos3 深入理解tank和子弹之间的关系

    子弹在移除的时候,需要给tank一个返回值,让坦克知道我已近移除了,你可以再次发射子弹 而tank在发射子弹的时候,要给bullet设置反向,这两个类结合的比较密切,所以可以考虑将两个 类写到一起. ...

  6. 如何理解Nginx, WSGI, Flask之间的关系

    转载自: http://blog.csdn.net/lihao21/article/details/52304119 概览 之前对 Nginx,WSGI(或者 uWSGI,uwsgi),Flask(或 ...

  7. TCP和UDP的笑话导致的悲剧爱情故事

    来源:网络技术平台 网络工程师小明最近交了一个女朋友丽丽,为了在丽丽面前显示自己的风趣幽默,小明讲了个TCP的笑话. 你想听一个TCP的笑话吗? 嗯,我想听一个TCP的笑话. 好的,我会给你讲一个TC ...

  8. 【论文翻译】统一知识图谱学习和建议:更好地理解用户偏好

    一.摘要 将知识图谱(KG)纳入推荐系统有望提高推荐的准确性和可解释性.然而,现有方法主要假设KG是完整的并且简单地在实体原始数据或嵌入的浅层中转移KG中的"知识".这可能导致性能 ...

  9. 原来代码可以写成爱情故事

    今天在csdn上看了一篇帖子:这段代码描述我最近的心情. 才发现原来用代码可以书写人生,对代码的作者十分钦佩. 我遂耗费N时,来读上面的代码,我在这里做了一个简单的翻译,题目是:<一个程序员的爱 ...

最新文章

  1. 激活函数之logistic sigmoid函数介绍及C++实现
  2. afn原理 ios_iOS开发:AFN的基本使用
  3. MySQL 高级 - 索引 - 索引设计原则
  4. nacicat for mysql查询_navicat for mysql怎么用
  5. mysql日期查询_mysql 查询日期
  6. Xcode 证书生成、设置、应用
  7. 深入解析数码相机CCD坏点及噪点检测!【图解教程】
  8. 阿里巴巴Java开发手册(2018-2021泰山版整理)
  9. ESP32(NodeMCU-32S)简单实现路由中继/wifi中继
  10. 苹果手机安装火狐xpi_为Firefox扩展安装添加XPI MIME类型
  11. 【Halcon轮廓提取】
  12. Justinmind使用教程(5)——Justinmind破解
  13. C语言零基础项目:打字母游戏!详细思路+源码分享
  14. 一个可以不被广告拦截器拦截的弹出窗口
  15. unity中使用AO贴图和自发光emission的简单应用
  16. unturned服务器重置,服务器配置文件Config.json说明
  17. Python必学的4个实战项目,拿走不谢
  18. docker jvm调优 tomcat_docker+tomcat 启动时非常慢原因之JRE /dev/random阻塞
  19. android压感测试,安卓最强压感识别的正确玩法
  20. qt-qss之QScrollArea使用

热门文章

  1. 职场中接手了老项目,如何做性能优化?
  2. 纳昇电子:PEDOT-PSS 材料国产化之空穴传输层
  3. weixin-js-sdk常见使用方法(vue)
  4. tp框架如何关掉错误提示信息
  5. 论专注的重要性(总结)
  6. 大学计算机基础 试卷分析,《有机化学》考试试卷分析
  7. 这些人,我关注三年了...
  8. 通过Kuberneters Goat学习K8S安全(下)
  9. Java基础篇(标识符、关键字、数据类型、运算符、类型转换、注释方法、扫描器)
  10. 如何将战略愿景融入企业管理体系?ARIS 平台助力企业转型**