计算机,多首的怪物

文章发布时间:

最后更新时间:

页面浏览: 加载中...

计算机方面的笔记

专业课知识

操作系统

1
内在的分析

1.1 操作系统的定义与作用
操作系统(Operating System,简称 OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。它负责管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其他应用软件提供支持,让计算机系统所有资源最大限度地发挥作用,为用户提供方便、有效、友善的服务界面 。其核心作用体现在:
资源管理者:对 CPU、内存、硬盘、输入输出设备等硬件资源,以及文件、进程等软件资源进行统一调配和管理,确保资源合理分配与高效利用。
用户与计算机的接口:用户通过操作系统提供的图形界面(如 Windows 的图形窗口)或命令行界面(如 Linux 的 Shell)与计算机交互,无需了解底层硬件细节即可操作计算机。
1.2 操作系统的发展历程
手工操作阶段:早期计算机无操作系统,用户独占全机资源,通过手工装拆纸带或磁带进行程序输入输出,操作繁琐,资源利用率低。
批处理系统:分为单道批处理系统和多道批处理系统。单道批处理系统将作业成批输入计算机,由监督程序自动依次处理;多道批处理系统允许同时将多个作业存放在内存中,CPU 交替执行多个作业,提高了资源利用率和系统吞吐量 。
分时系统:采用时间片轮转的方式,将 CPU 时间划分为多个时间片,轮流分配给多个用户作业,每个用户感觉自己独占计算机,实现了人机交互和多用户共享资源。
实时系统:能及时响应外部事件请求,在规定时间内完成对该事件的处理,主要用于工业控制、航空航天、金融交易等对时间要求苛刻的领域 。
通用操作系统:融合了批处理、分时、实时系统的功能,现代操作系统如 Windows、Linux、macOS 等都属于通用操作系统,可满足不同用户和应用场景的需求 。
二、操作系统的核心功能
2.1 进程管理
进程的概念:进程是程序的一次执行过程,是操作系统进行资源分配和调度的基本单位。一个进程由程序段、数据段和进程控制块(PCB)组成,PCB 记录了进程的状态、优先级、资源分配等信息 。
进程的状态:包括就绪态(进程已具备运行条件,等待 CPU 调度)、运行态(进程正在 CPU 上执行)、阻塞态(进程因等待某事件发生而暂停执行,如等待 I/O 操作完成),进程在这三种状态之间可以相互转换 。
进程调度:
调度算法:常见的有先来先服务(FCFS),按照进程到达的先后顺序进行调度;短作业优先(SJF),优先调度运行时间短的进程;时间片轮转(RR),每个进程分配相同的时间片轮流执行;优先级调度,根据进程优先级高低进行调度,优先级高的进程优先执行 。
上下文切换:当 CPU 从一个进程切换到另一个进程时,需要保存当前进程的上下文(包括寄存器值、程序计数器等),并恢复新进程的上下文,这个过程称为上下文切换 。
2.2 内存管理
内存管理的功能:包括内存分配与回收,为进程分配内存空间,在进程结束时回收内存;内存保护,防止进程非法访问其他进程的内存空间;地址映射,将程序中的逻辑地址转换为物理地址;内存扩充,通过虚拟内存技术,在物理内存不足时,利用外存模拟内存 。
内存分配方式:
连续分配方式:为进程分配连续的内存空间,包括单一连续分配(整个内存只分配给一个进程)、固定分区分配(将内存划分为若干固定大小的分区)、动态分区分配(根据进程需求动态划分内存分区) 。
非连续分配方式:允许进程占用不连续的内存空间,包括分页存储管理(将内存和进程都划分为大小相等的页,进程的页离散存储在内存页框中)、分段存储管理(将进程按逻辑功能划分为若干段,每段分配连续内存空间)、段页式存储管理(结合分页和分段的优点,先将进程分段,再将段分页) 。
虚拟内存技术:基于局部性原理(时间局部性和空间局部性),将一部分程序和数据存放在外存中,当需要时再调入内存。通过请求分页、请求分段等方式,实现内存的逻辑扩充,使得进程的虚拟地址空间可以大于实际物理内存空间 。
2.3 文件管理
文件的概念:文件是具有符号名的、在逻辑上具有完整意义的一组相关信息项的有序序列,信息项是构成文件内容的基本单位 。
文件系统结构:包括文件的逻辑结构(用户可见的结构,如无结构的流式文件、有结构的记录式文件)和物理结构(文件在存储设备上的存放方式,如连续存储、链接存储、索引存储) 。
文件操作:包括创建文件、打开文件、读文件、写文件、关闭文件、删除文件等 。
目录管理:采用树形目录结构,对文件进行组织和管理,方便用户查找和访问文件 。
2.4 设备管理
设备管理的目标:实现设备的分配与回收,提高设备利用率;实现设备无关性,使得应用程序与具体设备无关,便于程序移植和设备更换;实现设备的高效操作,优化 I/O 操作性能 。
I/O 控制方式:包括程序直接控制方式(CPU 不断查询 I/O 设备状态,等待 I/O 操作完成)、中断驱动方式(I/O 操作完成后,设备向 CPU 发送中断信号,CPU 处理中断)、DMA 方式(直接内存存取,在控制器控制下,数据直接在内存与 I/O 设备间传输,无需 CPU 干预)、通道控制方式(通过专用的通道处理器控制 I/O 操作,CPU 只需发出 I/O 指令,通道负责具体操作) 。
缓冲技术:在内存中设置缓冲区,用于缓和 CPU 与 I/O 设备之间速度不匹配的矛盾,减少 I/O 操作对 CPU 的中断频率,提高 CPU 和 I/O 设备的并行性 。
三、典型操作系统分析
3.1 Windows 操作系统
特点:具有友好的图形用户界面,操作简单直观;广泛支持各种应用软件;提供多任务处理能力,可同时运行多个程序;集成了丰富的系统工具和服务 。
核心组件:包括内核(负责进程管理、内存管理、设备驱动等核心功能)、图形设备接口(GDI,用于图形显示和打印)、用户界面(User Interface,提供窗口、菜单等用户交互元素)、文件系统(如 NTFS,提供安全的文件存储和管理) 。
3.2 Linux 操作系统
特点:开源免费,用户可自由获取和修改源代码;高度稳定可靠,适用于服务器、嵌入式设备等多种场景;具有强大的网络功能和多用户多任务处理能力;可定制性强,用户可根据需求选择不同的发行版(如 Ubuntu、CentOS、Debian 等) 。
核心组件:包括 Linux 内核(实现进程管理、内存管理、文件系统管理、设备驱动等功能)、Shell(命令行解释器,用户通过 Shell 与系统交互)、文件系统(如 EXT4,支持大容量存储和高效的数据访问) 。
四、典型例题
4.1 进程调度例题
题目:有三个进程 P1、P2、P3,它们的到达时间和运行时间如下表所示,分别采用先来先服务(FCFS)和短作业优先(SJF)调度算法,计算各进程的周转时间和平均周转时间。
进程
到达时间
运行时间
P1
0
5
P2
1
3
P3
2
2

解答:
FCFS 调度算法:
P1 的周转时间 = 5 - 0 = 5
P2 的周转时间 = 5 + 3 - 1 = 7
P3 的周转时间 = 5 + 3 + 2 - 2 = 8
平均周转时间 = (5 + 7 + 8) / 3 = 6.67
SJF 调度算法:
P1 的周转时间 = 5 - 0 = 5
P3 的周转时间 = 2 + 2 - 2 = 2
P2 的周转时间 = 2 + 2 + 3 - 1 = 6
平均周转时间 = (5 + 2 + 6) / 3 = 4.33
4.2 内存分页例题
题目:某系统采用分页存储管理,页面大小为 1KB,某进程的页表如下所示,逻辑地址 2049 对应的物理地址是多少?
页号
块号
0
2
1
3
2
1

解答:
页面大小为 1KB = 1024B,逻辑地址 2049 / 1024 = 2(页号)……2(页内偏移)。
查页表可知,页号 2 对应的块号为 1。
物理地址 = 块号 × 页面大小 + 页内偏移 = 1 × 1024 + 2 = 1026 。

不竭的兴趣

组成原理

1
工业的奇迹

1.1 计算机系统层次结构
硬件层:由运算器、控制器、存储器、输入设备和输出设备五大基本部件构成,是计算机运行的物理基础。
指令集架构层(ISA):定义计算机能够执行的指令集合、数据类型、寄存器组织等,是软件与硬件交互的接口。
操作系统层:管理计算机硬件与软件资源,为用户和应用程序提供服务,实现对硬件的抽象。
汇编语言层:使用助记符表示机器指令,需通过汇编程序翻译成机器语言。
高级语言层:如 C、Java 等,通过编译器或解释器转换为机器可执行代码 。
1.2 计算机性能指标
主频:CPU 的时钟频率,单位为 Hz,反映 CPU 运算速度,主频越高,理论上运算速度越快。
字长:CPU 一次能处理的数据位数,常见有 32 位、64 位,字长越长,可寻址空间越大,数据处理能力越强。
存储容量:包括主存容量(内存大小)和辅存容量(如硬盘容量),容量越大,可存储的数据和程序越多。
吞吐量:单位时间内系统处理的任务量,衡量计算机系统整体性能 。
二、计算机硬件系统
2.1 运算器
组成:由算术逻辑单元(ALU)、累加器(ACC)、通用寄存器组(GPRs)、状态寄存器(PSW)等组成。
功能:完成算术运算(如加、减、乘、除)和逻辑运算(如与、或、非、异或),并将运算结果暂存于寄存器或存储器中 。
2.2 控制器
组成:由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、时序产生器和操作控制器等组成。
工作过程:
PC 存储下一条要执行指令的地址,将地址送入存储器取出指令存入 IR。
ID 对 IR 中的指令进行译码,分析指令功能。
时序产生器产生各种时序信号,操作控制器根据译码结果和时序信号,发出控制信号控制各部件协同工作,完成指令功能 。
2.3 存储器
分类:
主存储器(内存):速度快、容量相对较小,用于存放当前正在运行的程序和数据,可与 CPU 直接交换数据。
辅助存储器(外存):如硬盘、U 盘等,速度慢、容量大,用于长期存储数据和程序 。
存储单元与地址:存储器由多个存储单元组成,每个单元有唯一地址,CPU 通过地址访问存储单元。
2.4 输入 / 输出设备
输入设备:如键盘、鼠标、扫描仪等,将外部信息转换为计算机能识别的二进制代码输入到计算机。
输出设备:如显示器、打印机等,将计算机处理结果转换为人们能识别的形式输出 。
I/O 接口:实现 CPU 与 I/O 设备之间的信息交换,提供数据缓冲、信号电平转换、地址译码等功能 。
三、数据的表示与运算
3.1 数制与编码
数制:常见有二进制、八进制、十进制、十六进制,计算机内部采用二进制表示数据。
原码、反码、补码:
原码:最高位为符号位,0 表示正数,1 表示负数,其余位为数值位。
反码:正数反码与原码相同,负数反码是在原码基础上,符号位不变,其余位取反。
补码:正数补码与原码相同,负数补码是在反码基础上加 1。计算机中采用补码进行加减运算 。
3.2 定点数与浮点数运算
定点数运算:包括定点整数和定点小数的加减乘除运算,采用补码进行加减运算,通过移位和加法实现乘法运算,通过减法和移位实现除法运算 。
浮点数表示:由符号位、阶码和尾数组成,用于表示较大或较小的数值,遵循 IEEE 754 标准 。
浮点数运算:包括对阶、尾数运算、规格化和舍入等步骤 。
四、指令系统
4.1 指令格式
由操作码和地址码组成。操作码表示指令的操作类型(如加法、减法、取数等),地址码指出操作数的地址 。
常见寻址方式:
立即寻址:操作数直接包含在指令中。
直接寻址:地址码直接给出操作数的内存地址。
间接寻址:地址码给出的是操作数地址的地址。
寄存器寻址:操作数存放在寄存器中,地址码为寄存器编号 。
4.2 指令周期
从取指令、分析指令到执行完该指令所需的全部时间,一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期 。
五、存储系统
5.1 存储器层次结构
由高速缓存(Cache)、主存、外存构成金字塔形结构。Cache 速度最快,用于存储 CPU 近期频繁访问的数据,缓解 CPU 与主存之间的速度差异;主存用于存储当前运行的程序和数据;外存用于长期保存数据 。
5.2 高速缓存(Cache)
工作原理:基于程序的局部性原理(时间局部性和空间局部性),将 CPU 近期可能访问的数据从主存复制到 Cache 中,CPU 优先访问 Cache,若未命中再访问主存 。
Cache - 主存映射方式:
直接映射:主存块与 Cache 块一一对应,实现简单,但冲突率高。
全相联映射:主存块可映射到 Cache 任意一块,冲突率低,但实现复杂,成本高。
组相联映射:将 Cache 分为若干组,主存块映射到 Cache 特定组内的任意一块,是前两种方式的折中 。
六、典型例题
6.1 补码运算例题
题目:计算 -5 + 3 的补码运算过程(假设字长为 8 位)。
解答:
-5 的原码:10000101,反码:11111010,补码:11111011。
3 的原码、反码、补码均为:00000011。
补码相加:11111011 + 00000011 = 11111110。
结果补码 11111110 对应的原码为 10000010,即 -2 。
6.2 指令寻址例题
题目:已知某指令的地址码为 200H,采用直接寻址方式,主存按字节编址,求操作数的实际地址。
解答:直接寻址时,地址码即为操作数的内存地址,所以操作数实际地址为 200H 。