操作系统(OS)

文章目录

  • 前言
  • 一、操作系统是什么?
  • 二、用户对资源的访问
  • 三、操作系统是怎么做到管理的?


前言

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。冯诺依曼体系结构中的硬件单元提供的功能,这些硬件由操作系统来控制与管理,操作系统对下是对软硬件资源进行管理,对上(用户)提供稳定良好的环境。


一、操作系统是什么?

操作系统是一款进行管理的软件,没错它也是一个软件,它管理一堆软硬件,但它自己也是一个软件它也可以软件可以管理软件就像是现实生活中人管理人一样(管理软件),还有人管理一些机械设备,如机房管理人员(管理硬件)。linux操作系统内核包括(进程管理,内存管理,文件管理,驱动管理)
在计算机层状结构中
在这里插入图片描述

操作系统处于中间核心位置,它对下层实现软硬件资源的管理,然后对上层(用户)提供良好稳定的运行环境。操作系统帮助用户管理好下面的软硬件资源,操作系统下一层是驱动程序层,驱动程序也是软件,最底层是硬件所以对下提供软硬件资源的管理。驱动程序层处于硬件层和操作系统之间它有直接与硬件匹配的驱动,例如鼠标,在电脑上匹配鼠标时,刚开始时需要我们等上几秒,会有提示鼠标对应的驱动就绪。每一个硬件都配有自己对应的驱动程序。

二、用户对资源的访问

对于计算机来说,用户分两种:普通用户和程序员用户,普通用户用程序员开发的软件,而程序员可以说是去和计算机进行互动的一类人员,程序员要去开发软件,那么程序员就会去底层去访问硬件资源吗?不是的,其实程序员也不知道计算机硬件是怎么搞得,他不明白,那么他对于硬件那些资源该如何办,而且操作系统还在呢,既然操纵系统是管理软硬件资源的,那么我通过操作系统就可以对数据资源进行访问了吧。虽然是这样但是操作系统内部有很多重要的数据,它不想暴露给用户看见,因为怕程序员员胡乱改变导致发生不好的效果万一更改之后让计算机用不了了怎么办,但是操作系统该怎么办,它既不相信用户但是又要给用户提供服务,怎么办,这时它可以开放一些接口让用户来调用,这样用户就可以得到自己想要的,然后操作系统也没有损失。操作系统为用户(上层)提供接口服务,供用户调用接口,接口的调用让用户得到了自己想要的数据,用户所有访问操作系统的行为都将是通过系统调用完成,那些接口封装为库,很多为系统调用接口。

三、操作系统是怎么做到管理的?

操作系统是如何做到对软硬件资源管理的?需要拿到被管理者的属性信息只需要对这些属性信息就可以实现对软硬件资源的管理。在日常生活中,管理者是谁?被管理者又是谁?学校,管理者是校长,公司中,管理者是老板,在生活中管理者可以说是一个集体中最大的一个。而学校学生是被管理者,公司中员工是被管理者,而可以说大多数时间学生和校长(老板和员工)是很少见面的,但是他们之间又要有管理与被管理的关系,这是如何做到的,也许在那种小的集体中,管理者天天和被管理者见面,这样实施管理,不过就算他们见面也只是关注这个人的信息和最近的工作状态或者学习状态达到管理,而不见面要实现管理也只是需要得到他的属性信息以及最近状态同样可以达到管理,然后将得到的数据状态信息管理起来就可以做到对人管理,所以这也是他们不见面却能对学生或者员工进行管理,但是不见面如何获取资源,这中间就需要一个中间人,也就是一个执行者,就像是大学的辅导员一样在计算机中就是驱动程序
但是吧,管理者拿到了这些信息怎么管理是一个问题若是信息较少,可以直接将资料一堆一堆放着就行了,但是若是信息很多,管理者忙不过来啊,他也就需要将这些信息组织起来管理,而又考虑到这些人都有共同的属性只是具体信息不同,管理者就想到了用一个人的模板来描述一个人的信息,然后将这份模板交给执行者执行者去照着这个模板收集对应的信息,但是这些一份份信息模板对应的数据还是很多啊,人太多了,要咋个管理
于是就想着人的属性既然都是一样的,管理者又恰好是一个技术程序员,那么它想着我有这么多属性的集合,把这些属性信息集合描述为一个结构体吧,而结构体对象就相当于一个人,要对这些结构体对象进行管理可以在结构体中再添加一个属性信息下一个结构体的指针字段信息,这样可以用链表方式对人的信息进行管理,而这样的管理方式叫做先描述,再组织先对被管理者的属性信息描述为一个个属性信息集,再将属性集用数据结构组织起来,就可以做到快速管理。这样当需要最高的人,只需要对身高字段数据结构进行遍历,找出最高的那个即可,对人的管理就转换为了对数据结构的增删查改了。
而操作系统对于软硬件资源的管理,同样是先对软硬件资源信息做描述,然后再以某种数据结构组织起来,最终对软硬件资源的管理就变成了对某种数据结构的增删查改了。同样是先描述,再组织。认识每一个事物都是要知道他们的属性信息,不是一开始就知道那是什么的,而是通过属性信息了解的,同样的对软硬件资源都是要将他们的信息描述为一个属性集合,然后以某种数据结构组织进行管理。先描述,再组织这是一个对事物进行建模的过程,在操作系统中,注定存在大量的数据结构要用来组织软硬件以达到管理。

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

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

相关文章

整数和浮点数在内存中存储及题目

一、整数在内存中存储 整数的2进制表⽰⽅法有三种,即原码、反码和补码。三种表⽰⽅法均有符号位和数值位两部分,符号位都是⽤0表⽰“正”,⽤1表⽰“负”,⽽数值位最⾼位的⼀位是被当做符号位,剩余的都是数值位 正整数…

UglifyJS 压缩工具

要使用 UglifyJS 进行 JavaScript 代码的压缩和混淆,你可以按照以下步骤进行: 安装 Node.js: 首先确保你的计算机上安装了 Node.js。如果没有安装,你可以从 Node.js 官方网站 下载并安装。 安装 UglifyJS: 在安装 Nod…

2024腾讯云免费服务器2核8G配置申请流程,亲测有效

腾讯云免费服务器申请入口 https://curl.qcloud.com/FJhqoVDP 免费服务器可选轻量应用服务器和云服务器CVM,轻量配置可选2核2G3M、2核8G7M和4核8G12M,CVM云服务器可选2核2G3M和2核4G3M配置,腾讯云服务器网txyfwq.com分享2024年最新腾讯云免费…

C++for语句(2)

11.乘方计算 给出一个整数a和一个正整数n&#xff08;-1000000<a<1000000,1<n<100000&#xff09;&#xff0c;求乘方&#xff0c;即乘方的结果。最终结果的绝对值不超过1000000。 输入 一行&#xff0c;包含两个整数a和n&#xff08;-1000000<a<1000000,1…

第四十四周:文献阅读 + SG滤波+基于LSTM的编码器-解码器

目录 摘要 Abstract 文献阅读&#xff1a;基于集成深度神经网络的大规模水质预测 现有问题 提出方法 方法论 Savitsky-Golay过滤器 SE-LSTM&#xff08;基于LSTM的编码器-解码器神经网络&#xff09; 研究实验 数据集 实验设置 评估指标 基准模型 实验结果 发展…

搜维尔科技:使用SenseGlove Nova手套操纵其“CAVE”投影室中的虚拟对象

创造了一种基于 PC 的创新型多边沉浸式环境&#xff0c;让参与者完全被虚拟图像和声音包围。 需要解决的挑战&#xff1a; 传统的 VR 系统往往缺乏真实的触摸反馈&#xff0c;限制了用户的沉浸感。AVR Japan 旨在通过将触觉技术融入到他们的 CAVE 系统中来应对这一挑战&#x…

操作系统(AndroidIOS)图像绘图的基本原理

屏幕显示图像的过程 我们知道&#xff0c;屏幕是由一个个物理显示单元组成&#xff0c;每一个单元我们可以称之为一个物理像素点&#xff0c;而每一个像素点可以发出多种颜色。 而图像&#xff0c;就是在不同的物理像素点上显示不同的颜色构成的。 像素点的颜色 像素的颜色是…

HTML静态网页成品作业(HTML+CSS)——游戏战地介绍设计制作(4个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有4个页面。 二、作品演示 三、代…

3.4 bp,si,di寄存器,寻址方式,寄存器总结

汇编语言 1. [bxidata] 我们可以用[bx]来指明一个内存单元我们也可以用[bxidata]来表示一个内存单元&#xff0c;它的偏移地址为bx中的数值加上idata mount c d:masm c: debug r d 2000:1000 e 2000:1000 12 34 56 78 a mov ax,2000 mov ds,ax mov bx,1000 mov ax,[bx] mov c…

C++之deque与vector、list对比分析

一.deque讲解 对于vector和list&#xff0c;前一个是顺序表&#xff0c;后一个是带头双向循环链表&#xff0c;前面我们已经实现过&#xff0c;这里就不再讲解了&#xff0c;直接上deque了。 deque&#xff1a;双端队列 常见接口大家可以查看下面链接&#xff1a; deque - …

Redis - String 字符串

前言 下表中包含本博客提到的所有命令 字符串类型是 Redis 最基础的数据类型&#xff0c;关于字符串需要特别注意&#xff1a; 1&#xff09;⾸先 Redis 中所有的键&#xff08;key&#xff09;的类型都是字符串类型&#xff0c;⽽且其他⼏种数据结构也都是在字符串类似基础上…

Figure 01掀起了具身智能的崭新篇章

在人工智能的发展历程中&#xff0c;OpenAI始终扮演着创新的先锋角色。最近&#xff0c;他们与Figure公司的合作成果尤为引人注目&#xff0c;这一合作将多模态大模型技术成功应用于Figure 01机器人的开发中&#xff0c;为人类与机器的互动开辟了全新的时代。该机器人不仅能够与…

Matlab|【免费】基于半不变量的概率潮流计算

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序主要内容是基于半不变量法的概率潮流&#xff0c;包含蒙特卡洛模拟法、半不变量法&#xff0b;Gram-Charlier级数展开以及半不变量法Cornish-Fisher级数展开三种方法以及效果对比&#xff0c;模型考虑了…

Python 查找并高亮PDF中的指定文本

在处理大量PDF文档时&#xff0c;有时我们需要快速找到特定的文本信息。本文将提供以下三个Python示例来帮助你在PDF文件中快速查找并高亮指定的文本。 查找并高亮PDF中所有的指定文本查找并高亮PDF某个区域内的指定文本使用正则表达式搜索指定文本并高亮 本文将用到国产第三方…

cesium.js加载模型后,重新设置旋转角度属性值

// 加载模型var position Cesium.Cartesian3.fromDegrees(longitude, latitude, height);// 计算矩阵var rollAngleDegrees 15; // 设置翻滚角度var rollAngleRadians Cesium.Math.toRadians(rollAngleDegrees); // 将角度转换为弧度var orientation Cesium.Transforms.eas…

安装Pytorch——CPU版本

安装Pytorch——CPU版本 1. 打开pytorch官网2. 选择pip安装pytorch-cpu3.复制安装命令4. 在cmd命令窗口&#xff0c;进入你的虚拟环境4.1 创建虚拟环境4.2 进行安装 5. 安装成功6. 进行测试——如下面步骤&#xff0c;如图6.1 输入 python6.2 输入 import torch6.2 输入 print …

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Web)中篇

onBeforeUnload onBeforeUnload(callback: (event?: { url: string; message: string; result: JsResult }) > boolean) 刷新或关闭场景下&#xff0c;在即将离开当前页面时触发此回调。刷新或关闭当前页面应先通过点击等方式获取焦点&#xff0c;才会触发此回调。 参数…

微信小程序-微信支付

微信支付介绍 梳理一下流程&#xff1a; 1、用户点击下单&#xff0c;小程序向商户系统&#xff08;我们的服务器&#xff09;发起请求&#xff0c;服务器生成一个唯一订单号给小程序。 2、小程序向服务器发起微信支付请求&#xff0c;服务器调用微信下单接口&#xff0c;微信…

【教学类-34-10】20240313 春天拼图(Midjounery生成线描图,4*4格拼图块)(AI对话大师)

作品展示&#xff1a; 背景需求&#xff1a; 利用华文彩云空心字&#xff08;粗胖字体。凑满9个拼图&#xff09;制作了3*3的拼图块 【教学类-34-09】20240310华文彩云学号拼图&#xff08;3*3格子浅灰底图 深灰拼图块&#xff09;&#xff08;AI对话大师&#xff09;-CSDN博…

Android14之报错:error:add its name to the whitelist(一百九十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…