Linux——操作系统详解

目录

一.操作系统的含义

1.操作系统是什么?

2.那么操作系统为什么要对软硬件资源进行管理呢?这样做的好处在哪里?

3.操作系统又是怎么进行管理的?

如何理解“先描述,再组织”?

二.总结:

示例1: 通过操作系统图映射银行管理

三.操作系统存在的意义


一.操作系统的含义

1.操作系统是什么?

        操作系统是一个管理软硬件资源的软件。

2.那么操作系统为什么要对软硬件资源进行管理呢?这样做的好处在哪里?

     

       操作系统需要通过合理的管理软件和硬件资源 (手段)——对下;才能为用户提供良好的 (稳定的,高效的,安全的) 执行环境 (目的)一一对上。操作系统是计算机的最关键的一部分,代表着承上启下的作用。

3.操作系统又是怎么进行管理的?

        3.1举一个管理者和被管理者的例子:

        作为大学生(被管理者)来说,一个学校的校长(管理者)是一个神圣的存在,因为他/她一面难求,有的大学生在这个学校呆了四年都没有见过一次校长,但是我们能成功毕业也离不开校长的管理,那校长为什么和大学生们都不需要见面接触,仍能管理好这些学生们?他/她是怎么做到的呢?

        其实管理的本质为:对数据做管理。管理者:具有对某些重大事件的决策权,但决策是得有依据的,这个决策依据就是针对管理对象们的数据做出的,那么管理者又如何拿到被管理者的数据呢?

        管理者和被管理者之间存在第三种角色——执行者。执行者是由管理者安排任务去收集管理者的数据,即让执行者去与管理者接触见面,执行者收集完数据后便转交给管理者,这样管理者就轻松的拿到了管理对象的数据,通过这些数据做出合适的管理决策!

回到校长和学生的例子:

1.校长通过对学生做管理,真正是想要对学生的的信息 (年龄,身高体重,成绩,是否获奖等) 数据做管理。

2.数据的采集和决策能否成功执行,都由辅导员 (执行者) 来做,因为校长不可能对全校的学生登记信息管理,那校长可不得累死啊~,于是校长为了能够轻松一些,招聘了许多的辅导员去做学生底层的工作,各个辅导员做完后将学生数据收集完毕,将校长的需求完整的做好再发给校长(完成决策执行)。
3.学生人少 (数据少) ,学生人多 (数据多)
学生人少时,校长只需要做个excel表格就行;但若本校的学生人数过多时,表格这种方式就很慢了,就得先描述,再组织,对多个数据组织成数据结构去管理。

如何理解“先描述,再组织”?

       1.当管理者对被管理者进行管理时,需要获取学生信息的种类是一样的,无外乎是学生的各个属性,做管理就好比是校长使用C语言写一个结构体指针struct*,通过该指针指向许许多多的结构体,而每个结构体就是一个学生的属性信息,每次添加一个结构体就表明获取到了一个学生的数据,根据学生的数据做出相应类型的管理。

         虽然校长将学生们整理规划成了一个一个结构体,但并不方便遍历查找,所以他又将这些结构体组织成一个大的链表去方便管理:需要数学成绩好的,就去遍历链表,通过输入数学属性去排序找到优秀的学生;需要跑步快的去省里边参加运动会,也是输入特定属性查找,找到数值最大的那个节点,将该节点的信息发到省跑步报名表里,并发让辅导员安排他准备去省里比赛。

       所以校长根本不和你进行接触,只需要拿到你的数据,然后根据数据进行分析,做出相应的方案即可,所以管理的本质:不是管理你这个人,而是对你的数据进行管理 !因为从你的数据中就已经能够体现出你这个人的属性能力。

视角回到计算机中,我们就已经明白:管理者就是操作系统,被管理者就是硬件,执行者就是驱动程序(软件)。

再通过管理者,执行者,被管理者这三个对象,做一些例子去加深理解:
    

       案例1: 当今天因为与同学发生矛盾并为此打架后,校长对你做出全校通报批评外加写检查 (管理的解决方案), 是由于他们对你的数据进行分析管理(在今天天,你做出了打架的行为) ,基于此对你进行通报批评,那么校长是怎么知道的? 是班主任拿到我打架的数据信息然后上报他才得知的。

        案例2:父母管理你,是看你最近一段时间成绩有没有下降,有没有早恋,有没有和同学发生矛盾,身体健康与否 等等,这些都是你的数据信息,只要你的信息数据都正常,那么父母对你就没有那么严格,反而还会夸你,给你做好吃的。

二.总结:

        管理的本质:对数据做管理

        校长的管理方法:先描述,再组织;

        对学生数据做管理 ==>对数据结构做管理。


通过上面的例子讲解,我们深刻的清楚了管理者对被管理对象的管理方式,

下面可再通过一个具体案例去反应操作系统的管理模式。

示例1: 通过操作系统图映射银行管理

        行长作为银行的终极负责人清楚的在自己的小本本上记录着仓库物品的库存,桌椅板凳的数量,电脑设备的好坏...(这是在管理着硬件 );
        行长同时也在管理着手底下的人 (安保后勤,业务人员,部门经理..) ,管理着他们的工资,工龄业务能力等信息!一一先描述
        行长将这些人的信息做成节点用链表连起来,等到年底,遍历链表,将各个部门绩效做的最好的节点一个个拿出来,给他们发优秀奖金!而对工作不上进的懒散的人员进行批评或者开除,对坏了的物品进行更换!——再组织

人能管理硬件,人也能管理人=====> 软件(操作系统)能管理硬件,也能管理软件

 但这还没有完! 这只是管理者对下的手段,还有对上的目的!


        当我们这些老百姓,去银行存钱的时候,银行为啥不让我们进入银行的仓库,使用它的电脑自己存钱呢?

        这是因为银行的系统不相信任何人!尽管你确实是一个好人,但难免有居心叵测的小人有这样的坏心思。而且银行的系统非常容易受到伤害,所以银行将自己保护起来,例如下面:

        银行系统将内部与外部搭建了玻璃窗,让用户只能通过玻璃窗的小窗进行业务的办理,在遇到抢劫的时候,银行系统还有报警模式,信息可以直通派出所,这些行为都是系统保护自己的行为,不仅保护了自己不让他人破坏,也帮助用户提供各种服务,满足了客户的需求!

 

       


        操作系统也是如此:它不相信任何人,所以操作系统在为用户提供服务的同时,只能让用户通过接口与本系统的系统调用接口连接起来,用户才可以访问数据(其实用户访问的数据都是间接操作,用户在系统内使用的指令是交给了系统,系统根据指令去对硬件或者软件的数据进行搜集,然后将结果传输到显示屏中给用户看!

 用户无法直接绕过操作系统这是做不到的,用户做的任何指令都是贯穿操作系统的!!!


三.操作系统存在的意义


        用户直接访问硬件是十分高难度的一件事,亦或者用户直接访问操作系统也是比较不容易的事,所以操作系统将一切复杂的体系给封装起来,只向外提供了系统调用的接口,再对这些系统接口进行封装,使其更易使用(如鼠标点击等行为),此时作为普通用户也可以比较容易去使用计算机。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

音乐小白乐器选择,如何学一手才艺,推荐尤克里里

乐器难度说明 注意:这里的难度说明是音准的难度,就是能不能发出标准的声音 乐器按照演奏方式分类,分为 演奏方式乐器举例难度等级难度说明敲击木鱼,架子鼓,钢琴1敲击乐是音最准的,敲哪个地方就发什么音&…

记录--超长溢出头部省略打点,坑这么大,技巧这么多?

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 在业务中,有这么一种场景,表格下的某一列 ID 值,文本超长了,正常而言会是这样: 通常,这种情况都需要超长省略溢出打点&#xff0…

Kali-linux Gerix Wifi Cracker破解无线网络

Gerix Wifi Cracker是另一个aircrack图形用户界面的无线网络破解工具。本节将介绍使用该工具破解无线网络及创建假的接入点。 9.3.1 Gerix破解WEP加密的无线网络 在前面介绍了手动使用Aircrack-ng破解WEP和WPA/WPA2加密的无线网络。为了方便,本小节将介绍使用Geri…

学习RabbitMQ高级特性

目标: 了解熟悉RabbitMQ的高级特性 学习步骤: 高级特性主要分为以下几点, 官网介绍 1、消息可靠性投递 【confirm 确认模式、return 退回模式】 2、Consumer ACK 【acknowledge】 3、消费端限流 【prefetch】 4、TTL过期时间 【time to live】 5、死信队…

没有权限merge到源git仓库?一招教你如何解决。

在git上贡献项目的时候,一般步骤是,clone源项目到本地,切出一个新的分支,然后在新分支上开发,最后push到远程,然后提出mr。但是对于一些非开源的项目,可能会出现: 这就是说明没有权…

【C++】布隆过滤器

文章目录 布隆过滤器的引入布隆过滤器的概念如何选择哈希函数个数和布隆过滤器长度布隆过滤器的实现布隆过滤器的优缺点 布隆过滤器的引入 我们在使用新闻客户端看新闻时,它会给我们不停地推荐新的内容,它每次推荐时要去重,去掉那些已经看过…

【高级语言程序设计(一)】第 8 章:结构体类型和自定义类型

目录 前言 一、结构体类型定义 (1)结构体类型定义的一般形式 (2)结构体类型定义的说明 二、结构体类型变量 (1)结构体类型变量的定义和初始化 ① 先定义结构体类型、后定义结构体类型的变量&#xf…

84.Rem和max-width如何工作

max-width 首先我们先看普通的width是什么样的效果&#xff01; 首先给个测试的div <div class"test">TEST</div>● 然后CSS给定一个宽度 .test {width: 1000px;background-color: red;padding: 100px; }如上图&#xff0c;不管你的浏览器窗口如何改变…

HTMLCSS中的树形结构图

我们可以只使用 html 和 css 创建树视图(可折叠列表) &#xff0c;而不需要 JavaScript。可访问性软件将看到树形视图作为列表嵌套在披露窗口小部件中&#xff0c;并且自动支持标准键盘交互。 1、HTML 我们就从简单嵌套列表的 html 开始: <ul><li>Giant planets&…

Hbase操作

(1) 启动 启动顺序&#xff1a;Hadoop--zookeeper—hbase 主进程&#xff1a;HMaster 从进程&#xff1a;HRegionServer 确认进程是否正常 (2) 进入终端 [rootmaster ~]# hbase shell (3) 查看状态 命令&#xff1a;status 表示有3台机器&#xff0c;0台down掉&…

位操作集锦

位操作集锦 异或运算两两交换数据签名检测两个数是否拥有不同的符号&#xff0c;即一个正数&#xff0c;一个负数寻找只出现一次的一个数字1寻找只出现两次的一个数字寻找只出现一次的一个数字2寻找只出现一次的两个数字 与和位移运算判断奇偶数二进制数中1的个数二进制数中最右…

MFC 给对话框添加图片背景

在windows开发当中做界面的主要技术之一就是使用MFC&#xff0c;通常我们看到的QQ,360,暴风影音这些漂亮的界面都可以用MFC来实现。今天我们来说一下如何用MFC美化对话框&#xff0c;默认情况下&#xff0c;对话框的背景如下&#xff1a; 那么&#xff0c;我们如何将它的背景变…

C++服务器框架开发3——协程与线程的简单理解/并发与并行

该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。 其教学视频见&#xff1a;[C高级教程]从零开始开发服务器框架(sylar) 上一篇&#xff1a;C服务器框架开发2——头文件memory/typedef C服务器框架开发3——协程与线程的简单理解/并发与并行 目前进度协程与线程的简…

json-server的基本使用

1、mock是什么&#xff1f; mockjs 作用&#xff1a;生成随机数据&#xff0c;拦截 Ajax 请求 目的&#xff1a;很多时候前端开发页面的过程中&#xff0c;后端的接口并没有写好&#xff0c;这个时候需要前端自己定义接口及接口的返回数据的结构体&#xff0c;这个时候就需要…

ReactRouterDom-v5v6用法与异同

本文作者系360奇舞团前端开发工程师 简介&#xff1a; React Router Dom是React.js中用于实现路由功能的常用库。在React应用中&#xff0c;路由可以帮助我们管理页面之间的导航和状态&#xff0c;并实现动态加载组件。本文将深入探讨React Router Dom的两个主要版本&#xff1…

【微电网】含风、光、储联合发电的微电网优化调度研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Jupyter程序安装和使用指南【操作示例】

Jupyter Notebook(简称Jupyter)是一个交互式编辑器&#xff0c;它支持运行40多种编程语言&#xff0c;便于创建和共享文档。Jupyter本质上是一个Web应用程序&#xff0c;与其他编辑器相比&#xff0c;它具有小巧、灵活、支持实时代码、方便图表展示等优点。下面分别为大家演示如…

辅助生成: 低延迟文本生成的新方向

大型语言模型如今风靡一时&#xff0c;许多公司投入大量资源来扩展它们规模并解锁新功能。然而&#xff0c;作为注意力持续时间不断缩短的人类&#xff0c;我们并不喜欢大模型缓慢的响应时间。由于延迟对于良好的用户体验至关重要&#xff0c;人们通常使用较小的模型来完成任务…

EnjoyVIID部署

1、下载 git clone https://gitee.com/tsingeye/EnjoyVIID.git 2、导入数据库 创建表enjoyviid 导入数据库(修改数据库文件里的编码) EnjoyVIID/sql/tsingeye-viid.sql 3、修改配置 vim EnjoyVIID/tsingeye-admin/src/main/resources/application-dev.yml 修改数据库连接、re…

接口测试--apipost接口断言详解

在做接口测试的时候&#xff0c;会对接口进行断言&#xff0c;一个完整的接口测试&#xff0c;包括&#xff1a;请求->获取响应正文->断言。 一、apipost如何进行断言 apipost的断言设置实在后执行脚本中进行编写的。apipost本身提供了11中断言&#xff1a; apt.asser…