文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【Linux】冯诺依曼体系结构和操作系统概念

2023-08-18 21:06

关注


数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。
在这里插入图片描述

🚀1.体系概述

现代计算机发展所遵循的基本结构形式始终是冯·诺依曼机结构。这种结构特点是“程序存储,共享数据,顺序执行”,需要 CPU 从存储器取出指令和数据进行相应的计算。
在这里插入图片描述

比如我们上qq聊天,我们需要把聊天内容通过键盘输入给计算机(通过键盘这种输入设备),然后消息发出,显示到对方屏幕上(这时对方显示器就是输出设备)

而且它们的运行速度也有很大差异,在市面上可以几百块钱可以买到512G或者1T的硬盘,而内存只能买到8G或者12G的,显然同等存储空间下内存比硬盘要贵很多,那么同等地,它的速度也会比硬盘或者外设快很多。

而越昂贵,它的速度也就越块,运行速度:CPU >> 内存 >> 外设

🚀2.CPU和内存的数据交换

既然前面说了CPU速度是最快的,那么为什么还要存在内存呢,直接把CPU连到外设是不是会大大提升效率?
在这里插入图片描述
答案是否定的,举个例子来说,CPU工作的速度是纳秒级,而内存是微秒级,最后外设是毫秒级,如果CPU直接跟外设打交道,那么将是纳秒跟微秒的对比,CPU造价最贵,自然速度也就最快,那么它的时间将是很昂贵的,一个外设输入就会占用很多CPU的时间,这就跟木桶原理是一样的
在这里插入图片描述

木桶所能盛放的最大水量取决于最短的那块木板,而不是最长的那块,所以CPU如果直接跟外设打交道,那么计算机的运行速度完全取决于外设的速度,而CPU那么快的速度显然是浪费掉了,这时便引入了内存。

内存的访问速度比外设快,但是又比CPU慢,CPU可以直接从内存中拿到数据,放进CPU计算的同时,DMA可以把外设的东西调到内存,下次CPU就可以直接从内存中拿取数据。

这就是为什么我们打开一个程序的时候,需要先把数据加载到内存中,然后再交给CPU运行,因为这是体系结构决定的

结论:在数据层面,CPU一般不和外设沟通,而是只和内存打交道

🚀3.体系结构中数据的流动

我们下面模拟一下qq消息在两台主机中的传递:
在这里插入图片描述
数据先由张三的键盘输入"晚安",然后该消息被刷新到我们自己的显示器上,然后点击发送,这期间由DMA将数据调入内存,内存中数据在调入CPU进行加密,然后将加密后的数据返回给网卡,网卡在通过网络进行输出给另一台主机,另一台主机的网卡(此时网卡为输入设备)接收到数据,将数据给CPU进行解密,最后显示到对方李四的显示器上。

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

在计算机中,操作系统是其最基本也是最为重要的基础性系统软件。从计算机用户的角度来说,计算机操作系统体现为其提供的各项服务;从程序员的角度来说,其主要是指用户登录的界面或者接口;如果从设计人员的角度来说,就是指各式各样模块和单元之间的联系。事实上,全新操作系统的设计和改良的关键工作就是对体系结构的设计,经过几十年以来的发展,计算机操作系统已经由一开始的简单控制循环体发展成为较为复杂的分布式操作系统,再加上计算机用户需求的愈发多样化,计算机操作系统已经成为既复杂而又庞大的计算机软件系统之一
在这里插入图片描述

🚀1.简述

操作系统(OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等

操作系统包含:

🚀2.设计目的

🚀3.定位

🚀4.理解

我们应该如何理解操作系统对硬件做管理呢?比如在IT公司中,有boss,还很多个团队,每个团队有队长和队员,我们可以拿boss - 队长 - 队员来解释。

在每个IT公司中,boss会做决策,比如开发某款产品,然后他会把任务下发给对应的团队,团队队长便会根据这个来组织队员进行软件的开发:

在以上的描述中:

在这里插入图片描述

在上述例子中我们看到,boss是不需要跟队员直接沟通达到执行决策的目的的,也就是:1.管理者和被管理者是不需要直接沟通的

那既然管理者和别管理者不需要直接沟通,那怎么做到管理的呢?我们想像一下,如果IT公司的员工订了一份外卖,此时外卖小哥把外卖送到了员工的办公桌上,那么他进入了公司大楼,但他是公司的员工吗?显然不是,要被定义为公司员工,得在公司电脑上能查到该员工的信息才行,不是进入公司大楼的就是该公司员工。同样的,假如说一个员工被炒鱿鱼了,他人离开公司就行了吗?显然不是,该公司需要删除这个员工的信息才行。所以说管理的本质是:2.对被管理对象的数据做管理

那么boss怎么拿到员工数据呢?这就需要每个团队的队长反馈队员数据给boss,boss才能拿到员工数据。也就是3.管理者通过一种媒介(这里是队长)拿到被管理者数据

所以说我们操作系统也是如此:
在这里插入图片描述
操作系统通过硬件驱动实现对硬件进行管理。

🚀5.管理的本质

正如我们上文所说,队长把队员数据交给boss,那么boss怎么看呢,一个大的IT公司至少有几百上千人,boss如果想查找业绩最低的人员开除,那岂不是得找很久?于是boss就想了一个办法:把所有队员的数据用一个类描述出来,比如叫Programmer,这个类里面有成员姓名(name),年龄(age),业绩(achievement)等基本信息,这就叫数据的描述然后每个人员的信息我们便可以清楚的看到:

在这里插入图片描述
如果我们要查找人员信息呢,我们得用一种数据结构来组织每个人员的基本信息
比如boss想用二叉树来组织:
在这里插入图片描述
此时我们只需要遍历这棵二叉树即可实现对员工信息的查找,操作系统也是,比如进程管理,操作系统会用PCB来描述进程的结构,又比如内存管理,操作系统会用页表来管理内存

总之,管理就是先描述,在组织,这句话会贯穿我们Linux的整个学习过程

🚀6.系统调用

操作系统的作用是对下提供管理好软硬件资源,、对上给用户提供良好(安全,高效,稳定,功能丰富)的良好环境,“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。会使处理器从用户态进入核心态

我们所熟知的系统调用有:

来源地址:https://blog.csdn.net/m0_73204758/article/details/128977734

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯