文章目录

  • 1. 冯诺依曼体系结构
    • 1. 为什么要有内存?
      • 1. 若内存不存在
      • 2. 若内存存在
      • 结论1
    • 2.在硬件层面,单机和跨单机之间数据流是如何流向的?
      • 结论2
  • 2. 操作系统(Operator System)
    • 1. 概念
    • 2.如何理解操作系统对硬件管理?
      • 结论1
    • 3.管理者和被管理者没有直接沟通,他是如何管理我的呢?
    • 3.管理者是如何拿到被管理者的数据的呢?
    • 4.对管理做建模
    • 5. 相互关系
    • 6.操作系统为什么要对软硬件资源做管理?
      • 银行会相信我们么?
      • 系统调用

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.操作系统为什么要对软硬件资源做管理?

  • 操作系统对下通过管理好软硬件资源(手段),对上给用户提供良好(安全、稳定高效、功能丰富)的执行环境(目的)
  • 以银行系统为例,行长能通过IT部门对银行的电脑、服务器进行管理,也能对银行内的人员进行管理
  • 说明操作系统既能对硬件做管理,也能对软件做管理
  • 行长对下要管理好员工和软硬件资源,对上给用户提供良好的执行环境

银行会相信我们么?

  • 不相信,因为我们存钱不可能让你自己进入金库
  • 为了保护自身安全,设置银行柜台的存在,给我们提供窗口服务
  • 操作系统给我们提供良好的服务,并不代表OS会相信我们,反而,操作系统不相信任何人

系统调用

  • 类似于银行柜台的存在,操作系统的特定功能以接口的方式给我们提供出来,接口被称作操作系统的系统调用
  • linux系统本身是用c语言写的 ,系统指的是操作系统,调用指的是操作系统设计的c函数

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

  1. 【Linux】从冯诺依曼体系到初识Linux下的进程

    目录 前言 1.冯诺依曼体系结构 2.管理和操作系统 3.初识进程 1.描述进程PCB(process control block) 1.标识符pid fork接口创建子进程 2.进程状态 3.进程优 ...

  2. linux系统编程之进程概念(操作系统---管理,进程创建,进程状态,进程优先级, 环境变量,程序地址空间,进程O(1)调度方法)

    系统编程: 进程概念->进程控制->基础IO->进程间通信->进程信号->多线程 进程概念 冯诺依曼体系结构----现代计算机硬件体系结构 冯诺依曼体系结构----现代计 ...

  3. 【Linux 内核】Linux 操作系统结构 ( Linux 内核在操作系统中的层级 | Linux 内核子系统及关系 | 进程调度 | 内存管理 | 虚拟文件系统 | 网络管理 | 进程间通信 )

    文章目录 一.Linux 内核在操作系统中的层级 二.Linux 内核子系统 三.Linux 内核子系统之间的关系 一.Linux 内核在操作系统中的层级 Linux 内核 所在层级 : 整个计算机系 ...

  4. 操作系统实验报告——实验一:熟悉Linux命令及进程管理

    实验目的 熟悉Linux系统,掌握Linux系统的登入.退出等操作: 熟悉Linux命令及进程管理.作业控制: 学会使用Linux下C语言编程的基本知识: 掌握Linux中vi的基本操作: 掌握Lin ...

  5. 【Linux】进程概念——进程本质与PCB(进程控制块)

    目录 进程是什么? 1. 冯诺依曼体系结构 2. 操作系统OS 操作系统是什么? 操作系统做什么? 操作系统的管理方式 tip:系统调用函数&库函数 3. 进程 进程组成 ==进程与程序的区别 ...

  6. Linux IO体系、零拷贝和虚拟内存关系的重新思考

    目录 1. 关系梳理 2. 我们先看虚拟内存到底解决什么问题? 3. Linux IO体系重点解决什么问题? 4. 零拷贝重点解决什么问题? 4.1 为什么会谈零拷贝? 4.2 传统IO方式有什么问题 ...

  7. p2.第一章 Python基础入门 -- 冯诺依曼体系和计算机基础 (二)

    1.2 核心基础 1.2.1 计算机基础知识 艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日),英国数学家.逻辑学家,被称为计算机科学之父,人工 ...

  8. 计算机系统(一)——冯诺依曼体系

    现代计算机的基本结构是由冯诺依曼提出的,冯诺依曼的体系结构体系如下图所示: 计算机由运算器.控制器.存储器(也就是内存).输入设备.输出设备五大部件组成. 其中运算器和控制器组成cpu.        ...

  9. linux环境变量管理器,运维 - linux(ubuntu) 环境变量管理 (持续更新)

    运维 - linux(ubuntu) 环境变量管理 (持续更新) 注: 本教程以 Ubuntu16.04 操作, 请细看. 如果看完还不明白, 联系我, 我给你发红包. 一, 查看环境变量: 方法 1 ...

最新文章

  1. python3中的推导式、生成器、迭代器
  2. Android内存溢出分析
  3. [leetcode]Jump Game
  4. ORA-01940:cannot drop a user that is currently connected
  5. Eclipse扩展的轻量级集成测试
  6. 行!人工智能玩大了!程序员:太牛!你怎么看?
  7. mysql志新计划,在使用Perl DBI迭代结果集时更新MySQL表是否安全?
  8. .NET Framework下载地址
  9. ifconfig: command not found(CentOS专版,其他的可以参考)
  10. FireMonkey TListView的用法二:ItemAppearance为客制化外观Custom
  11. 使用 FUMA 鉴定 Independent SNPs 和 Lead SNPs
  12. 算数平均数\几何平均数\调和平均数
  13. 干货 | 日均5亿字符翻译量,百毫秒内响应,携程机器翻译平台实践
  14. Java Lambda reduce 例子 全网reduce最清晰易懂的例子,不服来辩 xxx XXX
  15. python代码使用cython进行加密
  16. jquery:关于$().css(left,)的设置;offset();offset().left();$.width();$.outerWidth();
  17. js-禁止微信内置浏览器调整字体大小
  18. c++中的pow()函数
  19. 相机标定 calib3d 学习笔记
  20. iphone开发每日一练1【2011-09-30】

热门文章

  1. 铨顺宏RFID:错综复杂的地下管道用RFID标签能完成管理吗?
  2. Think Fast, Talk Smart - 8: 如何用非母语自信地进行交流
  3. python路径拼接os.path.join()函数完全教程
  4. 网站诊断与网络推广方案设计
  5. 用Tkinter打造自己的Python IDE开发工具(7)变量数据共享机制及小白量化策略编写
  6. Android——多语言适配
  7. 【vue系列】小白入门篇,一天就能掌握vue开发技巧及规则
  8. 一些人工智能相关网站
  9. 市场调研报告-全球与中国摄像头监控软件市场现状及未来发展趋势
  10. vs2010c语言安装,VS2010 boost标准库开发环境安装教程