【lesson8】操作系统的理解和类比

news2024/11/24 20:26:27

文章目录

  • 操作系统是什么?
  • 为什么要有操作系统?
  • 怎么做?
    • 学校的例子(理解管理)
    • 银行的例子(类比操作系统)

操作系统是什么?

操作系统是一款软件,是为了进行软硬件资源管理的软件。

为什么要有操作系统?

操作系统是为了给用户提供一个良好,安全,简单的运行环境这就是操作系统的目的。

怎么做?

上面的两个话题我们在Linux发展史这篇博客中就浅谈过下面我们具体讲解怎么办。

学校的例子(理解管理)

我们都假设学校有三种角色,校长、辅导员、学生。那么这三种角色谁是管理者,谁是被管理者呢?毫无疑问,学生是被管理者,校长是管理者。
在这里插入图片描述
我们从这个例子可以学到,管理者和被管理者可以不直接沟通。在日常生活中我们很少见到校长,可能除了开学的一次开学典礼后面几乎不会再见到。
那么校长是如何做到管理的呢?
校长只要了解每个学生的核心信息就可以做到管理了比如:某个学生的各科成绩怎么样啊,社区文明分低不低啊,有没有经常旷课啊,有没有经常晚归或者也不归宿啊等等,可以凭借这些信息对学生进行嘉奖或者开除的决策。这些信息都可以作为管理的依据。
那么这些数据都是谁提供给校长的呢?
当然是辅导员,这里辅导员就是执行者,我们可以类比到操作系统。
校长:操作系统
辅导员:驱动程序
学生:硬件

在这里插入图片描述
所以我们总结一下:管理者拿到被管理者的核心数据,来进行支持管理决策,才是最重要的。
在这里插入图片描述
所以我们总结出的第一个结论是管理是对被管理者的数据进行管理

从上面的介绍中我们可以了解,校长是如何对学生进行管理的,学生如果只有几百个到上千个还好,但是学生有10万人呢那么校长该如何处理这些无序的数据,要对这些数据一个一个管理观看吗?
在这里插入图片描述
假设校长在当校长之前是一个优秀的程序员,他知道要管理学生信息要先对被管理对象进行描述,再根据类型定义对象。然后可以把所有对象在数组中保存起来。
所以
首先我们要定义一个对象,用对象来保存单个学生的信息。
在这里插入图片描述
然后再用数组保存所有对象信息
在这里插入图片描述
这样校长对学生的管理工作,就变成了对数组的增删查改。
比如校长要开除终测排名最后三名的同学,可以编写一个按照成绩排名的算法,然后找出最后三名,再让辅导员去通知他们,并且从数组中删除这三人的信息。

从上面我们得到了六字真言,要对对象进行管理必须:先描述,再组织。
Linux内核是C语言写的,所以所有对象都是用struct结构体创建出来的。
从上面我们不难得到,OS(操作系统)内部一定充满大量的数据结构和算法。
所以我们得到的第二个结论:先描述,再组织。

银行的例子(类比操作系统)

银行管理系统结构图:
在这里插入图片描述
我们把上面的银行管理系统类比成操作系统就是:
在这里插入图片描述
在日常生活中我们去银行办理业务的时候,是直接访问银行的各种软硬件资源的吗?
不是的!
我们去银行的时候,银行一般会为我们提供一个个窗口我们可以去窗口,窗口中会有工作人员为我们提供服务。
在这里插入图片描述
这是为什么呢?因为银行不相信任何人,就算你是好人银行也没有时间和精力去了解你通过窗口的交互,可以将风险降到最低
同理我们可以推导到操作系统。
我们使用操作系统的时候是直接自己操作操作系统的各种软硬件资源的吗?
不是的?
操作系统会为我们提供各种系统调用接口,我们可以通过系统调用接口,访问和调用操作系统的各种软硬件资源。
原因也是因为操作系统不相信任何人。
总结
1.OS操作系统不相信任何人。
2.一个好的产品,一定回给用户提供一个非常舒适的使用体验,比如抖音想看视频只要上下滑就好了。

如果银行进来了一个70几岁的老大爷,而老大爷不懂得怎么与窗口服务人员沟通,这时候就需要银行系统外的服务人员,来为老大爷进行指导。
在这里插入图片描述
相对的操作系统也是如此。
在这里插入图片描述
操作系统的系统调用接口上面就是服务层。

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

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

相关文章

CentOS下Redis6.x安装教程

Redis安装教程 文章目录 Redis安装教程一、安装包下载地址二、安装2.1上传服务器解压2.2安装编译所需依赖2.3编译安装 三、启动与停止3.1守护进程启动3.2开机自启动 一、安装包下载地址 https://redis.io/download/ 目前最新的版本是7.0以上的版本,本次使用redis6…

python3+selenium自动化测试介绍详解!

自动化测试是什么? 自动化测试简单来说就是借助工具的方式来辅助手动测试的行为就可以看做是自动化测试。 自动化测试工具有哪些? 现在常用的自动化测试工具包括: QTP:主要用于回归测试和测试同一软件的新版本Robot Framework…

vue2 provide/inject watch 监控inject中值变化

在Vue 2.x中,使用inject注入的值默认情况下是不能被watch直接监控到的,因为inject提供的值不是响应式的。这是Vue 2.x的设计,与Vue 3.x中的provide和inject不同,Vue 3.x中的inject提供的值是响应式的,可以直接被watch监…

【Java 基础篇】Java同步代码块解决数据安全

多线程编程是现代应用程序开发中的常见需求,它可以提高程序的性能和响应能力。然而,多线程编程也带来了一个严重的问题:数据安全。在多线程环境下,多个线程同时访问和修改共享的数据可能导致数据不一致或损坏。为了解决这个问题&a…

心理咨询预约微信小程序开发制作步骤

随着互联网的普及和人们对心理健康的重视,越来越多的心理咨询需求在日常生活中涌现。为了满足这一需求,开发一款心理咨询预约微信小程序势在必行。本文将介绍使用乔拓云网这个第三方制作平台来制作这款小程序的具体步骤。 1. 找一个合适的第三方制作平台…

竞赛选题 基于深度学习的动物识别 - 卷积神经网络 机器视觉 图像识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

ChatGPT追祖寻宗:GPT-3技术报告要点解读

论文地址:https://arxiv.org/abs/2005.14165 往期相关文章: ChatGPT追祖寻宗:GPT-1论文要点解读_五点钟科技的博客-CSDN博客ChatGPT追祖寻宗:GPT-2论文要点解读_五点钟科技的博客-CSDN博客 本文的标题之所以取名技术报告而不是论文…

【差旅游记】初见乌海湖

哈喽,大家好,我是雷工。 最近在乌海出差,有幸见到了传说中在沙漠中看海的“黄河明珠”——乌海湖。 前段时间一直有点忙,现在有点时间,趁还没忘光,简单整理记录下。 那是在上个月,2023年8月8号…

K8S:Pod容器中的存储方式及PV、PVC

文章目录 Pod容器中的存储方式一.emptyDir存储卷1.emptyDir存储卷概念2.emptyDir存储卷示例 二.hostPath存储卷1.hostPath存储卷概念2.hostPath存储卷示例 三.nfs共享存储卷1.nfs共享存储卷示例 四.PV和PVC1.PV、PVC概念2.PVC 的使用逻辑及数据流向3.storageclass插…

Conditional DETR(ICCV 21)

Conditional DETR(ICCV 21) Conditional DETR for Fast Training Convergence 加速detr收敛(50 epoch收敛) DETR收敛慢的原因 DETR训练收敛速度慢,需要500 epochs DETR的Cross Attention高度依赖content embedding…

Go编程规范

文章目录 注释转义符定义变量方法一:指定变量类型,声明后若不赋值,使用默认值方法二:根据值自行判定变量类型(类型推导)方法三:省略var, 注意:左侧的变量不应该是已经声明过的,否则会导致编译错误[推荐]全局…

通讯网关软件001——利用CommGate X2Access-U实现OPC UA数据转储Access

本文介绍利用CommGate X2ACCESS-U实现从OPC UA Server读取数据并同步转储至ACCESS数据库。CommGate X2ACCESS-U是宁波科安网信开发的网关软件,软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示,实现从OPC UA Server实时读取…

经典指标策略回测一览

编辑 经典指标策略回测一览 关键词 A股市场(沪深京三市) 5000股票20年内日线走势回测,区分除权,前复权,后复权三种模式;由于数据量较大,采用两种方式共享数据,一是 天启网站的数据…

Minor GC、Young GC、Full GC、Old GC、Major GC、Mixed GC 一文搞懂

简介 大家经常会看到各种各样的 GC 名称,比如:Minor GC、Young GC、Full GC、Old GC、Major GC、Mixed GC。 刚开始看到这么多 GC 名词后,真的是心累 哎,没办法,一声国粹之后也只能慢慢的把它们理理顺。 GC分类 我…

(vue2)面经基础版-案例效果分析

配路由 先配一级,一级里面配二级。一级路由:首页(二级:嵌套4个小页面)、详情页 高亮a->router-link,高亮效果对自带高亮类名router-link(-exact)-active设置 注:通过children配置项&#…

【springboot源码】深度解析@Value赋值时机及底层原理

1.Value使用 Value主要是让我们程序动态的将外部值注入到bean中的,使用方式主要如下两种: 1.1Value("${}"):可以获取对应属性文件中定义的属性值。 1.2Value("#{}"):表示 SpEl 表达式通常用来获取 bean 的…

【操作系统】聊聊什么是CPU上下文切换

对于linux来说,本身就是一个多任务运行的操作系统,运行远大于CPU核心数的程序,从用户视角来看是并发执行,而在CPU视角看其实是将不同的CPU时间片进行分割,每个程序执行一下,就切换到别的程序执行。那么这个…

[激光原理与应用-70]:AD8512运算放大器的工作原理与连接电路

目录 概述: 一、AD8512的功能与主要特征 一、AD8510 1.1 管脚说明 1.2 电源电压 1.3 输入信号电压 1.4 偏置电压 1.5 参考连接 1.6 放大倍数 1.7 参考电路 二、AD8512 1.1 管脚说明 1.2 AD8512的电路连接 1.3 如何调整放大倍数 1.4 AD8512半波与全波…

基于 Socket 网络编程

基于 Socket 网络编程 前言一、基于Socket的网络通信传输(传输层)二、UDP 的数据报套接字编程1、UDP 套接字编程 API2、使用 UDP Socket 实现简单通信 三、TCP 流套接字编程1、TCP 流套接字编程 API2、使用 TCP Socket 实现简单通信3、使用 Tcp 协议进行…

【数据链路层】网络基础 -- MAC帧协议与ARP协议

数据链路层认识以太网以太网帧格式(MAC帧)认识MAC地址对比理解MAC地址和IP地址认识MTUMTU对IP协议的影响MTU对UDP协议的影响MTU对于TCP协议的影响 再谈局域网转发原理(基于协议)ARP协议ARP协议的作用ARP协议的工作流程ARP数据报的格式 数据链路层 用于两…