JavaEE初阶第一期:计算机是如何 “思考” 的(上)

专栏:JavaEE初阶起飞计划

个人主页:手握风云

一、冯诺依曼体系结构

1.1. 概念

冯·诺依曼体系结构(Von Neumann Architecture),是现代计算机的基础设计概念,核心思想是"存储程序控制"。具体来说,就是将程序指令和数据存储在同一个存储器中,并由计算机顺序地从存储器中取出指令并执行,以完成计算任务。

1.2. 主要组成部分

  • **运算器:**负责执行所有的算术运算(如加、减、乘、除)和逻辑运算(如与、或、非)。
  • 控制器:是计算机的"大脑",负责解析指令,并发出控制信号,协调和控制计算机各部件的工作。它控制数据的输入、输出、存储、运算等过程。
  • 存储器:用于存储程序指令和数据。在冯·诺依曼体系中,指令和数据共享同一个存储空间。
  • **输入设备:**用于将外部信息(如键盘、鼠标、麦克风等)输入到计算机中。
  • **输出设备:**用于将计算机处理后的信息(如显示器、打印机、音响等)输出到外部。

二、CPU

CPU,全称中央处理器,被誉为计算机的"大脑"。它是计算机的核心计算单元,负责解释计算机指令、处理计算机软件中的数据,并管理计算机的各项操作。CPU和程序员的关系是非常密切的,因为程序员写的代码都是靠CPU运行的。

2.1. CPU的性能指标

  • **时钟速度:**以GHz(千兆赫)为单位,表示 CPU 每秒执行的运算次数。数值越大就越好。
  • **核心数:**20多年前的CPU,都是只有一个核心。现代 CPU 通常包含多个处理核心,每个核心都可以独立执行指令。核心数越多,CPU 处理多任务的能力越强。
  • **指令集架构:**不同的 CPU 使用不同的指令集,例如英特尔和 AMD 的 x86 架构,以及 ARM 架构等。
  • **缓存大小:**缓存越大,CPU 访问数据的速度越快,从而提高整体性能。

2.2. 指令集

计算机的指令集 是CPU能够理解并执行的所有指令的集合。这些指令是CPU进行各种操作(如数据传输、算术运算、逻辑判断、控制流程等)的基本命令。

每条指令通常由操作码和操作数。操作码指示CPU执行什么操作,操作数指令操作的数据或数据的地址。常见的指令类型有数据传输指令、算术指令、逻辑指令、控制流指令等。

2.3. 寄存器和内存

寄存器和内存都是计算机中用于存储数据的重要组件,但它们在功能、速度、容量和用途上有着显著的区别。寄存器是CPU内部极小、极快的存储单元。它们直接集成在CPU芯片上,用于暂时存储CPU当前正在处理的数据和指令。可以把它们看作是CPU的"工作台"或者"暂存盘"。内存(随机存取存储器)是计算机中用于存储程序指令和数据的主要工作区域。它比寄存器慢,但容量大得多。CPU需要从内存中获取指令和数据,并将处理结果写回内存。

寄存器和内存的区别:寄存器速度极快、容量极小、成本极高;内存速度较慢、容量较大、成本较低、易失性(大多数RAM是易失性存储器,这意味着当计算机断电时,存储在内存中的数据会丢失)。

三、操作系统

操作系统可以被认为是计算机中最关键的软件。

3.1. 概念

操作系统是一组复杂的系统软件,它承担着计算机系统资源管理与调度的核心职责。具体来说,它主要包含以下几个方面:

  • 资源管理者: 操作系统管理计算机的所有硬件资源(如CPU、内存、硬盘、输入输出设备等)和软件资源(如文件、程序、进程等)。它负责分配这些资源给不同的程序和用户,并在它们之间进行协调,避免冲突。
  • 控制程序: 操作系统控制程序的执行流程,确保程序按照预期的顺序和方式运行。它处理中断、异常和错误,保证系统的稳定性和可靠性。
  • 服务提供者: 操作系统为应用程序和用户提供一系列服务。例如,文件管理服务(创建、删除、读写文件)、进程管理服务(创建、调度、终止进程)、内存管理服务(分配和回收内存)以及设备管理服务(控制外围设备)。
  • 用户接口: 操作系统提供用户与计算机交互的界面。这可以是图形用户界面(GUI),如Windows、macOS,也可以是命令行界面(CLI),如Linux的终端。

3.2. 定位

计算机系统的核心,连接用户与硬件的桥梁,应用程序的运行平台,以及提升系统效率、可靠性和实现硬件独立性的关键组件。

3.3. 主流的操作系统

  • **Windows:**由微软创建,1985 年发布 Windows 1.0,从运行在 MS-DOS 上的图形界面进化为完整操作系统,有多个主要版本;具有多功能性和广泛兼容性,可在多种设备上运行,适用于多种计算目的,界面用户友好;但系统要求高,旧硬件运行可能迟钝,更新频繁且可能出现更新循环,安全问题较多,存在蓝屏死机问题。
  • **Mac OS:**由苹果在 1990 年代初引入,仅用于苹果设备;对硬件和软件控制严格,系统稳定、运行流畅、优化良好,在创意专业人士中受欢迎,与苹果其他设备可无缝同步消息、电话和文件,强制更新和崩溃较少,电池寿命更长;但用户需购买昂贵苹果硬件,设备游戏性能不足,部分专业软件不可用或有限量版。
  • **Linux 系统:**由林纳斯・托瓦兹在 1991 年创建,是开源的操作系统家族,不是单一操作系统;轻量、安全,对硬件要求低,可在旧电脑和高性能服务器上运行,任何人可修改或构建版本,有多种发行版,在编程、网络安全及服务器管理方面广泛应用,谷歌、Facebook、NASA 等的系统有使用;但对新用户不友好,界面难理解,许多发行版依赖基于文本的命令,软件兼容性差,主流应用和游戏大多不为其构建。
  • **ChromeOS:**由谷歌开发,2011 年首次发布,是轻量级、基于云的操作系统;主要与互联网协同工作,适合常浏览网页、使用网络应用的用户,预装在 Chromebook 上,设备价格实惠、启动快,自动更新,安全风险低,可访问 Google Play 商店安装安卓应用;但严重依赖互联网,无活跃连接时表现不佳,不支持许多桌面应用和高端游戏,难以进行重度多任务处理。
  • **安卓:**由 Google 开发,是开源操作系统,是世界上最受欢迎的手机操作系统,被多个品牌使用;可改变主题、安装第三方启动器,能高度定制系统,有 Google Play 商店,提供大量应用和游戏,有价格实惠和高端旗舰机型;但并非所有设备都能定期获得更新,可能导致性能变慢和安全风险,存在预装不可删除的不必要应用,通常不如 iOS 优化,部分应用运行可能较慢。
  • **iOS:**由苹果开发,用于驱动 iPhone 和 iPad,是苹果专有系统;苹果完全控制硬件和软件,设备稳定,软件支持时间长,应用商店应用经过精心挑选,与苹果其他设备可无缝连接;但缺乏定制性和灵活性,用户不能自由改变系统,设备通常更昂贵,存储空间不可扩展,限制多,不能自由从应用商店外安装应用、轻松传输文件,部分设备缺乏可扩展存储和耳机插孔。
相关推荐
yanjiaweiya2 分钟前
云原生-集群管理
java·开发语言·云原生
gadiaola11 分钟前
【JavaSE面试篇】Java集合部分高频八股汇总
java·面试
艾迪的技术之路33 分钟前
redisson使用lock导致死锁问题
java·后端·面试
今天背单词了吗9801 小时前
算法学习笔记:8.Bellman-Ford 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·开发语言·后端·算法·最短路径问题
天天摸鱼的java工程师1 小时前
使用 Spring Boot 整合高德地图实现路线规划功能
java·后端
东阳马生架构1 小时前
订单初版—2.生单链路中的技术问题说明文档
java
咖啡啡不加糖1 小时前
暴力破解漏洞与命令执行漏洞
java·后端·web安全
风象南1 小时前
SpringBoot敏感配置项加密与解密实战
java·spring boot·后端
DKPT2 小时前
Java享元模式实现方式与应用场景分析
java·笔记·学习·设计模式·享元模式