浅谈操作系统

我们前面谈到了一个可执行程序首先会到内存进行预先加载~而在我们的计算机中第一个被加载的软件就是操作系统~

操作系统的主要工作就是对软硬件资源进行管理~

这里我们先从操作系统下层开始讲起~

我们把操作系统类比为校长,驱动程序类比为辅导员,底层硬件类比为学生~

试问如果校长想要管理学生,需要和学生进行直接接触吗?——不需要,校长只需要得到学生的相关数据就行了~校长做出决策需要整理学生数据~辅导员落实决策,去收集学生的数据最后交给校长~

管理的本质从来都不是谁与谁去见面,而是获取到它的数据,然后对数据进行管理!

那么当校长获取到大量的数据时又应该如何去管理呢?——借助数据结构

校长不可能事无巨细去观察每一位学生的具体细节, 所以他需要一个能大概整体概括学生的基本数据~

而在我们学习的语言中,有这么一种方式是用来描述一类事物特征的——结构体~

我们通过结构体对学生进行描述,里面添加关于学生的基本信息。

然后结构体构造大量对象~每个对象基本属性一致但数据各不相同~这是描述过程

校长不可能只对一位学生作管理,所以需要像链表一样把所有学生的结构体对象都链接起来~这是组织过程,当然组织的形式有许多种,但无论哪一种背后都是利用容器(vector,list等等)进行组织!

先描述,再组织,最终形成对数据的增删查改,而这就是对数据的管理~

所以管理的本质就是对数据的管理,而实现的方法就是对数据进行描述再组织起来!

而操作系统会对驱动程序进行管理~也会对底层硬件进行管理~本质都是对数据进行管理!

 

接着我们再对操作系统的上层进行分析~

这里我们用银行来类比操作系统~

银行当前的功能就是帮助用户进行资产的管理~

那么是直接开放大门让用户进银行里面亲自存钱,取钱吗?——当然不可能,你怎么保证他会不会多取钱或者少存钱进行虚报呢?

所以银行设置了一批窗口~让用户到这些窗口填写个人的基本信息,由我们银行的工作人员进行信息核对,再替代用户进行用户对资产的管理!而这种窗口也称为系统调用窗口~用户想要去访问操作系统底下所管理的底层硬件就必须通过系统调用接口,实际上系统调用接口是操作系统为用户开发的公共类~它可以代替用户访问底层硬件~但它本质是归操作系统所管理~

可是不是所有人都会想到系统调用接口的,就比如一位80岁老大爷,他在银行窗口面前大字不识一个无从下手呀~而这时候银行的经理就会出现手把手来帮助大爷。而银行经理就是用户操作接口~

用户操作接口里面封装了系统调用接口,但从形式上会更加便捷~因为是他帮你调用系统接口,不是你自己来,你只需要调用用户操作接口就行了~而用户操作接口里面最经典的就有c语言标准库,我们平时使用的printf,scanf就相当于用户操作接口,而在printf,scanf内部则是封装了调用系统接口的函数~用户操作接口的出现可以减少系统调用接口的使用成本~

另外用户操作接口还可以根据你所在的平台不同而去调用不同平台的系统调用接口~

所以最后我们总结一下:为什么我们计算机中操作系统会是第一个被加载进内存的软件呢?

因为操作系统对下能够管理好硬件资源~对上能够提供出一个良好的运行环境!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【学术会议征稿】第四届电气工程与计算机技术国际学术会议(ICEECT2024)

第四届电气工程与计算机技术国际学术会议(ICEECT2024) 2024 4th International Conference on Electrical Engineering and Computer Technology 第四届电气工程与计算机技术国际学术会议(ICEECT2024)将于9月27日-29日在哈尔滨举…

吴恩达机器学习COURSE1 WEEK2

COURSE1 WEEK2 多维特征 在线性回归中,往往特征不止一个,而是具有多维特征 例如,在预测房价的例子中,我们知道更多的信息: x 1 x_1 x1​:房屋的面积 x 2 x_2 x2​:卧室的数目 x 3 x_3 x3​&a…

微信小程序 - 自定义计数器 - 优化(键盘输入校验)

微信小程序通过自定义组件,实现计数器值的增加、减少、清零、最大最小值限定、禁用等操作。通过按钮事件触发方式,更新计数器的值,并修改相关联的其它变量。通过提升用户体验,对计数器进行优化设计,使用户操作更加便捷…

蜂窝网络架构

2G/3G 4G eNB RF-RRU eCPRI RRU-BBU 光纤 5G From 38.300 AMF处理信令等,UPF 用户面,后面还有SMF

医院不良事件监测预警上报系统,PHP不良事件管理系统源码

不良事件上报系统,支持医院进行10大类医疗安全(不良)事件的上报管理;帮助医院管理部门更好把控不良事件的发生趋势,分析医院内部潜在的问题和风险,采取适当的管理措施,有效加强质量控制&#xf…

MySQL总体功能

基于Innodb存储引擎的讨论 MySQL 核心功能 功能解决的问题ACID模型数据并发访问,和奔溃恢复安全问题,一致性&奔溃恢复索引数据查询效率问题备份容错设计,解决硬件错误带来的问题复制数据迁移监控执行数据库操作的异常记录

JavaEE: wait(等待) / notify (通知)

文章目录 wait(等待) / notify (通知)总结 wait(等待) / notify (通知) 线程在操作系统上的调度是随机的~ 那么我们想要控制线程之间执行某个逻辑的先后顺序,那该咋办呢? 可以让后执行的逻辑,使用wait, 先执行的线程,在完成某些逻辑之后,通过notify来唤醒对应的wait. 另外,通…

C++-类与对象基础

一,类的定义 1.1类定义格式 class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为mian类的成员:类中的变量称为类的属性或成员变量; 类中的函数称为类的方法或者…

【nginx】centos7安装并配置开机自启

【nginx】配置开机自启 1.nginx配置开机自启 安装完成nginx之后 vim /lib/systemd/system/nginx.service[Unit] Descriptionnginx Afternetwork.target[Service] Typeforking ExecStart/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload/usr/loc…

理解Spring框架2:容器IOC

理解Spring框架2:容器IOC (qq.com)

ViP-LLaVA: Making Large Multimodal Models Understand Arbitrary Visual Prompts

发表时间:cvpr2024 论文链接:https://readpaper.com/pdf-annotate/note?pdfId2357936887983293952&noteId2426262228488986112 作者单位:University of Wisconsin–Madison Motivation:现在的多模态模型都关注整张图像的理…

torch量化接口深度解读-eager模式-fx模式

一、定义 接口总结量化模式解读 二、实现 接口总结 1. PyTorch提供了三种不同的量化模式:Eager模式量化、FX图模式量化(维护)和PyTorch 2导出量化。 2. Eager Mode Quantization是一个测试版功能。用户需要进行融合,并手动指定量…

尚硅谷谷粒商城项目笔记——六、使用navciat连接docker中的mysql容器【电脑CPU:AMD】

六、使用navciat连接docker中的mysql容器 注意: 因为电脑是AMD芯片,自己知识储备不够,无法保证和课程中用到的环境一样,所以环境都是自己根据适应硬件软件环境重新配置的,这里的虚拟机使用的是VMware。 1navicat免费…

最新版Ableton Live 12.20 WIN MAC,长期更新持续有效

一。Ableton Live 12.20 WIN &MAC 2024.08.06发布 Ableton Live Suite是一款由ABLETON公司开发的功能强大且全面的音乐制作、内容编辑和演奏分析软件。它极大地改进了许多社会功能,使音乐创作、背景音乐的开发变得更加快捷方便。 软件的主要功能包括录音、作曲…

WordPress原创插件:Category-id-list分类ID显示查看

WordPress原创插件:Category-id-list分类ID显示查看 插件设置位置在工具栏

学习vue3 五,传送,缓存组件以及过渡和过渡列表

目录 Teleport传送组件 keep-alive缓存组件 transition动画组件 1. 过渡的类名 2. 自定义过渡class名 3. transition的生命周期 4.appear transition-group 1. 过渡列表 2. 列表的移动过渡 3. 状态过渡 Teleport传送组件 Teleport Vue 3.0新特性之一。 Teleport 是一…

Spring的配置类分为Full和Lite两种模式

Spring的配置类分为Full和Lite两种模式 首先查看 Configuration 注解的源码, 如下所示: Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Component public interface Configuration {AliasFor(annotation Component.class)String value() defau…

(C23/C++23) 语句末尾的标签

文章目录 🔖前言🏷️ref🏷️标号 🔖兼容🏷️23标准前🏷️23标准后🏷️原因 🔖未兼容🔖END🌟关注我 🔖前言 🏷️ref C23提案复合语句末…

Serverless 1

一、云原生应用 云原生应用覆盖到: 大数据,人工智能,边缘计算,区块链等 服务代理:envoy API 网关:APISIX 服务网格:Istio 服务发现:CoreDNS 消息和流式处理:kafka Serve…

PDF预览:利用vue3-pdf-app实现前端PDF在线展示

目录 PDF预览:利用vue3-pdf-app实现前端PDF在线展示 一、vue3-pdf-app组件介绍及其优点 1、vue3-pdf-app是什么 2、作用与场景 3、类似的插件 二、项目初始化与依赖安装 1、初始化Vue3项目 2、安装依赖 三、集成vue3-pdf-app插件 1、引入插件 2、配置组件…