首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【javaEE】计算机是如何运行的

【javaEE】计算机是如何运行的

作者头像
那我掉的头发算什么
发布2026-01-12 18:54:05
发布2026-01-12 18:54:05
740
举报
这里是@那我掉的头发算什么 刷到我,你的博客算是养成了😁😁😁

冯诺依曼体系

在学习计算机是如何运行的之前,我们先来了解一下计算机的构成。我们日常使用的计算机包含哪些部件呢? CPU,主板,显示器,显卡,键盘鼠标,内存,硬盘,机箱,散热器…

相信这些部件大家都能娓娓道来。但是,其中有一些部件比较关键,可以说只要有这几样部件,就算没有其他的东西,也能称作计算机。 至于是哪几样部件呢?它们分别是: CPU 中央处理器: 进⾏算术运算和逻辑判断. 存储器: 分为外存和内存, ⽤于存储数据(使⽤⼆进制⽅式存储) 输⼊设备: ⽤⼾给计算机发号施令的设备. 输出设备: 计算机个用户汇报结果的设备

这个事不是我说了算,是计算机之父-冯诺依曼大佬说的。而上面这几种部件也构成了冯诺依曼体系结构。

认识计算机的祖师爷 – 冯诺依曼 冯·诺依曼(John von Neumann,1903年12⽉28⽇-1957年2⽉8⽇), 美籍匈⽛利数学家、计算机科学家、物理学家,是20世纪最重要的数学家之⼀。冯·诺依曼是布达佩斯⼤学数学博⼠,在现代计算机、博弈论、核武器和⽣化武器等领域内的科学全才之⼀,被后⼈称为“现计算机之⽗”、“博弈论之⽗”.

内存和外存

请注意,这里的内存不是平时买手机的时候,那些外行厂家告诉你的手机有128G的内存,此内存非彼内存。 实际上,所谓的128G内存,其实指的是外存。

我们平时计算机内部装的内存条的空间大小,其实才是真正的内存大小,而外存,一般指的是硬盘的空间大小。 从速度上来说: CPU》内存》外存 对于空间来说: 外存》内存》CPU 对于造价来说: CPU》内存》外存

如何查看自己电脑内存大小?

在这里插入图片描述
在这里插入图片描述

进入任务管理器,点击性能,找到内存。

在这里插入图片描述
在这里插入图片描述

我这台电脑是32G运行内存,目前只用了一个插槽。 一台电脑上其实可以插入两个内存条,对应两个插槽。其实,一个32G不如两个16G内存条香,主播当时不知道,不然就配两个内存条了,这涉及到双通道的知识,两个插槽构成的双通道会显著提升运行速度。

CPU

CPU的基本性能

在这里插入图片描述
在这里插入图片描述

依然是任务管理器,这次我们打开CPU这一部分: 首先速度:2.17GHz 1G指的是10亿,Hz是每秒多少次,这个数据代表本台cpu一秒钟可以进行20多亿次的运算。跟人类相比,效率搞了不知多少倍。

内核:8 计算机刚开始只有一个内核,那时候主要努力方向是提升cpu运行速度,但是,速度总有瓶颈,于是人们开始研发多内核cpu。简单来说,一个cpu核心干一个人的活,多个核心干多个人的活。 现代计算机大多都采用多核心的技术。

cpu执行指令的过程

与cpu执行指令相关的课程,大家如果大二的话,应该都学过,比如:计算机组成原理与体系结构,电子线路等。 在这里我简单的说一下: 核心步骤 取指:从内存中读取需要执行的指令,送入 CPU 内部的指令寄存器。 译码:指令译码器解析指令的含义,明确要执行的操作(如加减、数据传输)和操作对象(如寄存器、内存地址)。 执行:运算器或控制器根据译码结果,完成具体操作(如算术运算、逻辑判断)。 写回:将执行结果存回寄存器或内存,为下一条指令做准备。

这个循环速度极快,每秒可重复数十亿次,决定了 CPU 的运行效率。 现代 CPU 会通过流水线、超标量等技术,让多个步骤并行进行,提升吞吐量。

操作系统

操作系统是计算机中的一个重要的软件。

作用: 1.管理各种硬件设备 2.给各种应用提供一个稳定的运行环境

程序(Program):静态的指令集合

程序是预先编写好的、存储在磁盘上的指令和数据的集合,是一段 “死” 的代码。 特点: 静态存在:不运行时就是一堆二进制文件(比如 .exe、.py 等),存储在硬盘、U 盘等存储设备中。 不占用系统资源:没有运行状态,不消耗 CPU、内存等硬件资源。 可重复使用:同一个程序可以被多次启动(比如多次双击同一个软件图标)。 例子:你电脑里的 “微信安装包”“Python 解释器”“浏览器程序文件”,都是程序。

进程(Process):动态的执行过程

进程是程序的一次运行实例,是程序被加载到内存后,由 CPU 执行的动态过程。 特点: 动态存在:有完整的生命周期(创建→运行→暂停→终止),比如打开微信时进程被创建,关闭时进程被终止。 占用资源:运行时会占用内存、CPU 时间片、IO 设备等系统资源,操作系统会为每个进程分配独立的资源空间(比如独立的内存地址)。 独立性:不同进程之间相互隔离,一个进程崩溃通常不会影响其他进程(比如浏览器崩溃不会导致微信关闭)。 例子:你同时打开两个微信窗口,这两个窗口就是微信程序对应的两个独立进程;电脑任务管理器里显示的 “进程” 列表,就是当前正在运行的程序实例。

两者的关系 程序是进程的 “模板”,进程是程序的 “实例”:一个程序可以对应多个进程(比如多次打开同一个软件),但一个进程只能对应一个程序(进程本质是执行某个程序的过程)。 进程依赖程序存在:没有程序,就无法创建进程;但程序可以不被执行(即不对应任何进程),只是静态存储。

也可以这样说,程序运行起来就是进程。

一个计算机中可能运行着成千上万的进程。

在这里插入图片描述
在这里插入图片描述

例如上图。 进程多了就需要管理,操作系统就是用来管理这些进程的。

PCB进程控制块

PCB(进程控制块)是操作系统管理进程的核心数据结构,每个进程都对应唯一的 PCB,堪称进程的 “身份证 + 状态档案”。

核心定义 PCB 是存储进程关键信息的数据结构,操作系统通过 PCB 识别、控制和管理进程,进程的生命周期与 PCB 紧密绑定 —— 进程创建时生成 PCB,进程终止时销毁 PCB。

核心作用 标识进程:让操作系统区分不同进程(通过唯一的进程 ID)。 记录状态:跟踪进程当前状态(运行、就绪、阻塞等),为调度提供依据。 管理资源:记录进程占用的资源(内存地址、IO 设备、文件句柄等)。 保存上下文:存储进程切换时的 CPU 寄存器值、程序计数器等,确保后续能恢复运行。

站在操作系统的角度,如何管理进程? 首先,先描述一个进程是什么样的,比如用PCB。描述出进程的核心属性。再把多个进程组织起来,其实也是把PCB组织起来,可能使用链表等数据结构。 创建一个进程时先创建一个PCB,初始化里面的属性值,把新的PCB和已有的连接起来。销毁一个进程先在PCB串中找到对应的PCB,然后消除。查看进程列表时也可以转为查看PCB信息。

PCB 包含的关键信息 进程标识符(PID):进程的唯一编号,用于系统识别。 进程状态:如运行态(正在占用 CPU)、就绪态(等待 CPU)、阻塞态(等待资源 / 事件)。 资源描述符:指向进程占用的内存、设备、文件等资源的指针。 上下文数据:进程切换前的 CPU 寄存器值、程序计数器(下一条要执行的指令地址)等。 进程优先级:不同进程因为需求不同有着不同的优先级。 进程的记账信息:统计每个进程在CPU上运行了多久,如果一个进程长时间阻塞可能考虑给这个进程一些资源让它运行。

正是因为有这么多信息,进程运行时管理难度很大,所以操作系统很重要。并且操作系统也有自己一套进程调度的方法。

进程调度-真海王还是假调度??

并发:多个任务(进程)在同一时间段内交替运行,由于CPU切换任务速度很快,看上去好像是在同时运行。 单核CPU依赖操作系统调度机制快速处理任务。

并行:多个任务(进程)在同一时刻同时执行,这里需要用到多内核CPU。 多个核心上同时运行多个任务,每个核心单独处理一个任务。

“-----------------------------------------------------------------------------------------”

OK,那么现在假如说操作系统是一个香香甜甜的奶妈,有很多男生在追。并且我们假如这些男生都是恋爱脑。

首先,如果是大学校园里,这些男生来自不同的学院,不同的专业,所以上课时间不一样,我们可以理解为有课的时间是阻塞状态,没课的时间是就绪状态(死恋爱脑随叫随到)。 如果在寒暑假,大家大部分时间都有空,那么我(操作系统)如果想既能撩到每一个小舔狗,又不想被他们发现,我只能排一排时间:一号陪他,二号陪他…即进程调度 这些不同的舔狗有着不同的“优势”。比如A很有钱,B很有颜,我如果出去约会更喜欢叫他们俩,一个能爆金币,一个能涨面子。这俩的优先级高。 日常我需要给他们发消息来证明我的心里似乎“有他们”。但是呢,因为人太多了,我得记住每个人的特征,而且每次聊天前,我得看看聊天记录,上回聊的啥,从而组织语言来回复。“上下文数据” OK,最阴的来了!!!!!! 由于要回复的人实在太多,有时候经常忘记回消息或者回消息很晚,还有的人老是约我出去被拒绝,或者是准备放弃,或者是发小作文,或者是直接约我出来跟我爆了。这时候,我要给他们一点“甜头”:送一些别的男的送我的我看不上的小礼物给其他的男生,跟他们说自己只是不想那么快,出去玩的时候“挑逗”一下他,给他错觉…(兄弟们还有别的经历的可以评论区补充),即记录“进程的记账信息”。

总之,我(操作系统)要做的就是:平衡所有人的需求(进程调度),把资源(时间,注意力)合理分配,既不翻车,又爽钓。😁

好吧,主播也就网上写写了,现实主播其实是…

反正大家不要当舔狗!!!

下一章-》多线程

不过说实话,资源的申请和销毁(无论是进程申请资源还是舔狗约女神)的消耗太大了,能不能一次申请,多次运行捏?那就是下面要讲的多线程的知识啦!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这里是@那我掉的头发算什么 刷到我,你的博客算是养成了😁😁😁
  • 冯诺依曼体系
  • 内存和外存
    • 如何查看自己电脑内存大小?
  • CPU
    • CPU的基本性能
    • cpu执行指令的过程
  • 操作系统
    • 程序(Program):静态的指令集合
    • 进程(Process):动态的执行过程
    • PCB进程控制块
    • 进程调度-真海王还是假调度??
  • 下一章-》多线程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档