通俗易懂帮你理清操作系统(Operator System)

news2024/12/23 5:42:50

文章目录

  • 概念(是什么)
  • 设计OS的目的(为什么)
  • 如何理解 "管理"(怎么办)
    • 总结
  • 系统调用和库函数概念

概念(是什么)

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:
内核(进程管理,内存管理,文件管理,驱动管理)
其他程序(例如函数库,shell程序等等)
总结:在整个计算机软硬件架构中,操作系统的定位是:一款进行软硬件资源管理软件。要留意“管理”和“软件”这两个字。

设计OS的目的(为什么)

对下:为了与硬件交互,管理所有的软硬件资源。
对上:为用户程序(应用程序)提供一个良好的、稳定的、高效的、安全的执行环境。

如何理解 “管理”(怎么办)

管理的例子
就比如在大学中,对于重大事宜有决策权力的一般是校长,但我们一般情况下是见不到校长的,一般也就和辅导员联系,那我们是怎么被学校管理(发奖学金、评奖评优等)的呢?其实不难理解本质上是我们各种学号、姓名、专业、班级等等的数据信息已经被校方拿走了,而且一直在更新。所以管理者不需要和被管理者直接交互,依旧能够把被管理对象管理起来。那么管理的本质就是对数据做管理。

那么管理者怎么拿到对应的数据呢?
下面画了一张图来表示这样的一个关系。
假如说新生开学军训这件事本身是校长这个管理者做出的决策,班主任需要做的工作就是让学生们做执行,
那么其实这里也是一样,操作系统和被管理者硬件之间其实还有一个驱动层,一方面帮助操作系统拿到硬件对应的数据,另一方面给当操作系统根据数据做决策也由对应的驱动来执行。
在这里插入图片描述

那么数据太多校长要怎么管理这些数据呢?不难发现,每一个学生的数据种类虽然多但是都是差不多的,有姓名、年龄、班级、联系电话、学号、成绩等等,那么给每个学生一人一个表格,把对应的数据填上,就可以对学生进行管理了。
在这里插入图片描述
那么校长其实就可以利用一个个的结构体将学生的数据都描述起来,通过对应的增删查改的算法就可以对这些结构体进行管理了。
其实操作系统也是这样的,先把要管理的数据都抽象出来,然后利用对应的数据结构算法对数据进行管理即可。

操作系统对所有软硬件资源管理的思维方式是:
1.先描述:对被管理对象抽象出来变成一个结构体。(面向对象)
2. 再组织:根据该结构定义出来的一个一个的对象,将他们设计成一个特定的数据结构,把对于被管理对象的管理转换为对某种结构的管理。

总结

管理的本质是:对数据的管理。
管理的方法是:先描述,再组织。

系统调用和库函数概念

在开发角度,操作系统对外会表现为一个整体,类似于银行,银行其实是不能直接把各种设备和资源等暴露在外面,防止一些不法分子来进行破坏,那为什么不直接把银行封起来不让任何人进入呢?原因就在于银行存在的意义就是为人民服务,提供我们各种存取钱的需求,所以银行就用很多比较坚硬的玻璃封起来,然后下面开一个小口口来提供给我们各种服务,操作系统也是这样,它们本质上不相信任何人,不能把各种驱动和管理程序随意的暴露出来,也不能完全封闭,所以会暴露自己的部分接口,供上层开发使用,这部分由操作系统通过C语言给我们提供的接口,叫做系统调用。像是fork、signal等等

系统调用在使用上,对用户的要求相对也比较高,必须要特别了解操作系统,让用户直接用这个接口太麻烦了,所以,开发者对部分系统调用进行适度封装,从而形成各种各样的软件层有C/C++库(各种lib,完成编程操作)、shell(帮助用户进行各种基本指令的操作)、各种图形化界面,就像C语言中的printf函数,调用一下就可以让屏幕轻松的打印我们想要打印的东西,各种ls、touch命令。这样的操作需要系统调用接口来做的,可以说成本是非常高的,但有了各种库、shell、各种图形化界面就有利于跟上层用户或者开发者进行二次开发。

综上就有了下面的这一幅图。
在这里插入图片描述


好了今天的分享就到此为止了
最后:如果你觉得对你有用就一键三连吧,哪里有没看懂的地方或者哪里有错误可以在评论区留言欢迎批评指正,作者看到的话会第一时间回复。
end


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

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

相关文章

照亮无尽前沿之路:华为正成为科技灯塔的守护者

20世纪中叶,著名科学家、工程师,被誉为“信息时代之父”的范内瓦布什,在《科学:无尽的前沿》中讨论了科学战略与科学基础设施对科技发展的重要性。其中提出,人类科技发展已经从以个人、学校为单位,来到了以…

【能效管理】关于学校预付费水电系统云平台应用分析介绍

概述 安科瑞 李亚俊 壹捌柒贰壹零玖捌柒伍柒 当下智慧校园、平安校园的建设越来越普及,作为智慧校园建设的重要一环,学生宿舍的用电预付费和用电管理措施是必不可少的。学生宿舍预付费电控系统可以解决使用传统电表人工抄表费时费力,不方便统…

[附源码]JAVA毕业设计基于MVC框架的在线书店设计(系统+LW)

[附源码]JAVA毕业设计基于MVC框架的在线书店设计(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 …

光源基础(2)——光的强度、波长、颜色合成与互补关系

光源基本参数 光的度量 辐射能和光能 以辐射形式发射、传播或接收的能量称为辐射能,其计量单位为焦耳(J)。光能是光通量在可见光范围内对时间的积分,其计量单位为流明秒(lms)。 辐射通量和光通量 辐射通量或辐射功率是以辐射形式发射、传播或接收的功率…

【servelt原理_4_Http协议】

Http协议 1.认识url url被称为统一资源定位符&#xff0c;用来表示从互联网上得到的资源位置和访问这些资源的方法。 他的表示方法一般为&#xff1a; <协议>://<主机>:<端口>/<路径>如下我们启动一个servlet程序&#xff0c;来看一下我们的url表示 …

Yolov5 基本环境(cpu)搭建记录

Yolov5 基本环境(cpu)搭建记录 软件包&#xff1a; 1.anaconda&#xff08;https://www.anaconda.com/&#xff09; 2.pycharm&#xff08;https://www.jetbrains.com/pycharm/&#xff09; 3.torchvision-0.11.0cpu-cp37-cp37m-win_amd64.whl&#xff08;https://download.py…

Node.js学习上(67th)

1、基础内容 1、命令行 1、CMD命令 1、dir&#xff1a;列出当前目录下的所有文件 2、cd 目录名&#xff1a;进入指定目录 3、md 目录名&#xff1a;新建文件夹 4、rd 目录名&#xff1a;删除文件夹 5、a.txt&#xff1a;直接打开当前目录下的文件 2、目录 1、.&#xff1a…

Spring Security源码(三) 授权分析

通过前面的分析我们知道经过filterchain的层层赛选后,请求来到了FilterSecurityInterceptor进行权限校验,那么其底层是如何实现的呢,通过本文带你了解其底层实现原理 一 授权流程整体分析 当客户端向某个资源发起请求&#xff0c;请求到达FilterSecurityInterceptor&#xff0…

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化...

全文下载链接:http://tecdat.cn/?p29480作者&#xff1a;Xingsheng Yang1 利用 python 爬取链家网公开的租房数据&#xff1b;2 对租房信息进行分析&#xff0c;主要对房租相关特征进行分析&#xff0c;并搭建模型用于预测房租&#xff08;点击文末“阅读原文”获取完整代码数…

Docker基础组件、安装启动和Docker生命周期

Docker安装部署 Docker引擎 运行镜像生成容器。应用程序跑在容器中 Docker Daemon 安装使用Docker&#xff0c;得先运行Docker Daemon进程&#xff0c;用于管理Docker&#xff0c;如&#xff1a; 镜像 images容器 containers网络 network数据卷 Data Volumes Rest接口 提…

【数据结构】图的实现

文章目录图1.图的基本概念2.图的存储结构3.邻接矩阵3.1邻接矩阵的优缺点3.2邻接矩阵的实现4.邻接表4.1邻接表的实现5.图的遍历5.1广度优先遍历5.2深度优先遍历5.3如何遍历不连通的图&#xff1f;图 1.图的基本概念 图是由顶点集合及顶点间的关系组成的一种数据结构&#xff1…

第二章 使用Maven:IDEA环境

前一章是在命令行环境下用Maven&#xff0c;也是为我们之后的操作打一个基础&#xff0c;但我想了一下&#xff0c;以后应该用得不多&#xff0c;所以这里就跳过了&#xff0c;直接学在IDEA中Maven的使用 我这里就直接简化笔记了&#xff0c;只把知识大致的整体架构写出来 一.创…

yolov5量化注意事项(二)

一、引言 前面的博文&#xff0c;是PTQ的注意事项。本篇文章是记录QAT部分需要修改的一些要点。 注&#xff1a;本文仅供自己的笔记作用&#xff0c;防止未来自己忘记一些坑的处理方式 QAT的大致流程&#xff1a;&#xff08;1&#xff09;训练生成基础模型&#xff0c;通常是…

Linux系统中驱动格式基本实现

大家好&#xff0c;今天主要和大家聊一聊&#xff0c;编写Linux驱动格式与方法。 目录 第一&#xff1a;基本格式实验 1、编写外设结构体 2、定义IO复用寄存器组的基地址 3、定义访问指针 第二&#xff1a;实验程序编写 第一&#xff1a;基本格式实验 可以利用模仿C语言中结构…

第二十三章 原型链

一、原型链 1、含义&#xff1a;就是对象的访问机制。从任何一个数据类型触发&#xff0c;由_proto_串联起来的链状结构&#xff0c;就是原型链 2、原型对象 &#xff1a;是函数天生自带的一个属性 , prototype 是一个对象数据类型 3、对象原型&#xff1a; 是对象天生自带的…

数字化门店| 瑜伽馆管理系统小程序| 小程序开发教程

随着悦己消费及对自身形象的高需求增加&#xff0c;越来越多的女性加入了瑜伽队列&#xff0c;对需求者而言&#xff0c;在同城找到合适的场馆或专业的老师不太容易&#xff0c;毕竟瑜伽教练证很好考&#xff0c;门槛低&#xff0c;不少场馆的教练老师略显不专业。对商家来说&a…

前端部署iis后axios跨域请求问题

一. 安装 ARR 3.0&#xff08;Application Request Routing&#xff09; 访问 IIS 官方网站&#xff1a;https://www.iis.net/downloads/microsoft/application-request-routing &#xff0c;有两种安装方式。 一&#xff0c;通过 Web 平台安装程序&#xff08;Web Platform …

2023年天津/辽宁/安徽/北京DAMA-CDGA/CDGP数据治理认证报名

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

光源基础(3)——光的折射反射偏振原理

费马原理 费马原理:光线沿光程为平稳值的路径传播。 光场中从P点到Q点&#xff0c;一条实际光线满足其路径积分泛函的变分为0&#xff0c;即如下条件: 路径积分的平稳值是相对于临近路径积分值相对而言的&#xff0c;有三种基本含义: 极小值:这是最常见的情形(光的直线传播、…

Allegro如何制作routekeepin操作指导

Allegro如何制作routekeepin操作指导 Allegro上可以快捷的制作Route keepin ,让Cline以及铜皮都在routekeepin里面,以下图板框为例 具体操作如下 选择Edit-Z-copy命令 Options选择画在Route keepin-All层 Size选择Contract Offset输入19.8 相对于板框内缩0.5mm Find选择…