ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Re:Linux系统篇(十一):进程篇前传:冯诺依曼计算机组成原理,操作系统的基本概念

Re:Linux系统篇(十一):进程篇前传:冯诺依曼计算机组成原理,操作系统的基本概念 观众老爷们大家好 这里是邪修KING的独家频道本文属于系列Linux系统篇 ——操作指令一起学Linux的小伙伴可订阅专栏 Linux系统篇一、冯·诺依曼体系计算机怎么工作最简单理解就是输入 → 存储 → CPU处理 → 存储 → 输出输入设备键盘、鼠标等把数据交给计算机。存储器内存暂时保存程序和数据。CPU真正负责“计算和控制”。运算器负责算比如加减乘除、逻辑判断。控制器负责指挥决定下一步做什么。输出设备显示器、打印机等把处理结果给用户。一个很重要的点CPU主要直接和内存打交道外设不能简单理解成直接和CPU随意交换数据。二、存储层次为什么有这么多“内存”可以把它理解成一个离 CPU 越近越快但越贵、容量越小的金字塔寄存器 → L1/L2/L3 Cache → 内存 RAM → SSD/HDD → 远程存储记住这个规律就够了越往上越快、越贵、容量越小越往下越慢、越便宜、容量越大例如寄存器CPU手里正在使用的数据最快。CacheCPU附近的“临时仓库”保存经常使用的数据。RAM内存正在运行的程序和数据主要放这里。SSD/HDD长期保存文件。远程存储网络服务器、云盘等容量大但访问更慢。三、和“进程”联系起来这部分后面学习 Linux进程时非常重要程序 ≠ 进程程序可以理解成“躺在磁盘上的一份代码”。当你运行它以后磁盘上的程序 → 加载到内存 → 操作系统创建进程 → CPU执行进程 程序的一次运行过程操作系统会负责对进程进行创建、调度、切换、管理和资源分配。操作系统是什么“操作系统到底是什么以及它在计算机里干什么”可以把它理解成一句话操作系统OS就是计算机的“大管家”负责管理 CPU、内存、文件和各种设备并通过系统调用给应用程序提供服务。1. 什么是操作系统操作系统是一层介于用户/应用程序和硬件之间的软件。你可以把计算机想成一个公司硬件 公司里的各种资源应用程序 来办事的人操作系统 管理这些资源的管理员操作系统主要包含内核Kernel最核心直接管理硬件资源系统程序Shell、各种工具等应用程序浏览器、编辑器、游戏等驱动程序让操作系统能够控制硬件设备2. 操作系统最核心的任务管理这里的“管理”不要想得太复杂就是把有限的计算机资源合理地分配给不同的程序。主要管理四样东西管理什么简单理解进程管理决定哪个程序运行、运行多久内存管理决定程序的数据放在哪里文件管理管理文件的创建、读取、删除、保存设备管理管理键盘、磁盘、网卡、打印机等所以你前面学习的进程其实就是操作系统管理的重要对象之一。3. 操作系统处于什么位置可以记住这个结构用户 → 应用程序 → 操作系统 → 硬件例如你打开一个文件你点击文件 → 应用程序请求读取 → OS处理请求 → 磁盘读取数据 → OS返回结果 → 应用程序显示应用程序一般不能直接随便操作硬件而是通过操作系统来完成。4. 什么叫“系统调用”这是这几页里非常重要的一个概念。应用程序想让操作系统帮忙做事情就要通过系统调用System Call例如程序想创建进程打开文件读取文件写入文件申请内存就可以向操作系统发出请求。可以简单记成应用程序 → 系统调用 → 操作系统内核 → 硬件5. 系统调用和库函数有什么区别这个地方容易混。可以这样理解应用程序 → 库函数 → 系统调用 → 内核例如 C 语言中的 printf()你的程序↓printf() ← 库函数↓write() ← 系统调用↓Linux 内核↓硬件库函数是给程序员用起来更方便的“包装”系统调用才是程序进入操作系统内核的重要接口。⭐总结一下操作系统 计算机的大管家。它向下管理硬件资源向上为应用程序提供服务。核心工作就是管理进程、内存、文件、设备。应用程序不能随便直接操作硬件需要通过系统调用请求操作系统内核完成工作。库函数是方便程序员使用的接口系统调用是进入内核的重要通道。
返回列表