计算机相关工作原理
一JavaEEjavaEE 特指Java开发网站后端 相关技术体系二冯诺依曼体系2.1 计算机的组成1CPU中央处理器工作的时候很烫需要散热2主板大插座其他的组件都需要插到插座上才能供电才能工作3内存存储数据数据量少速度快成本高断电后数据丢失4硬盘存储数据数据量多速度慢成本低断电后数据仍然存在持久化存储5散热器6电源7机箱8显卡2.1.1针对存储空间硬盘 内存CPU2.1.2针对数据访问速度CPU 内存 硬盘三CPU的工作过程3.1 相关的概念1指令一组二进制构成的数据这些数据都是有特定的含义的在CPU出场的时候就设定好了能够接收哪些指令编程语言分为三个大类机器语言汇编语言和高级语言机器语言是一条一条的指令每个指令都是二进制的而汇编语言是把每个指令都转换成了一个英语单词助记符汇编语言的每个语句和机器语言的每个指令一一对应RAM为内存Random Access Memory访问内存任意地址的数据开销都差不多寄存器CPU内部的存储设备CPU也能存储数据存储空间更小速度更快成本更高CPU的寄存器整体存储空间一般不到1KB存临时数据辅助进行计算CPU进行计算需要把数据从内存读取到寄存器中3.2 CPU的基本工作流程一CPU可以按照上述指令表进行工作CPU看到的程序就是这些二进制指令假设CPU从0号地址开始执行顺序的往下进行执行真实的情况是CPU会从内存的指定地址开始执行不一定是0有一个硬件设定好的起始地址CPU上还有一个专门的寄存器“程序计数器”存储下一条要执行的指令的地址是什么二CPU执行一条指令通常要经过三个步骤内存上的指令是从哪来的操作系统运行程序的时候把这个硬盘的可执行文件加载到内存中1读取指令把指令从内存中读取出来放到CPU上专门的寄存器中2解析指令把指令解析一下和指令表对照理解要做啥3执行指令真正按照指令说的来工作当遇到0时程序结束四补充4.1 cache缓存寄存器的运行速度比内存的快而内存的运行速度又比硬盘上的快所以寄存器和内存之间有一个cacheCPU上的内存和硬盘之间有一个cache固态硬盘上会有专门的cache模块从内存中直接取数据太慢了就可以把数据放到缓存里局部性原理某次用到一条数据紧接着很大的概率使用和这个数据相邻的数据从内存中读一个数据不是只读这一个地址而是把这个地址和周围的数据都一起读取到cache中4.2显卡GPU分为两种独立显卡和集成显卡/核心显卡集成显卡/核心显卡------CPU内部集成了独立显卡功能能力比较弱独立显卡-----能力比较强五操作系统1类型windows 家用电脑上的系统Linux 服务器上的系统/嵌入式设备MacOS 苹果电脑专属Android 智能手机从Linux发展过来IOS 苹果手机专属还有其他专用领域的系统2功能1对下管理好各种硬件设备2对上要给软件提供稳定的运行环境总之操作系统是一个“搞管理的软件”计算机上支持的硬件设备有很多每种硬件都有不同的厂商操作系统针对上述的各种硬件设备都提供了一定的“抽象封装”各种硬件厂商就需要按照操作系统的要求对接上去应用软件|操作系统API|操作系统|驱动程序|硬件设备操作系统会使每个应用程序之间隔离开避免出现一个软件崩溃把其他软件带走的情况相对稳定六进程1进程process是操作系统当中非常核心的概念一个跑起来的应用程序就称为“进程”操作系统提供了功能 任务管理器 中可以看到所有进程进程和可执行文件是应用程序的不同状态2要想让进程运行就得分配一些“系统资源”进程是系统进行资源分配的基本单位6.1 进程管理1描述操作系统引入了PCB进程控制块结构体表示一个进程的各种属性进程的描述不能使用数据库的表数据库本身是一个“应用软件”依赖操作系统的2组织操作系统使用双向链表结构组织这些PCB结构体1任务管理器上看到进程的信息就是在遍历链表2创建新的进程 创建PCB添加到链表上3销毁旧的进程 把PCB从链表上删除之所以操作系统需要管理进程本质上是操作系统同一时刻可以运行的进程有多个6.2 PCBPID进程的身份标识每个进程需要有一个唯一的id进行表示pid具体的数字不重要这是系统随机分配的内存指针操作系统运行进程需要分配资源内存就是重要的资源对于一个进程的内存需要保存两部分核心的信息1进程要执行的指令 高级语言 机器语言的指令2进程执行时依赖的数据 代码中涉及的各种变量即为数据操作系统需要知道哪个区域里都放的什么文件描述符表文件在操作系统是一个广义的概念其中最典型的就是硬盘上的文件进程工作中很可能要和硬盘交互一个进程可以同时操作多个文件每次操作一个文件都需要“打开文件”就会往文件描述符表上放一个结构体这个文件描述符表就相当于一个顺序表6.3进程调度cpu的核心数有限进程数目很多1并行两个CPU核心同时的运行各自的进程2并发一个cpu核心通过“分时复用”的方式运行多个进程本质上就是轮着来由于cpu的执行速度很快上述分时复用轮转速度很快人肉眼感知不到宏观上看是“多个线程同时进行”微观上看是“多个线程一个一个串行执行的”每个进程在cpu核心上运行的时间单位称为“时间片在开发中从程序员/普通用户的角度是无法区分当前多个进程是并行的还是并发的因此对于我们来说就会把”并行和并发“统称为并发6.4 进程的状态一个进程的状态有很多1就绪状态进程随时可以到cpu上执行/正在cpu上运行2堵塞状态进程暂时不方便取cpu上执行6.5 优先级虽然都可以调度但是有先后顺序进程和进程之间的优先级不一样6.6 上下文进程在cpu上执行一段时间之后切换走过了一定的时间再次切换回来了进程切换回来就需要按照上次执行到的位置继续往后执行一个进程在切换走之前保存进度下次切换回来的时候恢复进度上下文就是进程执行到的当前状态进程的上下文进程执行的过程当中CPU的各种寄存器的值6.7 记账信息是一个对抗优先级机制的兜底机制有些进程优先级高优先被执行有些进程优先级低后被执行所有可能会出现某个时间里低优先级的进程一直吃不到cpu的资源记账信息统计每个进程在cpu上执行的时间避免把某个进程冷落太久6.8 内存分配操作系统对内存资源的分配采用的是空间模式-----不同的进程使用内存中的不同区域互相之间不会干扰6.9 进程间通信进程和进程之间内存空间是隔离的进程之间要想交互无法通过内存直接完成操作系统提供了很多种进程间通信机制来解决这个问题两种重要的通信机制 1文件2网络

相关新闻

Java学前知识

Java学前知识

常见CMD命令 盘符名称 冒号 D: dir 查看当前路径下的内容 cd 目录 cd … 回退到上一级目录 cd 目录1\目录2\ … cd \ 回退到盘符目录 cls 清屏 exit 推出命令提示符窗口 jdk bin: 该路径下存放了各种工具命令 ​ javac和java conf: 该路径下存放了相关配置文件 incl…

2026/7/6 13:56:29阅读更多 →
华为MetaERP Oracle EBS R12 六段式 COA 架构设计说明书(项目交付正式版)文档版本信息表格项目 内容文档名称 Oracle EBS GL 六段会计科目表(COA)设计说

华为MetaERP Oracle EBS R12 六段式 COA 架构设计说明书(项目交付正式版)文档版本信息表格项目 内容文档名称 Oracle EBS GL 六段会计科目表(COA)设计说

Oracle EBS R12 六段式 COA 架构设计说明书(项目交付正式版)项目内容文档名称Oracle EBS GL 六段会计科目表(COA)设计说明书适用系统Oracle EBS R12.2.X(SLA 子分类账架构)弹性域对象应用:GL (1…

2026/7/6 13:51:28阅读更多 →
华为MetaERP Oracle EBS COA(会计科目表)完整深度解析一、COA 核心设计哲学(财务架构师视角)COA 全称Chart of Accounts,在 EBS 底层由会计关键弹性域

华为MetaERP Oracle EBS COA(会计科目表)完整深度解析一、COA 核心设计哲学(财务架构师视角)COA 全称Chart of Accounts,在 EBS 底层由会计关键弹性域

Oracle EBS COA(会计科目表)完整深度解析一、COA 核心设计哲学(财务架构师视角)COA 全称Chart of Accounts,在 EBS 底层由会计关键弹性域 Accounting Key Flexfield(KFF) 实现,是整个…

2026/7/6 13:51:28阅读更多 →
3步实现专业级AI背景移除:obs-backgroundremoval终极指南

3步实现专业级AI背景移除:obs-backgroundremoval终极指南

3步实现专业级AI背景移除:obs-backgroundremoval终极指南 【免费下载链接】obs-backgroundremoval An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. 项目地址: https…

2026/7/6 18:22:08阅读更多 →
Stable Baselines3终极指南:2024-2025年PyTorch强化学习框架的完整教程

Stable Baselines3终极指南:2024-2025年PyTorch强化学习框架的完整教程

Stable Baselines3终极指南:2024-2025年PyTorch强化学习框架的完整教程 【免费下载链接】stable-baselines3 PyTorch version of Stable Baselines, reliable implementations of reinforcement learning algorithms. 项目地址: https://gitcode.com/GitHub_Tren…

2026/7/6 18:22:08阅读更多 →
3个epaper.js实战技巧:让你的电子纸显示更智能

3个epaper.js实战技巧:让你的电子纸显示更智能

3个epaper.js实战技巧:让你的电子纸显示更智能 【免费下载链接】epaper.js Node.js library for easily creating an ePaper display on a Raspberry PI using HTML and Javascript. 项目地址: https://gitcode.com/gh_mirrors/ep/epaper.js epaper.js是一个…

2026/7/6 18:22:08阅读更多 →
Real-ESRGAN:终极AI图像增强工具完整指南

Real-ESRGAN:终极AI图像增强工具完整指南

Real-ESRGAN:终极AI图像增强工具完整指南 【免费下载链接】Real-ESRGAN Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration. 项目地址: https://gitcode.com/gh_mirrors/re/Real-ESRGAN Real-ESRGAN是一款由腾讯ARC…

2026/7/6 18:22:08阅读更多 →
Hermes Agent工具集系统深度解析:打造自定义AI助手实战指南

Hermes Agent工具集系统深度解析:打造自定义AI助手实战指南

Hermes Agent工具集系统深度解析:打造自定义AI助手实战指南 【免费下载链接】hermes-agent The agent that grows with you 项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent 你是否曾经想过,如何让AI助手更贴合你的工作流程&…

2026/7/6 18:22:08阅读更多 →
EasyContext与Yarn对比:两种长上下文扩展方法深度分析

EasyContext与Yarn对比:两种长上下文扩展方法深度分析

EasyContext与Yarn对比:两种长上下文扩展方法深度分析 【免费下载链接】EasyContext Memory optimization and training recipes to extrapolate language models context length to 1 million tokens, with minimal hardware. 项目地址: https://gitcode.com/gh_…

2026/7/6 18:17:07阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/6 4:26:20阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/6 2:48:33阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/6 0:10:35阅读更多 →
Seraphine:基于LCU API的英雄联盟智能游戏助手技术解析与应用指南

Seraphine:基于LCU API的英雄联盟智能游戏助手技术解析与应用指南

Seraphine:基于LCU API的英雄联盟智能游戏助手技术解析与应用指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 技术架构先行:官方接口的合规应用 你是否曾在BP阶段手忙脚乱&#x…

2026/7/6 0:03:39阅读更多 →
多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理

多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理

多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理 【免费下载链接】mRemoteNG mRemoteNG is the next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager. 项目地址: https://gitcode.com/gh_m…

2026/7/6 0:03:39阅读更多 →
COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南

COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南

COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南在数据分析和处理领域,去重统计是最基础也是最频繁使用的操作之一。当数据量达到亿级规模时,不同的去重统计方法在性能上可能产生天壤之别。本文将基于 5 亿行数据的实…

2026/7/6 0:03:39阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/6 4:45:01阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/6 4:45:01阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/6 4:45:03阅读更多 →