架构-计算机系统基础

计算机系统基础

一、计算机系统组成

(一)计算机系统层次结构

  1. 硬件组成
    • 主机:包含CPU(运算器+控制器)、主存储器(内存)。
    • 外设:输入设备、输出设备、辅助存储器(外存,如硬盘、U盘)、总线、接口。
  2. 软件分类
    • 系统软件:操作系统、编译工具等,是硬件与应用软件的接口。
    • 应用软件:办公软件、娱乐软件、信息系统软件等,直接面向用户需求。

(二)指令系统与存储体系

  1. 指令系统对比
    类型CISC(复杂指令系统)RISC(精简指令系统)
    指令数量多,使用频率差异大少,使用频率接近
    格式可变长格式定长格式,单周期指令为主
    寻址方式支持多种支持方式少
    实现方式微程序控制硬布线逻辑控制,增加通用寄存器
    代表Intel/AMD的x86 CPUARM、Power架构
  2. 分级存储体系
    • 层次结构(速度从快到慢):CPU寄存器→Cache(相联存储器)→内存(DRAM)→外存(硬盘、光盘等)。
    • 局部性原理
      • 时间局部性:已执行的指令可能再次执行(如循环操作)。
      • 空间局部性:访问某存储单元后,附近单元可能被访问(如顺序执行)。
    • 目的:解决存储容量、价格和速度的矛盾。

(三)I/O传输方式

  1. 程序控制(查询)方式
    • 分类:无条件传送、程序查询。
    • 特点:硬件开销小,I/O能力低,CPU利用率低。
  2. 程序中断方式
    • 特点:CPU无需等待I/O完成,支持CPU与I/O并行。
  3. DMA方式
    • 功能:主存与外设直接数据通路,高速批量数据交换,效率高于前两种方式。
  4. 通道方式/I/O处理机:进一步提升I/O效率,实现更复杂的I/O控制。

二、操作系统核心知识

(一)操作系统概述

  1. 功能
    • 管理硬件、软件、数据资源。
    • 控制程序运行,提供人机接口和应用与硬件接口。
  2. 分类及特点
    类型特点典型系统
    批处理单道/多道批处理,宏观并行、微观串行早期大型机系统
    分时时间片轮转,用户独占感,多路性、交互性、及时性Unix、Linux终端
    实时规定时间内响应,可靠性高(如控制系统)航空航天控制
    网络共享网络资源,支持Unix、Linux、Windows Server企业服务器系统
    分布式透明性、可靠性,网络操作系统的高级形式分布式计算集群
    嵌入式微型化、实时性、可定制(依赖HAL/BSP)智能设备(如路由器)

(二)进程管理

  1. 进程与线程
    • 进程:程序在数据集合上的运行过程,资源分配和调度的独立单位,由程序块、PCB、数据块组成。
    • PCB(进程控制块):进程存在的唯一标志,包含状态、优先级、现场保护区等。
    • 线程:进程内的轻量级执行单元,共享进程的内存地址空间、代码、数据,独立拥有程序计数器、寄存器、栈。
  2. 进程状态
    • 三态模型
      • 运行:占用CPU(单处理机同一时刻仅1个进程运行)。
      • 就绪:等待CPU,其他资源已就绪。
      • 阻塞:等待I/O等事件,无法执行。
  3. 同步与互斥
    • 临界资源:需互斥访问的资源(如打印机),访问临界资源的代码为临界区。
    • PV操作
      • 信号量S:表示资源数量(S>0为可用数,S<0为排队进程数)。
      • P操作:申请资源,S-1,若S<0则阻塞。
      • V操作:释放资源,S+1,若S≤0则唤醒队列进程。
  4. 前趋图
    • 定义:有向无环图,箭头表示前趋关系(Pi完成→Pj开始)。
    • 应用:通过信号量实现进程同步,每个箭头对应一个初值为0的信号量。
  5. 死锁
    • 四大条件:互斥、保持和等待、不剥夺、环路等待。
    • 避免方法:银行家算法,确保分配后系统仍处于安全状态(存在安全序列)。

(三)存储管理

  1. 页式存储
    • 核心:程序与内存划分为等长页,通过页表映射逻辑地址(页号+页内地址)到物理地址(页帧号+页内地址)。
    • 优缺点
      • 优点:碎片小,分配简单。
      • 缺点:页表开销,可能引发抖动(频繁换页)。
    • 页表项:状态位(是否在内存)、访问位、修改位。
  2. 段式存储
    • 核心:按自然段划分逻辑空间,段长可变,通过段表(基址+段长)检查地址合法性。
    • 优缺点
      • 优点:支持程序模块化,段间修改互不影响。
      • 缺点:内存碎片大,利用率低。
  3. 段页式存储
    • 核心:先分段再分页,结合段式逻辑清晰和页式内存利用率高的优点。
    • 地址转换:段号→段表→页表基址→页号→页表→页帧号→物理地址。

(四)文件系统

  1. 索引文件结构
    • 直接索引:iaddr[0]~iaddr[5]直接指向数据块。
    • 一级间接索引:iaddr[6]指向索引块,索引块包含数据块地址。
    • 二级间接索引:iaddr[7]指向二级索引块,支持大文件存储。
  2. 位示图
    • 功能:记录磁盘块使用情况,1表示已占用,0表示空闲。
    • 计算:根据物理块号计算位示图的行号和列号,实现快速分配/回收。

(五)磁盘管理

  1. 存取时间计算
    • 寻道时间:磁头移动到目标磁道的时间。
    • 等待时间:目标扇区旋转到磁头下方的时间。
    • 传输时间:数据读写时间,总时间=寻道时间+等待时间+传输时间。
  2. 调度算法
    • FCFS(先来先服务):按请求顺序处理,平均寻道长度较大。
    • SSTF(最短寻道时间优先):优先处理距离当前磁道最近的请求,可能导致“饥饿”。
    • SCAN(扫描算法):磁头双向移动,在边缘改变方向,减少寻道次数。

三、系统性能

(一)性能指标

  1. 硬件指标
    • 主频:CPU时钟频率(主频=外频×倍频),影响运算速度。
    • MIPS:百万条指令每秒,衡量整数运算速度(MIPS=主频/CPI)。
    • MFLOPS:每秒百万次浮点运算,衡量浮点性能。
  2. 软件指标
    • 吞吐量:单位时间处理的任务数。
    • 响应时间:从请求到完成的时间,衡量交互性能。

(二)性能设计与优化

  1. 加速比(阿姆达尔定律)
    • 公式:(R = \frac{1}{(1-F_e) + F_e/S_e}),其中(F_e)为可改进部分占比,(S_e)为改进后的速度提升倍数。
    • 意义:系统性能提升取决于瓶颈组件的改进比例和效率。

(三)性能评估方法

  1. 基准程序法
    • 分类:真实程序(精度最高)>核心程序>小型基准程序>合成基准程序。
    • 常见测试程序:Dhrystone(整数性能)、Linpack(浮点性能)、SPEC(综合性能)。
  2. Web服务器指标:最大并发连接数、响应延迟、吞吐量,通过压力测试和可靠性测试评估。

四、典型例题分析

(一)进程管理

  • :2台打印机,3个进程互斥使用,信号量S初值为2,取值范围[-1,2](S=2→可用,S=-1→1个进程排队)。

(二)存储管理

  • 页式地址转换:逻辑地址=页号+页内地址,通过页表查页帧号,拼接得到物理地址。例如,页大小4KB(12位),逻辑地址高8位为页号,低12位为页内地址。

(三)死锁预防

  • 资源数计算:3个进程各需5个资源,至少需要(3×(5-1)+1=13)个资源才无死锁(每个进程分配4个,剩余1个可避免环路)。

五、考情分析与复习重点

知识点分值分布(示例)核心考点
进程管理2-4分前趋图、PV操作、死锁条件、银行家算法
存储管理1-3分页式/段页式地址转换、页面淘汰算法
系统性能2-3分加速比计算、基准程序分类

复习建议:结合习题掌握PV操作与前趋图的映射关系,熟练页式存储地址转换步骤,理解银行家算法的安全序列判断逻辑,通过典型例题强化计算能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/77499.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络性能优化】从基础理论到实战调优

目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现案例1&#xff1a;iPerf3带宽测试案例2&#xff1a;TCP窗口优化案例3&#xff1a;QoS流量整形 运行…

Python 自动化办公:Excel 数据处理的“秘密武器”

引言 在日常的 IT 办公场景里&#xff0c;Excel 是数据处理与分析的 “常胜将军”。无论是财务人员整理账目、销售团队统计业绩&#xff0c;还是运营人员分析用户数据&#xff0c;Excel 都发挥着关键作用。但面对海量数据&#xff0c;手动操作 Excel 不仅效率低下&#xff0c;还…

缓存集群技术深度解析:从原理到实战

缓存集群技术深度解析&#xff1a;从原理到实战 一、缓存集群核心定位与架构选型 1. 集群模式核心价值 缓存集群通过数据分片、高可用保障、水平扩展解决单节点瓶颈&#xff0c;核心能力包括&#xff1a; 数据分片&#xff1a;将数据分散到多个节点&#xff0c;突破单节点内…

CSDN编辑文章时如何自动生成目录

如何自动生成目录 前置条件1. 插入目录标识符2. 编写标题层级 前置条件 需要使用markdown编辑&#xff0c;并且只有按照markdown语法编写不同的标题级别&#xff0c;才能使用这个方法自动生成对应的目录。 1. 插入目录标识符 在文章的顶部添加以下代码&#xff1a; [TOC](文…

产品经理对于电商接口的梳理||电商接口文档梳理与接入

接口梳理7个注意点总结 ①注意要测试环境和生产环境。生产上线时候要提醒研发换到生产环境调用。 ②注意必输字段和选输字段&#xff0c;要传入字段的含义和校验。枚举值不清楚含义的要询问对方含义&#xff0c;比如说单据类型字段枚举值是B2C发货单&#xff0c;BBC发货单&am…

更快的图像局部修改与可控生成:Flex.2-preview

Flex.2-preview 文本生成图像扩散模型介绍 一、模型简介 Flex.2-preview 是一种 开源的 80 亿参数文本生成图像扩散模型&#xff0c;具备通用控制和修复支持功能&#xff0c;是 Flex.1alpha 的下一代版本。该模型由社区开发并为社区服务&#xff0c;采用 Apache 2.0 许可证&a…

【Castle-X机器人】一、模块安装与调试:机器人底盘

持续更新。。。。。。。。。。。。。。。 【ROS机器人】模块安装 一、Castle-X机器人底盘1.1 结构概述1.2 驱动执行结构1.3 环境传感器1.4 电气系统1.5 Castle-x机器人底盘测试激光雷达传感器测试及数据可视化超声波传感器实时数据获取防跌落传感器测试陀螺仪测试键盘控制测试…

条件、列表渲染.

#### v-for 1. 渲染列表 vue <template> <ul v-for"(item,index) in list" > <li>{{ item }}</li> </ul> </template> <script setup> import { ref } from vue; let list ref([苹果, 香蕉, 橙子]) </script>…

node20的安装和vue的入门准备

一、node20的安装 直接下载路径&#xff1a;https://nodejs.org/download/release/v20.11.0/node-v20.11.0-x64.msi 安装&#xff0c;双击msi文件 点击同意协议 更改下载路径 什么也不用选&#xff0c;点击next进行下一步 什么也不用选&#xff0c;点击next进行下一步 点击安…

从 Java 到 Kotlin:在现有项目中迁移的最佳实践!

全文目录&#xff1a; 开篇语 1. 为什么选择 Kotlin&#xff1f;1.1 Kotlin 与 Java 的兼容性1.2 Kotlin 的优势1.3 Kotlin 的挑战 2. Kotlin 迁移最佳实践2.1 渐进式迁移2.1.1 步骤一&#xff1a;将 Kotlin 集成到现有的构建工具中2.1.2 步骤二&#xff1a;逐步迁移2.1.3 步骤…

威雅利电子|业界领先的高隔离度用于5G基站的吸收式SPDT开关“NT1819“

业界领先的高隔离度 用于5G基站的吸收式SPDT开关"NT1819" 为了实现智能社会&#xff0c;已经启动了5G服务。这样&#xff0c;高速、低延迟、大容量的数据通信成为可能&#xff0c;也给我们的生活和工业发展带来了巨大的变化。 在5G基站有很多天线&#xff0c;每个天…

Diamond软件的使用--(6)访问FPGA的专用SPI接口

1.什么是FPGA的专用SPI接口&#xff1f; 此处的SPI FLASH接口即为FPGA的专用SPI接口&#xff0c;上电时&#xff0c;FPGA从该FLASH读出程序并运行。 2.访问SPI PROM需要注意哪些地方&#xff1f; 1&#xff09;处于MASTER SPI MODE 2&#xff09;调用USRMCLK原语&#xff0c;…

Go 语言中的 `select` 语句详解

select 是 Go 语言中处理通道(Channel)操作的一个强大控制结构&#xff0c;它允许 goroutine 同时等待多个通道操作。下面我将全面详细地解释 select 语句的各个方面。 基本语法 select 语句的基本语法如下&#xff1a; select { case <-ch1:// 如果从 ch1 成功接收数据&…

AI如何重塑CC防护行业?五大变革与实战策略解析

一、CC防护行业的技术痛点与AI的破局方向 CC攻击&#xff08;Challenge Collapsar&#xff09;作为一种以高频合法请求消耗服务器资源的DDoS攻击手段&#xff0c;传统防护技术面临三大核心挑战&#xff1a; 规则依赖性强&#xff1a;基于IP封禁或请求频率的静态规则易被绕过&a…

GPT-4o最新图像生成完全指南:10大应用场景与提示词模板

引言 OpenAI于近期推出的全新GPT-4o图像生成功能&#xff0c;代表了AI图像创作领域的重大突破。作为一个原生多模态系统&#xff0c;GPT-4o将文本理解和图像生成无缝整合&#xff0c;为创作者、教育工作者和专业人士提供了前所未有的视觉创作灵活性。本文将分享10个GPT-4o图像…

Linux驱动开发2 - 内核定时器驱动

背景 所有驱动开发都是基于全志T507&#xff08;Android 10&#xff09;进行开发&#xff0c;用于记录驱动开发过程。 简介 定时器是比较常用的一个功能&#xff0c;用来执行周期性任务。一般不太精确的定时可以用系统提供的延时函数进行。如果需要进行较为精确的延时&#…

Dify 使用 excel 或者 csv 文件创建知识库

Dify 使用 excel 或者 csv 文件创建知识库 1. 创建知识库2. 创建聊天助手3. 其他 1. 创建知识库 创建知识库&#xff0c;导入excel/csv文件&#xff0c; 文件内容&#xff0c; 单击 “预览块”&#xff0c;可以确认会生成多个键值对的块&#xff0c; 配置 Embedding 模型和检索…

23种设计模式-行为型模式之迭代器模式(Java版本)

Java 迭代器模式&#xff08;Iterator Pattern&#xff09;详解 &#x1f9e0; 什么是迭代器模式&#xff1f; 迭代器模式是一种行为型设计模式&#xff0c;它提供一种方法顺序访问一个聚合对象中的各个元素&#xff0c;而不暴露该对象的内部表示。 &#x1f3af; 使用场景 …

使用nodeJs的express+axios+cors做代理

使用nodeJs的expressaxioscors做代理 前端在请求后端时通常会遇到跨域cors问题&#xff0c;如果只在本地开发可以通过webpack或vite的proxy设置。但如果需要在线上或者其他地方绕过跨域&#xff0c;可以使用代理的方法。 1. 创建文件夹 并创建以下文件 package.json {"…

T检验、F检验及样本容量计算学习总结

目录 〇、碎语一、假设检验1.1 两种错误1.2 z检验和t检验1.3 t检验1.3.1 单样本t检验1.3.2 配对样本t检验1.3.3 独立样本t检验1.4 方差齐性检验1.4 卡方检验二、样本容量的计算2.1 AB测试主要的两种应用场景2.2 绝对量的计算公式2.3 率的计算公式参考资料〇、碎语 听到最多的检…