《软件设计师中级》备考

本文详细介绍了计算机的组成与体系结构,包括数据表示、CPU结构、Flynn分类、CISC与RISC的区别、流水线计算以及存储管理。接着,深入探讨了操作系统的核心概念,如进程管理、死锁问题、存储管理和设备管理。最后,讨论了数据库系统的基础,如三级模式和数据库设计过程。
摘要由CSDN通过智能技术生成


💢第一章 计算机组成与体系结构

🐱‍👤数据表示

1.进制转换

按权展开法(R进制10进制):
在这里插入图片描述
短除法(10进制R进制): 将余数倒过来输出得到二进制
在这里插入图片描述
2进制8、16进制
在这里插入图片描述

2.原码、反码、补码、移码

在这里插入图片描述
原码:第一位符号位、其他位置普通二进制
反码:正数不变,第一位符号位、其他位置在原码基础上 1变0、0变1
移码:用来做浮点运算当中的接码、在补码基础上 首位1变0、0变1

3.浮点数运算

科学计数法的两位数计算:对阶 → 尾数计算 → 结果格式化
N = 尾数 * 基数^指数


☕计算机结构

主机包括:CPU 和 内存

1.CPU

(1).运算器
① 算术逻辑单元ALU 数据的算术运算和逻辑运算
② 累加寄存器AC 给ALU一个工作区域 把算术结果临时存储起来
③ 数据缓冲寄存器DR 类存储器读写操作时暂存数据
④ 状态条件寄存器PSW 存储运算过程中的标志位(溢出、进位、中断、清零)
(争议:也有将其归为控制器的)

2.控制器

① 程序计数器PC 程序运行下一条指令需要了解位置,由此完成
② 指令寄存器IR 储存即将执行的指令
③ 指令译码器 对指令中的操作码字段进行解释
④ 时序部件 提供时序控制信号
⑤地址寄存器

3.Flynn(要掌握特性)

在这里插入图片描述
①单指令单数据流在PC已经不常见,多见于单片机领域
②单指令多数据流在阵列处理机(适用于处理数组)中常见
③多指令单数据流是一种理论层次的模型
④多指令多数据流典型为多处理机系统

指令的基本概念:
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码:
| 操作码字段 | 地址码字段 |
操作码指出计算机要执行什么性质的操作如:加法、减法、取数、存数等等
地址码字段需要包含操作数的地址及操作结果的存放地址

寻址方式
(1)立即寻址方式
特点:操作数直接在指令中、速度快、灵活性差
(2)直接寻址方式
特点:指令中存放的是操作数的地址
(3)间接寻址方式
特点:指令中存放了一个地址、这个地址的内容是操作数的地址
(4)寄存器寻址方式
特点:寄存器存放操作数
(5)寄存器间接寻址方式
特点:寄存器内存放的是操作数的地址

4.CISC与RISC(掌握区别 )

在这里插入图片描述
CISC:复杂,指令数量多,频率差别大,多寻址。
RISC:精简,指令数量少,操作寄存器,单周期,少寻址,多通用寄存器,流水线。

5.流水线

执行一条指令步骤: 取指 → 分析 → 执行 节约时间
在这里插入图片描述

6.流水线计算

①流水线周期指 执行时间最长的一段(指最耗时的那一个步骤)
例如: 取值、分析、执行时间分别为 2ns、2ns、1ns 则 2ns 为最长的一段
若执行100条指令则时间为:5 + 99 * 2 = 203ns
计算公式:
1条指令执行时间 + (指令条数 - 1)*流水线周期
理论公式:(t1 + t2 + .. + tk) + (n - 1)*▲t
实践公式:( k + n - 1) *▲t k表示一条指令有k个步骤

超标量流水线:

7.流水线吞吐率

指在单位时间内流水线所完成的任务数量或输出的结果数量。
吞吐率公式:TP = 指令条数 / 流水线执行时间
例: 100 / 203ns
最大吞吐率:在这里插入图片描述

8.流水线的加速比

含义:完成同一批任务,不使用流水线所用的时间与使用流水线所使用的时间之间的比成为流水线加速比。
公式:S = 不使用流水线执行时间 / 使用流水线执行时间
加速比可以展示流水线的优势,越高越好

9.流水线的效率

含义:指流水线的设备利用率
公式:E = n个任务占用的时空区 / k个流水段的总的时空区 = T0 / KTk
其实就是将整个任务占用时空区的阴影面积大小 / 整个时空区的大小

10.层次化存储结构

内存就是主存!

快 CPU → 寄存器

速 Cache(高速缓存) → 按内存存取(通过关键词检索对应的内容)

度 内存(主存)

慢 外存(辅存) → 硬盘、光盘、U盘等

往往速度快的容量小、速度慢的容量大。
若将所有的存储器都做成Cache或者寄存器,成本将难以接受、
若都用外存级别的存储器,速度又跟不上,CPU极快、但外存相对CPU慢了很多倍、
Cache对于CPU并不是必须的,CPU可以直接和内存进行数据交换、但是速度会慢上百倍。
Cache一般是以k、M兆为单位、但是内存都是以G为单位
局部性原理:执行程序过程中会频繁使用刚刚用过的结构

11.Cache概念

在整个结构当中、除了寄存器,Cache的速度是最快的
在这里插入图片描述
当CPU要数据的时候,Cache里面有,就说明命中了。如果Cache没有,CPU就要到主存中去读取数据。
命中率就意味着:CPU在Cache中读取到所需要的数据的概率
公式: Cache+主存储器的系统平均周期 = 命中率 X Cache周期时间 + 未命中率 X 主存储器周期时间

12.局部性原理

时间局部性:假设双重循环执行100万次、如果放进Cache就很快很方便
空间局部性:连续调用数组
工作集理论:工作集是进程运行时被频繁访问的也难免

13.Cache映像

(1)直接相联映像:硬件电路较为简单,但冲突率很高
在这里插入图片描述
每一个主存区内的0页都能够放进Cache中的0页(但不是同时)。假如0区的0页放置在Cache0页,当1区0页(也就是1区16页)也要放入Cache0页时,原先0区0页将被挤出。所以冲突率高

(2)全相联映像:电路难于设计和实现,只适用于小容量的Cache,冲突率较低
在这里插入图片描述
主存内地址无规则随意放置在Cache当中,问题在于查找地址麻烦,但冲突率小

(3)组相联映像:直接相连与全相联的折中
地址映像是将主存与Cache的储存空间划分为若干大小相同的页(或成为块)
在这里插入图片描述
将主存划分区和组在区之间使用直接相联映像,在组之间使用全相联映像。

14.主存-分类

分为两类:随机存取存储器只读存储器。
随机存取存储器又分为: 断电之后所存储的信息消失
1.DRAM (Dynamic RAM,动态RAM)-SDRAM
2.SRAM (Static RAM,静态)
只读存储器又分为:断电之后所存储的信息还在 BIOS
1.MROM(Mask ROM,掩模式ROM)
2.PROM(Programmable ROM,一次可编程 ROM)
3.EPROM(Erasable PROM,可擦除的 PROM)
4.闪速存储器(flash memory,闪存)

15.主存的编址与计算

存储单元有很多编址方式:
(1).按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字
(2).按字节编址1 byte = 8 bit 存储体的存储单元是字节存储单元,即最小寻址单位是一个字节

根据存储器所要求的容量和选定的存储芯片容量计算出所需芯片的总数:
总数 = 总容量 / 每片的容量
使用地址区间后一位减去前一位 H 表示16进制 不参与运算。

17.总线

一条总线同一时刻仅允许一个设备发送,但允许多个设备接收
总线分类:
数据总线( Data Bus ):在CPU和RAM之间来回传送需要处理或是需要存储的数据
地址总线( Address Bus ):用来指定在RAM之中存储的数据的地址
控制总线( Control Bus ):将微处理器控制单元的信号传送到周边设备,常见的为USB Bus和1394 Bus

18.串联系统与并联系统

串联系统:
在这里插入图片描述
R1.R2…Rn都表示可靠性 求串联系统的可靠性即为: R = R1 X R2 X .... X Rn 每一个可靠性的乘积

并联系统
在这里插入图片描述
R = 1 - ( 1 - R1 ) X ( 1 - R2 ) X … X ( 1 - Rn )

混合型(有并联也有串联)
在这里插入图片描述
公式如图~ 立方中的R为并联部分、平方中的R为串联部分

19.检验码-校验码基础知识

**码距:**任何一种编码都有许多码字构成,任意两个码字之间最少变化的二进制位数就成为效验码的码距
**例如:**用4位二进制表示16种状态,则有16个不同的码字,此时码距为1。如0000与0001。 只有一位数不同码距为1。 如 01 、 10 则有两位数不同 码距为2。

校验码-奇偶校验
奇偶校验码的编码方法是:由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验码
**奇校验:**整个校验码(有效信息位和校验位)中“1”的个数为奇数
**偶校验:**整个校验码(有效信息位和校验位)中“1”的个数为偶数
奇偶校验,可检查1位的错误,不可纠错 意为:你知道发生了错误,但是你并不知道如何改正

比如:1010⬜需要在后方的方框中填入一个校验位来组成校验码。 若加上一个“1”则为奇校验
但是在传输的过程中 10101 变为 10111 此时“1”的个数变为偶数,则为偶校验 说明发生错误
若传输的过程中变为 11111 此时变为 奇校验 是无法判断是否发生错误的。

校验码-循环校验码CRC
CRC校验,可检错,不可纠错
在这里插入图片描述
模2除法
模2除法指的是在做除法运算的过程中不计进位的除法。
在这里插入图片描述
从X的四次方往1摊开 有则为1 无则为0。 当作除数使用模2除法来除。除尽之后将剩下的数字补到被除数后方。将补完之后的数字传过去,对方接受验算之后若能整除则为对。若不能则为错。同样只能验错不能修正


🔧第二章 操作系统

1.进程管理 - 进程的概念

**含义:**进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块( PCB)和数据块三部分组成
**进程与程序的区别:**进程是程序的一次执行过程,没有程序就没有进程,程序是完成某个特定功能的一系列程序语句的集合,只要不被破坏,它就永远存在。程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。
在这里插入图片描述
进程一开始处于就绪状态,一旦CPU发生调用,则变为运行状态。之后会发生三种情况:
① CPU时间片用完,进程重新回到就绪状态
② 进来的一个进程比当前进程优先级要高,所以低优先级的要先回到就绪状态。
③ 进入运行状态等待某个事件(如等待用户输入等),进入等待状态之后等待事件发生,再重回就绪状态。

进程的同步与互斥:
①直接制约关系: 同步:速度有差异,在一定情况下等待另一方。
②间接制约关系: 互斥:千军万马过独木桥但资源有限。
③临界资源:一次仅允许一个进程使用的资源称为临界资源

PV操作
临界区:每个进程中访问临界资源的那段代码成为临界区
信号量:是一种特殊的变量
在这里插入图片描述
P操作:是一个申请资源的操作,S表示临界资源的资源总数,每当进行p操作就会申请一个临界资源,资源数S就会 -1,此时判断S资源如果小于0,如果为真就挂起,进入阻塞队列。如果为假,就继续下面的执行。
V操作:是一个释放资源的操作,释放等于用完了之后将临界资源返还。若资源数<=0,说明阻塞队列里面还在等待,可以唤醒还在等待使用的程序来使用。

多个进程共享一台打印机问题(互斥模型):
例如:理发店只有一个老板在,来了一名客人之后,老板就得为一个客人剪头发,此时再来客人就要等待。老板就等于是临时资源。
单缓冲区生产者、消费者问题(同步模型):
在这里插入图片描述
市场的个数只有 1 、 S1初值为 1、 S2初值为 0 。
生产者生产产品、消费者消费产品、市场用来存放产品。
生产者 → 生产好一个产品p1 → (挂起) → 送到缓冲区 → (唤醒)
消费者 → 从缓冲区拿出产品 → (挂起) → 消费掉产品 → (唤醒)
P可以理解为 等待 、 V可以理解为 下一步
在这里插入图片描述
上图称为 前驱图
A、B、C指向D称之为入度。 A,B,C三个进程都影响着D。必须要ABC先做完才能到D最后到E。

2.进程管理 - 死锁问题

**含义:**进程管理是操作系统的核心,如果设计不当,当一个进程在等待一件不可能发生的事情,则进程就死锁了。而一个或多个进程产生死锁,就会导致系统死锁
**例如:**系统有A\B\C\D\E五个进程都需要4个系统资源,系统至少有几个资源才不会发生死锁?
答案 = ( (单个进程所需系统资源 - 1) * 进程个数 ) + 1
在这里插入图片描述
形成死锁的四个必要条件: 即上图左边: 互斥(争夺资源) → 保持和等待(挂起) → 不剥夺(有限资源不会释放) → 环路等待(形成一条回路)
预防死锁就必须打破四大条件!
死锁的避免
①有序资源分配法 :如第一点当中ABCDE有序的分配进程
②银行家算法:
在这里插入图片描述
在这里插入图片描述
详解:百度云盘 第二章第1集 50:00
解答过程:
①计算一下五个进程的已分配资源数 : 7 7 5
②用可用资源减去已分配资源:2 1 0 这些事可以自由分配的资源
③看看五个进程中谁可以先满足,满足之后可以把已分配的资源一起拿回来:比如P2 拿回来为:4.2.1
之后再去满足 P4 之后便为: 5 4 1 如此排序
最终答案为 B

3.存储管理 - 分区存储组织

在这里插入图片描述
首次适应法:从地址000H开始往下找空位,一点出现空位直接分配给任务使用。
最佳适应法:找出所有可分配内存中最小的一块对比任务需求,满足就直接分配,但多出来的碎块容易浪费
最差适应法:找出所有可分配内存中最大的一块直接分配
循环首次适应法:将可分配内存按照顺序排列,例如 25K→28K→10K 一块空间分配一次,轮流使用,这样会使得内存分配均匀

4.存储管理 - 页式存储组织

页式存储:将程序与内存均划分为同样大小的块,以页为单位将程序调入内存。
在这里插入图片描述
**优点:**利用率高、碎片小、分配即管理简单
**缺点:**增加了系统开销;可能产生抖动现象
1K = 1024 = 2的10次 1M = 1024K = 1024*1024 = 2的20次

在这里插入图片描述
① 先将页面大小4K转化成二进制2的12次方。
② 再看16进制5A29H 12次方表示3位16进制'5A29'
③ 查询表格发现页号5所对应的页帧号(物理排号)为6
④ 将6和A29拼接则变为 6A29
⑤ 淘汰页只能够淘汰在内存中(状态位为1)的 0、1、2、5
⑥ 访问页为1也不能淘汰 答案为 1

5.存储管理 - 段式存储组织

页式存储如果要求是4K 那么每个块都是4K。 但是段式可以随便分大小

6.存储管理 - 段页式存储组织

优点:空间浪费小、存储共享容易、存储保护容易、能动态连接
缺点:由于软件管理的增加、复杂性和开销也随之增加、需要的硬件及占用的内容也有所增加、使执行速度大大下降

6.存储管理 - 快表

快表是一块小容量的相联存储器 (Associative Memory),由高速缓存器组成速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号

6.存储管理 - 页面置换算法

抖动的含义:分配更多页面资源,但反而效率降低处理不好
先进先出(FIFO)算法:有可能产生”抖动“,例如,432143543215序列,用3个页面比4个缺页要更少。
最近最少使用(LRU)算法:不会"抖动"
在这里插入图片描述
最上一行是我们所要访问的序列
需要调用4时,主存123当中没有4,则为缺页。当主存当中已经存在,则不需要调出。
在没有快表(Cache)的情况下,页式存储管理系统按照给定的虚拟地址进行读写时,必须访问内存的次数是2
P35集

7.文件管理 - 索引文件结构


13个索引 对应 地址 对应 盘块
假设一个物理盘块是4K大小,假设13个块为直接索引。则最大容量为52k。
但如此设计会导致容量太小,于是我们设计为0-9对应直接索引。
那么前10个为 40k大小, 10号索引储存地址,而其中的一个地址假设为4个字节,那么每一个盘块可以存1024个盘块地址。每一个地址对应的物理盘块又储存真正的内容。这称之为 一级间接索引
紧接着11号盘块为二级间接索引,类似于套娃一样,盘块中放地址,地址中放盘块地址。以此类推,最终就拥有相当大数量的盘块容量。

🎃重要练习题

在这里插入图片描述
首先每个地址是4字节,一个索引块为1KB。 1KB = 1024
1024 / 4 = 256 那么意为着在一次间接索引里面指向的磁盘当中有256个块
间接逻辑块当中的数字并不重要,全是乱序
题目当中5号逻辑块从58开始,前五块如图中所画。
但是! 261号逻辑块是iaddr[6]中的第一位,他经过iaddr[5]的时候 事实上数过了256个逻辑块,即 5+256=261溢出了iaddr[5] 所以第261号为iaddr[6]的第一位 187

8.操作系统 - 文件和树型目录结构

8.操作系统 - 空闲存储空间的管理

磁盘中会有空闲的空间,我们需要将其管理起来。以便有文件需求的时候有依据的给予空间。
在这里插入图片描述
类似于网购电影票就是位示图
在这里插入图片描述
在这里插入图片描述
答案如上图, 由于从0开始算 所以4195+1 除掉32位则为131.125。说明前131个要填满
所以位示图中要在第132个字中描述。
同样由于0的关系 第二题同理。
在位置这个单位里 ,4192是从0开始计算。所以真正的4192是第0位置 在第几个字这个单位里,是从1开始算的。要切记区分

8.设备管理 - 数据传输控制方式

①:程序控制(查询)方式:CPU介入最多的机制,不会主动反馈传输情况。
②:程序中断方式:主动性强,外设完成了数据传输它就会自动发出中断。
③:DMA(直接存储)方式:只需要在开头做一些接入,整个过程都由DMA控制器监管,完成之后再由CPU接管

8.设备管理 - 虚设备与SPOOLING技术

SPOOLING技术核心是 开辟了缓冲区,把要输出或者输出的数据缓存起来,解决了外部低速和内部高效之间的瓶颈差异。 等于是出现一个打印输出的队列,排队处理文件。不需要一直守着进程

9.微内核操作系统

在这里插入图片描述
操作系统作为核心软件,一旦出现问题会影响整个系统的运行。
我们将它拆分开,只保留最核心的一小部分。其余的部分拆分为小块部分运行。
提升了内核的安全性,其他部件出现问题也不影响系统,只需要重启就OK。
用户态:微内核内核的运行情况,在用户态里面出故障都无所谓
核心态:核心态出了问题就寄,
用户态和核心态也有交互,比较重要的才会在核心态当中处理

🚀第三章 数据库系统

🈲1.三级模式 - 两级映射

在这里插入图片描述
物理数据库:在计算机中表现形式就是一个文件
外模式:对应数据库当中的示图,更清晰的处理数据
概念模式:数据库当中的很多表对应的就是概念模式,相当于把数据划分成很多张表
概念模式和内模式映射:把内部存储形式进行改变,只需要调整映射关系,而不需要修改用户的应用程序就能应对这种变化。
内模式:管理如何存储一系列数据,以什么格式存储,如何去优化它? 主打的是数据的存放

2.数据库设计过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值