linux入门---操作体统的概念

什么是操作系统

操作系统是一个对软硬件资源进行管理的软件。计算机由一堆硬件组成,这些硬件遵循着冯诺依曼体系结构
在这里插入图片描述
在这个硬件的基础上还有一个软件叫做操作系统
在这里插入图片描述
操作系统的任务是对硬件进行管理,既然是管理的话操作系统得访问到底层的硬件,比如说这是一个什么类型的硬件,这个硬件如果是磁盘的话,这个磁盘的大小是多少?目前已经用来多大的空间还剩多少空间,这个磁盘是否处于运行的状态等等,所以操作系统为了管理好这里的硬件就将自己分为四大模块分别进程管理,文件系统,内存管理,驱动管理,其中文件系统和内存管理是整个操作系统中最重要的两个部分因为在整个机器的运行过程中要到他们的次数最多,所以以后的学习中我们将重点放到这两个方面上
在这里插入图片描述
在操作系统之上还有一层就是用户:
在这里插入图片描述
我们作为用户通过操作系统来使用电脑,比如说用windows操作系统使用电脑玩英雄联盟,csgo,使命召唤等等,那么这里就有一个问题操作系统为什么要对软硬件资源进行进行管理?原因很简单操作系统的服务对象是人,我们每个人使用电脑的时候都希望自己使用的系统能够给我们提供更好的服务,比如说打游戏不卡,使用电脑不死机等等,而操作系统之所以要管理软硬件就是想通过合理的管理软硬件资源,来位用户提供一个稳定的,高效的,安全的执行环境,其中对软硬进行管理是操作系统的手段,给用户一个良好的环境是操作系统的目的。好看到这里大家已经知道了什么是操作系统(操作系统是一个对软硬件资源进行管理的软件),以及为什么会有操作系统(操作系统的存在可以给用户提供良好的执行环境),那么接下来我们就要了解操作系统是如何管理的软硬件来达到这样的目的。

什么是管理

在了解操作系统是如何管理软硬件之前我们先来谈谈管理这个词,看这篇文章的大部分应该都是大学生,那么这里我就问大家一个问题:你有见过校长吗?你有见过校长亲自来到你的宿舍查寝询问你的生活日常以及平时成绩吗?很明显这种情况是几乎不可能出现的,校长在学校里面属于是管理者,学生在学校里面属于是被管理者,校长虽然连学生的一次面都没有见过但是校长却能够知道学生的生活日常,学生的课表是什么?这个专业得期末成绩这个专业的某个班的专业成绩以及学校中具体的某个人的成绩校长都可以知道,那管理者是如何做到的呢?我们大学毕业进入公司工作,但是从进入工作的第一天开始到离职我们连ceo的面都没有见过,他没有问过我这个月的效绩怎么样这个月的工作是否顺利,没有问过我家庭是否幸福对工作是否充满热情,那这个ceo又是如何来管理我对我进行升值或者炒鱿鱼呢?
在这里插入图片描述
看了上面的两个例子大家对于管理者应该能够明白一件事:管理者不需要和被管理者直接交互,但是依旧能够把被管理着管理起来。那管理着是如何做到的呢?在了解这个问题之前我们先来想一个问题什么样的人是管理者?有小伙伴可能就会这么想,我的妈妈天天在家里管着我所以我的妈妈是管理者,我们班的班主任天天管着我的学习和生活所以班主任是管理者,如果大家是这么理解的话就大错特错了,你的妈妈和班主任虽然天天管着你但是他们不是管理者他们只是在管着你,我们判断一个人是不是管理着主要取决于这个人能不能做出重大决定,比如说一个学校的校长可以决定是否举办一个全校的师生大会来公布去年取得的成绩 ,一个学校的ceo能够决定今年的年终奖什么时候发发多少等等,我们把这样的人称之为管理者,而一个管理者每次做出一个重大的决定往往都是要有依据的,一个公司的ceo能够随便分发年终奖吗?比如说给一个普通的员工几个亿让他实现财富自由,对吧很明显是不可能的,比如说学校组织年纪大会时间选定在晚上的凌晨3点可能吗?很明显是不可能的,所以管理者每次做出一个重大的决定都是得有依据的,我们作为一个学生我的学号是多少?哪里人?高中在哪读?手机号是多少?以往期末考试成绩怎么样等等这些都是我们作为一个学生的数据,当我们作为一个员工时我每天的基础工作时间,加班时间,工资多少,为公司解决了多少问题,年终奖为多少,为公司所作的贡献等等这些都是我们作为员工的数据,公司的ceo或者学校的校长虽然不和我们直接打交道但是我们的所有数据早以被管理者所熟知,并且这些数据还在不停的更新,所以管理者做重大决定的依据就是被管理者的不停更新的数据,所以管理者对被管理者的管理实际上就是管理者对数据的管理,通过这些数据来做出重大的决定这样就算校长没有见过我,就算ceo不会亲自给我发工资但是他们依然能够很好的管理我们,管理的本质就是对数据的管理,当校长看到某个班级的语文成绩降低了校长就会提醒语文老师加强这个班的语文教育,当ceo看到某个部门的效绩很低那么ceo就会通知这个部门的领导加强对这个部门的监督那么这就是管理,管理的本质就是对数据的管理。我们说管理者是根据被管理者的数据来做出相应的重大决策,可是这里就存在一个问题,管理者从来不和被管理者接触那他是如何来获取不断更新的数据的呢?并且管理者下达的决策还得传达给底层的人,那这个决策又是如何传达的呢?所以在管理者和被管理者之间就会出现一个新的角色叫做执行者,执行者帮管理者收集被管理者的数据,然后管理者下达的决策就会由执行者传递给被管理者,这里的执行者就相当于大学中的辅导员各种领导,一旦校长决定开会或者举办运动会之后,这些辅导员和领导就会发消息给同学通知他们最好对应的准备,一旦这些学生考完试这些辅导员和领导就会把这些同学的成绩进行汇总上报给校长,那么在计算机中操作系统就相当于这里的管理者他负责分析数据根据这些数据下达决策,计算机中的各种硬件就相当于学校中的学生,他们负责执行对应的指令并反馈自己此时的状态,而计算机中的各种驱动就相当于学校中的辅导员他们负责传达校长执行的决策,并将学生的各种状态不停的收集起来交给校长
在这里插入图片描述

我们上面说管理的本质是对数据进行管理,校长管理一个学校就是管理这个学校的各种数据,而数据是由辅导员和各种领导采集到一起的,可是这里还是会存在一个问题,如果学校的人非常少的话产生的基础数据也会非常的少,比如说一个学校只有100号人,那么校长要想管理这100个人的话通过几张A4纸都能管理的过来,但是一个大学往往都会有几千好人,这么多人产生的数据是非常多的,这时如果还是一个人一个人的查看数据的话就会让管理的效率变得非常的慢,所以为了提高效率人们会采用这样的方法:校长要管理的人都是学生,学生虽然是不同的但是他们的数据类型却都是一样的,比如说这个学生的学号,年龄,学号,手机号等等,每个学生都有这些性质,所以校长就可以创建一个结构体来描述这些学生:
在这里插入图片描述
这样校长就把对学生的管理转换成对学生的数据进行管理,将对学生的数据进行管理转换成对数据组成的结构体变量进行管理,而在计算机中同一个硬件返回的数据的类型都是一样的,所以我们就可以使用结构体对这些数据进行描述,然后再通过数据结构中的方法来对这些结构体变量实现增删查改,那么这就是操作系统管理的数据方法:先描述,再组织。先使用结构体对数据进行描述,再通过数据结构来管理一个又一个的结构体。其次大家要注意的一点就是操作系统能够对底层的硬件进行管理,那么同样的道理操作系统在内部也能对各种软件进行管理,管理的方式也是先描述再组织。在现实生活中银行为什么要搞个窗户将用户和员工隔开,因为银行无法判断你是否是一个好人,因为银行自己很容易受到伤害,所以银行不相信任何一个顾客,所以他在顾客和员工之间添加了一个窗户,那么操作系统也是同样的道理,操作系统也不相信任何人,但是他又必须给上层的用户提供各种各样的服务,所以就有了操作系统接口,这些接口是操作系统提供的而操作系统是c语言写的,所以这些接口本质上就是c式接口,如果你想要访问计算机中的一些内容就必须得通过操作系统提供的接口来进行访问,其他的非法都会被操作系统直接拒绝
在这里插入图片描述
操作系统提供的接口在调用的时候十分的麻烦,所以就有了c/c++库和shell,我们写的代码用的printf,cout就是像硬件写入对应的信息,但是这个信息并不是printf函数或者cout函数向硬件中写入的数据,而是在这些库函数的内部调用了操作系统的接口,在通过操作系统的接口往硬件中写入了数据,我们的库写的非常的好,所以每次只用调用几个函数就能达到我们的目的,所以在操作系统调用接口的上一层还存在一层东西来帮助我们使用计算机,这个东西就是c/c++库,shell,界面等等,其中c/c++库是为了方便我们变成,而shell和界面是方便我们执行指令操作:
在这里插入图片描述
这就好比我们生活中的银行,银行拥有很多的基本设备比如说仓库,座椅,电脑,纸张等等,这些基本设备就相当于电脑的外设:键盘鼠标网卡硬盘等等。
在这里插入图片描述

银行的基本设备一般都会有人来管理,比如说仓库由保安来管理,桌椅由后勤来管理,电脑由程序员管理,纸张由其他人进行管理,管理物品的这些人就相当于电脑里面的各种驱动:
在这里插入图片描述
这些人都是基本员工他们属于被管理的人,而管理他们的人就是行长,行长就相当于操作系统,操作系统不仅可以通过驱动管理硬件,他还可以直接管理软件,就相当于行长不仅可以管理保安后勤程序员,还可以管理业务人员部门经理一样
在这里插入图片描述
银行不是直接开着保险库与客户进行交流而是通过一个个的小型窗口对客户进行服务,那么这里的窗口就相当于操作系统提供的系统调用接口,通过这个接口来获取对应的服务
在这里插入图片描述
银行服务的人各种各样,有社会上的精英也有刚步入社会的学生也有连字都不认识的老年人,所以为了服务这些老年人银行往往就会在大厅里面安排一些大厅经理来专门为不懂如何操作得老年人服务,那么这里得大厅经理就相当于科学家给我们提供得shell,c/c++库,图形化界面:
在这里插入图片描述
那么以上就是本篇文章得全部内容希望大家能够理解。

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

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

相关文章

【贪心算法】一文让你学会“贪心”(贪心算法详解及经典案例)

文章目录前言如何理解“贪心算法”?贪心算法实战分析1.分糖果2.钱币找零3.区间覆盖内容小结最后说一句🐱‍🐉作者简介:大家好,我是黑洞晓威,一名大二学生,希望和大家一起进步。 👿本…

Spring Boot 各层作用与联系

目录 1 Entity 层 2 DAO 层 3 Service 层 4 Controller 层 Spring Boot 各层之间的联系: controller 层-----> service 层(接口->接口实现类) -----> dao 层的.mapper 文件 -----> 和 mapper 层里的.xml 文件对应 1 Entity 层 实体层,…

Java笔记_6(面向对象)

Java笔记_6一、面向对象1.1、设计对象并使用1.2、封装1.3、就近原则和this关键字1.4、构造方法1.5、标准的JavaBean类1.6、对象内存图1.7、基本数据类型和引用数据类型1.8、this的内存原理1.9、成员和局部二、面向对象(综合练习)2.1、文字版格斗游戏2.2、…

正式环境关闭swagger

直接上步骤,如图:1,启动判断写在相应的环境配置文件中,根据条件判断是否启动 swagger :添加配置项:swagger.is.enable配置文件中添加:#是否激活 swagger true or falseswagger.is.enabletrue2&a…

【Linux】-初识Linux

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Linux】 分享:逆着光行走,任风吹雨打。 ——《起风了》 主要内容:Linux的一些最基本指令,Linux的小程序,Linux关于连…

从暴力递归到动态规划(2)小乖,你也在为转移方程而烦恼吗?

前引:继上篇我们讲到暴力递归的过程,这一篇blog我们将继续对从暴力递归到动态规划的实现过程,与上篇类似,我们依然采用题目的方式对其转化过程进行论述。上篇博客:https://blog.csdn.net/m0_65431718/article/details/…

看完这篇 教你玩转渗透测试靶机vulnhub——My File Server: 1

Vulnhub靶机My File Server: 1渗透测试详解Vulnhub靶机介绍:Vulnhub靶机下载:Vulnhub靶机安装:Vulnhub靶机漏洞详解:①:信息收集:②:FTP匿名登入:③:SMB共享服务&#xf…

【微信小程序】-- 使用 Git 管理项目(五十)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…

【Docker】Compose容器编排LNMP上云

文章目录什么是Docker-Compose下载安装官网官网下载安装卸载Compose核心概念一文件两要素三个步骤Compose常用命令DjangoMysqlRedisNginx部署部署架构构建django容器 - - - dockerfile编写构建Nginx容器docker-compose 编排容器Django项目配置custom_webmysql容器redis容器Djan…

一文看懂数据仓库

数据仓库数据仓库的概念数据仓库的主要特征数据仓库的分层数据仓库的分层介绍原始数据层:ODS(Operational Data Store)数据仓库层:DW(Data Warehouse)数据明细层:DWD(Data Warehouse…

邪恶的想法冒出,立马启动python实现美女通通下

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 完整源码、python资料: 点击此处跳转文末名片获取 当我在首页刷到这些的时候~ 我的心里逐渐浮现一个邪念:我把这些小姐姐全都采集,可以嘛? 答案当然是可以的~毕竟就我这技术&#xff0c…

【Java|golang】45. 跳跃游戏 II

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 nums[n - 1] 的最…

不会写SQL?ChatGPT 来帮你

想必当前最火的软件就是ChaGPT了&#xff0c;它是一款基于人工智能技术的大型语言模型,在数据库方面&#xff0c;ChaGPT可以被用来进行自然语言处理&#xff0c;实现自然语言查询和分析数据库。通过将ChaGPT与数据库集成&#xff0c;可以使得数据库更加智能化&#xff0c;提高数…

【2023】Kubernetes-网络原理

目录kubernetes网络模型kubernetes网络实现容器到容器之间通信Pod之间的通信Pod到Service之间的通信集群内部与外部组件之间的通信开源容器网络方案FlannelCalicokubernetes网络模型 Kubernetes网络模型设计的一个基础原则是&#xff1a;每个Pod都拥有一个独立的IP地址&#x…

【Android -- 软技能】《软技能:代码之外的生存指南》之好书推荐(一)

前言 这是一本由美国的一个软件开发人员写的&#xff0c;但书中除了有 Java 、C# 几个单词外&#xff0c;没有一行代码。 因为这本书讲的是代码之外的东西。 文章目录结构&#xff1a; 1. 职业 从业心态&#xff1a;说白了就是要有责任心&#xff0c;把每份工作要当成是自…

【国产FPGA】国产FPGA搭建图像处理平台

最近收到了高云寄过来的FPGA板卡&#xff0c;下图&#xff1a;来源&#xff1a;https://wiki.sipeed.com/hardware/zh/tang/tang-primer-20k/primer-20k.htmlFPGA主要参数:FPGA型号参数GW2A-LV18PG256C8/I7逻辑单元(LUT4) 20736寄存器(FF) 15552分布式静态随机存储器S-SRAM(bit…

Python+Yolov5道路障碍物识别

PythonYolov5道路障碍物识别如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01;前言这篇博客针对<<PythonYolov5道路障碍物识别>>编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。 学习与…

蓝桥杯刷题冲刺 | 倒计时15天

作者&#xff1a;指针不指南吗 专栏&#xff1a;蓝桥杯倒计时冲刺 &#x1f43e;马上就要蓝桥杯了&#xff0c;最后的这几天尤为重要&#xff0c;不可懈怠哦&#x1f43e; 文章目录1.年号字串2.裁纸刀3.猜生日1.年号字串 题目 链接&#xff1a; 年号字串 - 蓝桥云课 (lanqiao.c…

Java 网络编程入门

文章目录一、网络编程入门1. 网络编程三要素2. IP 地址3. InetAddress4. 端口5. 协议二、UDP 通信程序1. UDP 发送数据2. UDP 接收数据3. UDP 案例三、TCP 通信程序1. TCP 发送数据2. TCP 接收数据3. 服务器给出反馈4. 客户端录入键盘数据5. 服务器数据写入文件6. 客户端数据来…

Ubuntu使用vnc远程桌面【远程内网穿透】

文章目录1.前言2.两台互联电脑的设置2.1 Windows安装VNC2.2 Ubuntu安装VNC2.3.Ubuntu安装cpolar3.Cpolar设置3.1 Cpolar云端设置3.2.Cpolar本地设置4.公网访问测试5.结语1.前言 记得笔者刚刚开始接触电脑时&#xff0c;还是win95/98的时代&#xff0c;那时的电脑桌面刚迈入图形…
最新文章