网站免费优化平台,浙江省建筑培训网,高端网站定做,导航类模板wordpress♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨个人… ♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨个人主页✨✨✨✨✨✨ 前面我们已经学习了Linux的基础指令和基础开发工具这一篇博客我们从宏观上来看看计算机——冯诺依曼模型与操作系统的管理艺术 准备好了吗~我们发车去探索计算机的奥秘啦~
目录
冯诺依曼体系结构
概念
️ 五大组成部分 两大核心特点
⚡ 数据流动原则
实例说明QQ聊天与文件发送
操作系统
操作系统是什么
操作系统的设计目的
操作系统的核心功能内核负责
操作系统如何实现“管理”
操作系统如何提供服务—— 系统调用与库函数☺
总结❤ 冯诺依曼体系结构 概念 冯诺依曼体系结构Von Neumann Architecture是现代计算机系统的理论基础由数学家约翰·冯·诺依曼于1945年提出。我们常用的计算机如笔记本我们不常用的计算机如服务器大部分都遵守了冯诺依曼体系结构。该体系结构明确了计算机的基本组成和工作方式~
️ 五大组成部分 输入设备Input Unit 例如键盘、鼠标、扫描仪、摄像头、麦克风、网卡等。 功能将外部数据或指令输入到计算机中。 存储器Memory 特指内存RAM是CPU直接访问的存储区域。 所有输入/输出设备的数据必须通过内存进行中转。 运算器Arithmetic Logic Unit, ALU 负责执行所有的算术运算如加减乘除和逻辑运算如与或非。 控制器Control Unit 指挥协调各部件工作解析并执行指令如程序代码进行逻辑控制。 运算器与控制器合称为中央处理器CPU 输出设备Output Unit 例如显示器、打印机、音响、网卡等。 功能将处理结果输出给用户或外部设备。 两大核心特点 1、存储程序原理 程序和数据都以二进制形式存储在内存中CPU按顺序读取并执行指令。 2、以运算器为中心 所有设备通过内存与CPU交互CPU不直接访问外设外设也不和CPU直接打交道。 ⚡ 数据流动原则 所有设备只能直接与内存交换数据CPU不直接操作外设~外设输入数据时先写入内存CPU从内存读取数据运算结果写回内存输出设备从内存读取结果并输出~ 换言之内存的本质是CPU和外设的缓存数据流动的本质就是拷贝计算机整体效率本质上就是设备间拷贝的效率~ 内存是核心中转站协调高速CPU与低速外设之间的速度差异~ 效率层次CPU 内存 外设如硬盘、键盘等~ 内存的引入使得计算机在成本和效率之间取得了良好的平衡让用户能够以相对较低的成本获得一台性能不错的计算机从而提升了计算机的“性价比”。
实例说明QQ聊天与文件发送 1. 发送文字消息 输入键盘输入字符 → 数据存入内存。 CPU处理从内存读取数据进行编码、打包等操作。 输出数据从内存经网卡发送到网络 → 对方接收后存入其内存 → 对方CPU处理 → 结果显示在对方屏幕上。 2. 发送文件 输入文件从硬盘读入内存外设→内存。 CPU处理对文件数据分包、加密等。 输出数据包经网卡发送 → 对方接收后存入内存 → 写入硬盘内存→外设。 冯诺依曼体系结构通过“存储程序”和“集中式内存访问”机制奠定了现代计算机的基础。通过理解这一模型有助于深入理解软件与硬件的交互方式尤其是数据流如何在不同设备间通过内存进行协调与传输。 操作系统
操作系统是什么
操作系统是计算机系统中最基本、最核心的系统软件。 从组成上看 狭义的操作系统特指其内核Kernel这是操作系统的核心部分直接负责管理硬件和核心资源。 广义的操作系统除了内核外还包括一系列必要的程序集合例如外壳Shell提供用户与内核交互的界面命令行或图形界面函数库如glibc将复杂的系统调用封装成更易用的函数其他系统级软件。 从定位上看 它是一款纯正的 “搞管理”的软件【软硬件管理】。在整个计算机软硬件架构中它处于承上启下的关键位置。 操作系统的设计目的 对下管理硬件与硬件交互统筹管理所有的软硬件资源如CPU、内存、硬盘、网卡等这是它实现的手段。 对上服务应用/用户为用户程序应用程序提供一个稳定、安全、高效的执行环境这是它追求的目的。 用户通过应用程序使用计算机硬件而这些资源是有限的。操作系统的必要性就在于它作为公正的“管理者”避免了应用程序对资源的无序争抢保证了整个系统的有序和高效。
操作系统的核心功能内核负责 内核主要包含四大管理功能 进程管理管理正在运行的程序进程/任务/线程负责CPU资源的分配和调度。 内存管理负责内存的分配、回收、以及虚拟内存等保证各个进程能安全地使用内存。 文件管理管理硬盘上的文件和目录提供文件系统供用户和程序读写数据。 驱动管理管理和控制所有的硬件设备如键盘、显示器为上层提供统一的接口。 操作系统如何实现“管理”
操作系统管理方法可以概括为“先描述再组织”~管理本质上是对被管理对象有效数据的管理~ 先描述Description 做法使用数据结构在C语言中主要是 struct 结构体 来抽象一个被管理对象的所有关键信息。 例子 管理进程就定义一个 struct task_struct包含进程ID、状态、优先级、内存指针等。 管理文件就定义一个 struct file包含文件大小、路径、权限等。 管理硬件就定义一个 struct hard_device包含设备类型、状态、容量等。 结论管理的本质不是管理实体本身而是管理描述这些实体的数据操作系统内核中充满了大量的数据结构。 再组织Organization 做法将这些描述好的结构体实例通过高效的数据结构如链表、树、队列等 组织起来。 例子所有进程的 task_struct 通过指针连接成各种队列就绪队列、等待队列所有设备结构体被链成一个 device_list。 目的管理者OS要执行操作如分配CPU、查找文件就变成了对这些数据结构进行增删改查这就是为什么学习数据结构和算法对理解OS至关重要。 通俗类比校长【操作系统】管理学生【硬件】不需要认识每个学生他只需要一份包含所有学生信息学号、成绩、班级的花名册【有效信息】描述并将这些信息按班级或成绩排序组织。管理学校其实就是管理这份花名册同时还有辅导员【驱动程序】的存在进行分学院管理~ 操作系统如何提供服务—— 系统调用与库函数☺ 系统调用System Call操作系统会将部分内核功能以接口形式暴露给上层开发者这些接口称为系统调用它们功能基础但强大是用户程序访问硬件和内核服务的唯一入口。 库函数Library Function系统调用使用复杂因此开发者会对它们进行封装形成更易用的库如C标准库。我们日常编程使用的 printf()、fopen() 等函数其底层最终都会调用相应的系统调用所以库函数和系统调用也是上下层的关系。 总结❤ 操作系统是计算机系统的“大管家”。它位于硬件之上应用之下通过“先描述用struct再组织用链表等数据结构”的科学方法将对CPU、内存、磁盘、设备等物理资源的管理转化为对数据的管理。它通过系统调用对外提供服务并最终为用户提供一个稳定、高效、安全的计算环境。 ♥♥♥本篇博客内容结束期待与各位优秀程序员交流有什么问题请私信♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ✨✨✨✨✨✨个人主页✨✨✨✨✨✨