初步认识操作系统(Operator System)

2023-11-19

一,冯诺依曼体系结构

在这里插入图片描述
在众多计算机相关的书籍中,不得不提的就是冯诺依曼体系结构,冯诺依曼体系结构仍运用在当今的计算机中。
计算机硬件的五大成员:

  • 输入设备
  • 输出设备
  • 存储器
  • 控制器
  • 运算器
    一台计算机要想工作,那么这五部分是不可或缺的,计算机处理的数据都是从输入设备输入,流向存储器,CPU从存储器中读取数据,将处理的结果放回存储器,存储器将处理的结果通过输出设备输出。

内存的重要作用

存储器也就是内存,在其中起到了非常重要的作用,它作为沟通CPU与外设之间的桥梁。(外设指的就是输入设备,输出设备,例如:磁盘,显卡,网卡,键盘,显示器等等。)

由于CPU的运算速度非常快,是一般的外设的很多很多倍,如果外设与CPU直接沟通那么可想而知,外设会大大的拉低了CPU的速度,就如同木桶效应一般,一个木桶能装多少水是由最短的木板决定的。
在这里插入图片描述
内存在CPU与外设之间起到了一个缓冲的作用,内存的速度相比外设是非常快的,与CPU相比还是比较慢的,但是至少比外设快很多。在处理数据时,内存会把外设中的部分数据提前加载到内存中,以供CPU处理。
这里不得不说的就是局部性原理: 根据统计学原理,当一个数据正在被访问时,那么下一次有很大的可能会访问其周围的数据。所以当CPU需要获取某一行数据时,内存可以将该行数据周围的数据一同加载进来,而CPU处理数据和内存加载数据是可以同时进行的,这样下次CPU就可以直接在内存中拿数据。

关于冯诺依曼体系需要强调的几点:

  • 这里的存储器指的是内存
  • 不考虑缓存的情况,这里的CPU能且只能对内存进行读写,不能访问外设
  • 外设要输入或输出数据,也只能写入内存或从内存中读取
  • 总之,所有的设备都只能和内存打交道

现在你应该明白为什么我们编写的可执行程序在运行前要先加载到内存,是因为程序的运行是要通过CPU对其处理,而CPU只会和内存打交道。

二,操作系统的概念

任何的计算机系统都包括一个基本的程序集合,成为操作系统(OS)。

笼统的理解操作系统包括:

  • 内核(进程管理,内存管理,文件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)

三,设计操作系统的目的

  • 与硬件交互,管理所有的软硬件资源
  • 为用户提供一个良好的执行环境

三,操作系统在计算机体系中的定位

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

首先,计算机的最底层是一些硬件,它们之间形成冯诺依曼体系结构。
在这里插入图片描述
但是,单单靠他们是完成不了工作的,需要一个软件来管理他们。
例如:我们上述介绍的内存会加载输入设备中的数据,但它是何时加载?又是加载多少的呢?没有东西管理它,他是无法完成工作的,而管理他们的软件就是操作系统(Operator System)。
但是,OS并不是与底层的硬件进行直接交流的,例如,如果操作系统完成键盘的读取操作,那么只要你的键盘读取方式进行了改变,那么操作系统的内核源代码就需要进行重新编译,这对操作系统来说维护的成本太高了。
于是在硬件和操作系统之间增加一层硬件驱动,驱动层的主要工作就是单独去控制底层硬件的。例如:键盘有键盘驱动,显卡有显卡驱动,网卡有网卡驱动,硬盘有硬盘驱动。驱动简单的来说就是去访问某个硬件,访问这个硬件的读,写以及硬件的状态等等,驱动层就是直接和硬件打交道的。而驱动一般是由硬件制造厂商提供的,或是由操作系统相关的模块进行开发的。
此时,操作系统就只需要关心何时去读取数据,而不用关心具体是怎么去读取数据的,这就完成了操作系统与硬件之间的解耦。

在这里插入图片描述
操作系统的主要工作:

  • 进程管理
  • 内存管理
  • 文件管理
  • 驱动管理

在这里插入图片描述
操作系统对下是这样进行管理的,但是对上它又做了些什么呢?
操作系统会直接让用户去操作它去管理硬件嘛?答案肯定是不会的。

操作系统是一个很谨慎的软件,它不会将自己暴露给用户,而是通过系统调用接口的方式对上提供服务,这就和现实生活中银行很像,银行里都会有一大面玻璃墙,还会提供许多服务窗口,银行通过这些窗口对外进行服务。
在这里插入图片描述
银行这样做是因为,它既要对外提供服务,但是也要保护自身的安全,万一哪个去银行办理业务的人是个坏人怎么办。
操作系统也是这样,为了防止别人的破坏,它对外提供服务的方式是暴露在外面一些系统接口
在这里插入图片描述
对与系统接口的使用只有小部分的专业人士才会,所以在系统接口上面还有一层,例如:shell命令行解释器,GUI图形化界面,函数库等,来帮助人们去调用系统接口的程序。

在这里插入图片描述
建立在这样的基础上,用户才可以得心应手的使用计算机,用户是最上面的一层。

在这里插入图片描述
可以看到,计算机的体系实际上一个层状结构。

四,操作系统是如何进行管理的

提到操作系统是如何管理软硬件资源的,先从一个例子入手,校领导是如何管理学生的?

一个大学里面至少有1万名学生,如果校长是去和每个学生直接交流进行管理的,那得管理到猴年马月,这想想就是不现实的。
校长的手里有我们每个人的数据,他是通过我们们数据对我们进行管理的,例如校长有一天找到了计算机学院的导员,告诉他要对学院前几名的学生进行表彰,难道校长会去一个一个看每个人的成绩最后找出来前几名嘛?显然不是,他手里有学生的数据,假如校长是一个懂计算机的校长,他根据学生的共同特征,创建了一个这样的结构体,里面包括姓名,学号,学分,绩点等等,这样每个同学在校长的眼里就是一个个的结构体,有了这么多结构体,怎么去查询成绩前几名的学生呢?答案是将这些结构体组织起来,比如说用链表这个数据结构存储起来,然后通过对链表的遍历找到要表彰的学生。
校长对学生的管理,其实管理的是学生们的数据。学生就好比计算机中的硬件,校长就是操作系统,硬件驱动就是辅导员,校长根本不关心它的命令是如何去实现的,他只关心他的决策是什么,至于如何实施那是辅导员的事情。

操作系统其实就是校长的角色,是一个管理者的角色,他不会直接去和硬件进行交流,而是它的手里掌握的硬件的数据,它通过硬件的数据去管理硬件,至于实施的具体步骤是硬件驱动完成的。
总结为一句话就是:操作系统进行管理是通过先描述再组织进行的,描述就是把每个软硬件描述为一个结构体,再把这些结构体组织起来进行管理的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

初步认识操作系统(Operator System) 的相关文章

随机推荐

  • Windows Server 2008 R2 下配置AD证书服务器和HTTPS访问的图文教程 DNS+IIS+AD证书服务

    提前配置好虚拟机和客户机的访问 保证能ping通虚拟机 虚拟机和客户机网络的DNS填写为虚拟机的ip地址 接下来配置好DNS服务 配置域名解析服务 这个用于域名解析 不需要域名访问的可以不配置DNS 使用IP访问即可 安装DNS 进入DNS
  • (ros/qt报错) FATAL: ROS_MASTER_URI is not defined in the environment

    安装qt之后 明明打开roscore但是qt运行跟ros有关的节点时报错 FATAL 1450943695 306401842 ROS MASTER URI is not defined in the environment Either
  • 哪些 Java 知识不需要再学了

    张无忌在学太极拳的时候 他爹的师父张三丰告诫他一定要把之前所学习的武功全部忘掉 忘得越多就会学得越快 同样的 自学 Java 的时候一定要先知道哪些 Java 知识不需要再学了 毕竟技术的更新迭代就好像火箭一样快 Java 的一些知识点早已
  • OJ:algorithm头文件中sort函数的应用

    include
  • 【单片机笔记】STM32+ESP8266通过AT指令WIFI连接阿里云MQTT服务器

    上一篇使用USB转串口的方式通过ESP8266wifi模块的方式成功连接上了阿里云 现在就要通过单片机来替换电脑上位机了 这样单片机自动的去调用并发送串口数据更加方便 也更加符合一个产品的开发 板载的传感器有NTC温度 光强 这两个主要用来
  • 100流明相当于多少w_中艺光影秀揭秘一场大型灯光秀究竟要耗费多少电量呢?...

    炫酷的灯光秀 让城市景区的夜色被赋予了无限可能性 现代的灯光秀始于法国里昂 然而 现代技术的飞速发展 现在的灯光秀的技术也是越玩越炫丽 越来越复杂 在大家纷纷对灯光秀表示震撼的同时 也有一些人质疑 举办这么大规模的灯光秀 太 费 电 了 某
  • [Linux打怪升级之路]-文件操作

    前言 作者 小蜗牛向前冲 名言 我可以接受失败 但我不能接受放弃 如果觉的博主的文章还不错的话 还请点赞 收藏 关注 支持博主 如果发现有问题的地方欢迎 大家在评论区指正 目录 一 认识操纵系统下的文件 1 什么是文件 2 文件的类型 3
  • 医疗器械相关展会

    1 CMEF中国国际医疗器械博览会 始创于1979年 每年春秋两届 已成为亚太地区最大的医疗器械及相关产品 服务展览会
  • 机器学习实战项目总结

    1 预测模型新项目模板 机器学习是针对数据进行自动挖掘 找出数据的内在规律 并应用这个规律来预测新数据 一个很好的实践机器学习项目的方法 使用从UCI机器学习仓库链接 获取的数据集开启一个机器学习项目 分类或回归模型的机器学习项目可以分成以
  • Linux Nginx配置静态html

    Linux Nginx配置静态html 第一次接触服务器时 对项目部署和域名部署感觉很新鲜 有意思 很神奇 开始学习Nginx配置静态的HTML 使用工具 MobaXterm CHS exe 第一步 将html的项目放入服务器 将自己做好的
  • 【华为OD机试真题 JAVA】信道分配

    JS版 华为OD机试真题 JS 信道分配 标题 信道分配 时间限制 1秒 内存限制 262144K 语言限制 不限 算法工程师小明面对着这样一个问题 需要将通信用的信道分配给尽量多的用户 信道的条件及分配规则如下 1 所有信道都有属性 阶
  • origin中把多个拟合曲线放在一张图

    双击其中一个 或者New一个graph 这里直接双击其中一个图 右键 找到layer contents 可以看到 一个scatter配一个polynomial fit line 把剩下的B C D对应的点和拟合曲线添加进去 注意 这里的pl
  • 01、Java并发 Java ExecutorService

    ExecutorService 是 Java java util concurrent 包的重要组成部分 是 Java JDK 提供的框架 用于简化异步模式下任务的执行 一般来说 ExecutorService 会自动提供一个线程池和相关
  • 程序员如何做副业?35岁前,千万别让死工资绊住你赚钱的步伐

    近年来互联网行情下降 好多人都在思考要不要搞个副业来抵御风险 这不又来事了 这两天又爆了互联网大裁员 继阿里 向社会输送人才 之后 京东又搞了个 毕业礼 整的小伙伴们人心惶惶 副业的关注度又一波升级 那今天我们就来聊聊 程序员做副业这件事
  • cef编译

    按照大神的一遍过 具体过程非常详细 链接https kefong blog csdn net article details 119908780 spm 1001 2101 3001 6650 2 utm medium distribute
  • 《C++ Primer(第5版)》学习笔记(第5章)

    第5章 语句 C 提供了条件执行语句 循环语句和用于中断当前控制流的跳转语句 本章将具体介绍这些语句 5 1 简单语句 空语句 最简单的语句是空语句 只有一个单独的分号 如在程序的某个地方语法上需要一条语句但是逻辑上不需要 此时应该使用空语
  • 透过Python 将接收邮件邮件进行分类统计

    工作的需要自行学习了Python的一些功能 将所学的经验在这里分享给大家 文章目录 目录 文章目录 前言 一 环境准备 二 使用步骤 1 引入库 2 读入数据 总结 前言 工作中我们可能会透过邮件 让其他公司收集资料 在学会Python之前
  • 全网最最最轻量级检测网络 yolo-fastest 快速上手

    文章目录 0x01 Yolo Fastest 0x02 Prepare step1 clone step2 make step3 run darknet 0x03 Train step1 获取权重文件 step2 准备数据集 step3 修
  • 成功上岸字节35K,技术4面+HR面,耗时20天,真是不容易

    这次字节的面试 给我的感触很深 意识到基础的重要性 一共经历了五轮面试 技术4面 HR面 下面看正文 本人自动专业毕业 压抑了五个多月 终于鼓起勇气 去字节面试 下面是我的面试过程 很多面试题 都是靠记忆写的 希望能帮助到大家 致那些努力的
  • 初步认识操作系统(Operator System)

    操作系统 一 冯诺依曼体系结构 内存的重要作用 二 操作系统的概念 三 设计操作系统的目的 三 操作系统在计算机体系中的定位 四 操作系统是如何进行管理的 一 冯诺依曼体系结构 在众多计算机相关的书籍中 不得不提的就是冯诺依曼体系结构 冯诺