【linux】冯诺依曼体系|操作系统|管理本质

简介: 【linux】冯诺依曼体系|操作系统|管理本质

1. 冯诺依曼体系结构

常见的计算机,如:笔记本,不常见的服务器,如服务器,大部分都遵循冯诺依曼体系

1. 为什么要有内存?

输入、输出设备称之为外围设备,简称外设,外设速度一般比较慢一些

  • 以磁盘为例,我们去淘宝花500块 去买磁盘,可以买到1T的
    但若是买储存器即内存,只能买到4G/8G的内存条,从价格上看内存是比较贵的,主要是因为 相对于内存,磁盘是比较慢的

1. 若内存不存在

这样做虽然可以,但是因为外设的速度非常慢,而CPU的速度非常快,就导致类似于木桶问题的现象存在

  • 这个木桶最多承装多少水,不是由这个木桶最长的木板决定的,而是由最短的木板决定的
  • 整体效率就以外设为主,外设的速度非常慢,就导致整体效率非常慢

2. 若内存存在

  • 内存的速度比外设快的多,又比内存速度慢 若内存存在,进行计算时,若只包CPU与内存,则整体效率以内存为主
  • 内存可以实现对数据的预加载(提前将数据放入内存中),
    CPU进行计算时直接在内存中取数据,不需要访问外设了

结论1

在数据层面上,一般CPU不和外设直接沟通,而是和内存打交道

2.在硬件层面,单机和跨单机之间数据流是如何流向的?

你和你的朋友,聊qq,你发送一个在吗?整个信息是如何在体系结构中流动的?(在不考虑网络的情况下,即发出去就能收到)

你从键盘打出"在吗"输入qq里,数据"在吗"到内存,然后数据要做计算,因为数据在发送时不止一条,同时数据需要加密,

把计算完的结果写回内存,将该数据显示到输出设备,将数据显示到本地的显示框中, 同时把数据发送到网卡上,对应的输入设备就是网卡

同样把数据"在吗"交给内存,把数据读到CPU中,执行解密操作,把数据写回内存,再将数据刷新到输出设备中,即将"在吗”显示到你朋友的显示器中

结论2

外设只会和内存打交道(数据层面)

2. 操作系统(Operator System)

1. 概念

操作系统是一个进行软硬件资源管理的软件

2.如何理解操作系统对硬件管理?

  • 例如把学校中的人分为 校长、辅导员、学生 而管理者是谁呢?
    初次看,我认为管理者是辅导员,因为平时都是辅导员在管理我们
  • 而管理者的定义是:大部分情况下拥有做决策的能力

  • 所以真正意义的管理者是校长,所有的命令都是由校长发出的, 而辅导员只是按照校长的指令办事,最后辅导员带着学生完成任务

结论1

  • 校长可能只在开学典礼见过,或者平时偶尔见到一次,只是你认识他,他不认识你,但还可以安排我去那间宿舍,安排什么时候上课、什么时候吃饭
  • 管理者和被管理者,不需要直接沟通

3.管理者和被管理者没有直接沟通,他是如何管理我的呢?

  • 在上初中的时候,你经常跟你的同学抱怨,我的爸爸妈妈天天跟在屁股后面,天天管着我
    等上了大学后,你认为你终于脱离了父母的管控了,此时你的父母确实不在你的身边,但若你的父母有一种能力,
  • 按照天为单位,获取到你这一天都干了什么,通过这些数据掌握了你的行踪,第二天就给你打电话了,一顿说你。 说明你的父母不在你的身边,但若拿到数据照样可以管理你
  • 管理的本质: 对被管理对象的数据做管理

3.管理者是如何拿到被管理者的数据的呢?

  • 校长是如何拿到我的数据的呢?校长不用跟我直接接触,但辅导员通过他旗下的爪牙跟我直接接触
    辅导员 拿到了我的各科考试成绩,姓名籍贯等数据交给了校长

4.对管理做建模

  • 假设校长是一个程序员,要每一个学生的数据, 由于基本属性都是一样的,都包括(姓名、性别、考试成绩),由于linux内核使用c语言写的,所以设定一个结构体 s 包含这些基本信息
struct s
{
   //姓名
    //性别
    //考试成绩
};

由于学生数量太大,有上万名,所以使用execl表格太麻烦了 所以我用单链表把各个学生的信息连接起来

我想寻找学校中数学成绩最高的同学,代表学校参加竞赛 作为校长,要决策谁去参加

可以使用链表进行遍历,以数学成绩为判断条件,找到数学成绩最高的同学,通过结点找到姓名等信息


校长的行为转化为对链表的遍历动作


上述的整个过程完成了对管理进行建模(将具体的场景转化为计算机语言)


描述:如果要对特定的学生做管理,需要先将每一名同学结构体描述起来,采集信息,用结构体构建对象形成某种结构,

组织: 再将每一名学生对应的结点组织起来


管理的本质:先描述,在组织

5. 相互关系

  • 驱动去和硬件交互,从交互的层面上拿到相关的数据,操作系统拿到数据做决策,将决策交给驱动做执行

6.操作系统为什么要对软硬件资源做管理?

  • 操作系统对下通过管理好软硬件资源(手段),对上给用户提供良好(安全、稳定高效、功能丰富)的执行环境(目的)
  • 驱动去和硬件交互,从交互的层面上拿到相关的数据,操作系统拿到数据做决策,将决策交给驱动做执行

6.操作系统为什么要对软硬件资源做管理?

  • 操作系统对下通过管理好软硬件资源(手段),对上给用户提供良好(安全、稳定高效、功能丰富)的执行环境(目的)
  • 为了保护自身安全,设置银行柜台的存在,给我们提供窗口服务
  • 操作系统给我们提供良好的服务,并不代表OS会相信我们,反而,操作系统不相信任何人

系统调用

  • 类似于银行柜台的存在,操作系统的特定功能以接口的方式给我们提供出来,接口被称作操作系统的系统调用
  • linux系统本身是用c语言写的 ,系统指的是操作系统,调用指的是操作系统设计的c函数
相关文章
|
2月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
2月前
|
监控 Ubuntu Linux
什么Linux,Linux内核及Linux操作系统
上面只是简单的介绍了一下Linux操作系统的几个核心组件,其实Linux的整体架构要复杂的多。单纯从Linux内核的角度,它要管理CPU、内存、网卡、硬盘和输入输出等设备,因此内核本身分为进程调度,内存管理,虚拟文件系统,网络接口等4个核心子系统。
196 0
|
2月前
|
Unix 物联网 Linux
都什么年代了,你还不懂啥是Linux操作系统
至于华为鸿蒙操作系统是不是独树一帜,这个留给各位阅读本文的网友们来讨论
61 0
|
2月前
|
Web App开发 缓存 Rust
|
2月前
|
安全 Linux iOS开发
linux属于什么操作系统
Linux是一种自由和开放源代码的操作系统,具有高度的灵活性和可定制性。与常见的操作系统如Windows和macOS相比,Linux具有自由、安全和稳定等优势。Linux已广泛应用于服务器、桌面电脑、超级计算机和嵌入式设备等领域,并且在未来的发展前景广阔。由于其自由和开放源代码的特性,Linux还促进了计算机技术和社区的发展,为全球的计算机用户提供了更多的选择和可能性。
|
2月前
|
Ubuntu Unix Linux
操作系统的最强入门科普(Unix/Linux篇)
下期文章,小枣君会重点聊聊Windows和macOS那条线。敬请关注! 如果大家觉得文章不错,还请帮忙多多转发!谢谢!
|
2月前
|
安全 Ubuntu Unix
关于Linux操作系统,你必须要知道的事
我们可以看到无论是Debian还是Buildroot都有各自的特点,为客户提供了更大的选择空间和灵活性,大家可以根据自己的需求选择合适的版本来满足终端用户的体验和功能需求。从平技术将会一直关注更多更安全、灵敏、易于开发的Linux版本,做好适配工作,不断为客户带来“简单开发、方便应用”的使用体验。
|
2月前
|
安全 Ubuntu Linux
如何安装Linux操作系统?
此时,您可以选择重新启动计算机,然后从硬盘上的Linux系统启动。以上是一个大致的安装过程。请注意,不同的Linux发行版可能会在细节上有所差异,因此在进行安装之前,请确保您阅读并理解了相应发行版的安装指南或文档。
|
2月前
|
Ubuntu Linux 开发者
Linux发行版比较:选择适合你的操作系统
在做出选择之前,建议您先在虚拟机或双系统环境中尝试不同的发行版,根据自己的体验和需求做出决策。选择适合自己的Linux发行版是一个个人化和主观的过程,最重要的是找到符合自己需求和喜好的发行版,让您在使用Linux系统时感到舒适和方便。
|
2月前
|
Ubuntu Unix Linux
玩机强化技能,动手安装Ubuntu Linux操作系统
(13)Ubuntu重启过程中,你将在关机画面中看到提示文字“Please remove the installation medium, then press ENTER:”,按下“Enter”键即可重启电脑。