当前位置: 首页 > news >正文

初识操作系统




🎬 个人主页:Vect个人主页

🎬 GitHub:Vect的代码仓库

🔥 个人专栏: 《数据结构与算法》《C++学习之旅》《Linux》
⛺️Per aspera ad astra.


文章目录

  • 1. 冯诺依曼体系结构
  • 2. 操作系统相关概念

1. 冯诺依曼体系结构

我们常见的计算机,都遵循冯诺依曼体系结构

  • 输入设备:键盘、鼠标、网卡、磁盘、话筒…
  • 输出设备:显示器、磁盘、网卡、打印机…
  • 存储器:内存,和磁盘外存相对应

所有的数据流转都遵循以下原则:

CPU在数据层面,不和外设直接交互,只能和存储器(即内存)交互!!!

举个例子:一个二进制文件运行在显示器上显示的过程:

二进制可执行文件–>磁盘–>存储器–>CPU–>存储器–>显示器

任何程序要运行,必须从磁盘加载到内存之后,经过CPU处理才能运行!!!——这是冯诺依曼体系结构决定的!!!

为什么要设计存储器?

外设IO处理效率极低,CPU处理效率极高,二者运行效率不是一个量级的,内存作为链接二者的巨大缓存

如果跳过内存:

根据木桶效应,整个系统效率取决于效率低的模块,而这样设计,不合理

再来看一下存储金字塔:


为什么不投入设计CPU呢?对于上层寄存器和三级缓存,制造成本极高,造假昂贵,而对于内存、硬盘价格就会越来越便宜,所以,冯诺依曼体系结构是个伟大的发明,让普通人也能用上计算机。

我们再举个例子理解一下冯诺依曼体系结构的数据流向:

从登录上qq开始和某位朋友聊天开始,数据的流动过程:假设发送“hehe”,此时不考虑网络层

  1. 键盘键入消息“hehe”,经过输入设备输入到存储器
  2. 存储器将消息“hehe”传输到CPU
  3. CPU经过处理,解密翻译,重新输出到存储器内
  4. 存储器将处理过的数据输出到网卡

此时,发送消息完成,经过网络层到达某位朋友的网卡

  1. 网卡接收到“hehe”数据,输入到存储器中
  2. 存储器将消息“hehe”传输到CPU
  3. CPU经过处理,解密翻译,重新输出到存储器内
  4. 存储器将处理过的数据输出到显示器上

2. 操作系统相关概念

广义上来讲,OS包括外壳程序和内核两部分

狭义上来讲,OS一般只谈内核

这样设计的目的是:

  • 对上层,给用户程序提供稳定、高效、安全的运行环境
  • 对下层,能稳定、高效、安全地管理硬件设备

所以,操作系统的核心是管理,管理好上层和下层,围绕先描述,再组织的核心思想:

  • 对上层:
    • 用户/应用不会直接操作OS的内部模块,二通过OS提供的简化接口来提需求:比如开发者在代码里调用lib的“文件读取函数”,这些操作会通过“系统调用接口”传给OS
    • 简单来说:OS把进程、内存分配等复杂逻辑藏起来,给上层用户/应用提供简单易懂的操作入口
  • 对下层:
    • 不同硬件的工作逻辑差异很大,OS不直接操作硬件,而是通过调用对应的驱动程序来控制硬件:比如要保存文档到硬盘,OS的文件管理模块不会直接和硬盘交互,而是调用“硬盘驱动”,让驱动按照硬盘的设计完成数据写入
    • 简单来说:OS把“不同硬件的复杂操作”抽象成统一的管理逻辑,向下统一管理各种硬件

根据上述:OS是中间连接层

  • 向上:通过 “接口封装”,把复杂的系统功能简化成用户 / 应用能轻松用的操作
  • 向下:通过 “硬件抽象”,把多样的硬件操作统一成系统能管控的资源

最终实现的效果是:用户不用懂 OS 内部逻辑,硬件不用管上层需求,OS 靠 “上下管理” 让整个系统有序运行

http://www.jsqmd.com/news/107073/

相关文章:

  • 物联网数据洪峰下的生存指南:3招让关键消息“插队“成功
  • 7天精通Electron桌面应用开发:从零到项目实战完整教程
  • Naive UI 图片预览实用技巧:打造专业画廊效果的高效方法
  • Linux常见工具使用
  • 怎么查看电脑显卡显存?3种简单方法教会你
  • 上一套MES系统的总体花费大概是多少?除了软件许可,还有哪些隐藏或后续成本?
  • MCP协议驱动企业级AI集成:芋道源码的智能化升级实践
  • StrmAssistant:为Emby服务器注入新活力的全能助手
  • 生成模型驱动的强化学习奖励机制革命
  • OpenAI o200k_base编码器:10倍效率提升的终极指南
  • 【每日算法】LeetCode 76. 最小覆盖子串
  • NanoBanana Pro提示词大全,提示词合集这篇足够!
  • 探索5大高效DDD测试策略:让代码成为活文档的终极指南
  • Flutter:构建现代跨平台应用的终极利器
  • 2025年必看!热门目管理软件排行榜,高效办公就靠它
  • 基于麻雀算法优化的无人机航迹规划--MATLAB 设置地图参数a, b, c, d, e, f...
  • 别再用 PHP 动态方法调用了!三个坑让你代码难以维护
  • Monaco Editor集成终极指南:从架构解析到生产级部署方案
  • 我工作中用MQ的10种场景
  • Skyvern终极指南:AI驱动的自动化革命
  • Flutter:用一套代码构建多平台原生级应用的未来之选
  • 智能会议新体验:声网STT如何实现会议内容的可视化管理?
  • StoryDiffusion完整教程:如何用AI快速制作专业级漫画故事的10个实用技巧
  • AMD GPU上的注意力机制性能优化实战指南
  • 2025最新广东AI搜索推广服务公司top5推荐!大湾区优质服务商权威榜单发布,解析AI搜索推广优选方案 - 全局中转站
  • Ant Design设计系统组件库集成终极指南:快速提升团队协作效率
  • 明诺多功能全自动洗地机,适用于超市、地库及商场清洁需求
  • 打造.NET平台的Lombok:实现构造函数注入、日志注入、构造者模式代码生成等功能
  • 计算机毕业设计springboot基于多模态医学知识的医疗诊断专家 基于Spring Boot框架的多模态医学知识辅助诊疗系统设计与实现 Spring Boot驱动的多模态医学知识智能诊断平台开发
  • 实战进阶:使用cross工具实现Rust跨平台测试的完整解决方案