CPU:中央处理器
内存
主板
输入、输出设备
硬盘
显卡
冯·诺依曼体系:
计算机的硬件基础架构都是依赖于冯诺依曼提出的冯诺依曼体系结构。
现代计算机的核心架构可以抽象为五个基础组件:运算器、控制器、存储器、输入设备和输出设备。
CPU功能:程序、操作、时间控制和数据处理。
组成:运算器、控制器、寄存器组、内部总线。
运算器:ALU-算术逻辑单元、AC-累加寄存器、DR-数据缓冲寄存器、PSW-状态条件寄存器。
控制器:IR-指令寄存器、PC-程序计数器、AR-地址寄存器、ID-指令译码器
不同进制之间的转换有:
R进制转十进制:按权展开;
十进制转R进制:短除法;
二进制转八、十六进制:分组快速转换
原码:负数把第一位改成1;
反吗:正数的反码与原码相同,负数的反码是其绝对值按位求反;
补码:正数的补码与原码相同,负数补码等于在其反码的末尾+1;
移码:在数X上增加一个偏移量(实际上,将补码的符号位取反)。
1.奇偶校验码(在编码中增加一个校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶校验),从而使码距变为2)=>只能检验一位的错误。
特点:只能检测出奇数位出错但不知道哪位出错,并且不可以纠正。
2.海明码:在数据位中之间插入k个校验位,通过扩大码距来实现检错和纠错,既可以检测数据传输过程中出现的一位数据错误的位置加以纠正。
特点:可以检错和纠错.
3.循环冗余校验码:利用生成多项式为k个数据位产生r个校验位来进行编码,长度为r+k,校验码越长,校验能力越强。
特点:可以检错但不能纠错。
4.结构、组织、实现、性能。结构指的是计算机系统各种应用的互联,组织指的是各种不见的动态联系和管理,实现指的是各模块设计的组装完成,性能指计算机系统的行为表现。
单指令流单数据流(SISD):单控制器单处理器
单指令流多数据流(SIMD):单控制器多处理器
多指令单数据流(MISD):多控制器单处理器
多指令多数据流(MIMD):多控制器多处理器
CISC-复杂指令集计算机(指令数量多,指令频率差别大,多寻址、使用微程序控制技术)
RISC-精简指令集计算机(指令数量少,操作寄存器,单周期,少寻址,多通用寄存器,硬布线逻辑控制,适用于流水线)
流水线:是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。
流水线建立时间:一条指令执行时间。
流水线周期:执行时间最长的一段。
吞吐率:单位时间内流水线处理机流出的结果。对指令而言就是单位时间内处理的指令数。
cache替换算法:随机替换算法、先进先出算法、近期最少使用算法、优化替代算法。
IO设备与主机之间交换数据主要有物种方式:
程序查询方式、程序中断方式(当IO系统与主机之间交换数据时,当IO系统完成了数据传输后用中断信号通知CPU,CPU保护现场并转入IO终端服务程序完成与IO系统的数据交换。)、DMA方式、通道方式、IOP输入输出处理机、DMA传送方式优先级高于中断方式。
1.数据总线(data bus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。
2.地址总线(address bus):指定在RAM之中储存的数据的地址。
3.控制总线(control bus):将微处理器控制单元的信号,传送到周边设备。
静态数据区、代码区、栈区、堆区。
静态数据区:全局变量和静态变量存储时放在这块区域
代码区:存放函数体的二进制代码;
栈区:编译器自动分配释放;
堆区:一般由程序员分配释放,或OS管理。
保密性、完整性、可用性、可控性、可审查性。
加密技术:
对称加密技术(发送和接受数据的双方必须使用相同的、对称的密钥对明文进行加密和解密)。
数据加密标准:DES,采用替换和移位的方法加密;
非对称加密技术:需要两个密钥,公开和私有密钥;
算法:RSA算法(公开密钥,安全性在于基于大素数分解);PKI,公开密钥体系。
认证技术:hash函数与信息摘要、数字签名、SSL协议(安全套协议)、数字时间戳技术。
性能衡量评价:时钟频率、指令执行速度、等效指令速度法、数据处理速率。
1.概念;程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应的,执行所访问的存储空间也局限于某个内存区域,
2.时间局部性:如果程序中的某条指令一旦执行,则不久后该指令可能再次被执行。
3.空间局部性:一旦程序访问了某个存储单元,则不久之后,其附近的存储单元也将被访问。程序大部分情况下处于顺序和循环或者某个模块中执行。
概念:以又穷的集合描述无穷的计划的工具
字母表:元素的非空有穷集合,其中元素称为符号,所以也叫符号集;
符号串:由字母表中的元素组成的任何有穷序列,串中的元素个数叫做符号串的长度,空符号串ε,长度为0。
符号串的运算:
连接-符号串x = ab,y=cd, xy = abcd
方幂-z=xn,当n = 0, z = ε,当 n = 2, z = xx
集合的闭包-∑* = ∑0 ∪∑1 ∪∑2 ∪…∪∑n
∑+ 为正闭包 = ∑1 ∪∑2 ∪…∪∑n
规则|产生式|生成式,是形如α->β的有序对,读作α定义为β,相同左部的产生式可缩写A->a|b|c|d。
文法定义的形式-四元组(Vn,Vt,P,S): Vn为非终结符集,Vt 为终结符集,P为规则集,S为识别符|开始符,至少要在一个规则中作为左部出现,Vn ∩ Vt = ∅。
直接推导=>, 长度为n(n>=1)的推导+=>,长度为n(n>=0)的推导=>【+在=上面】,v=0S1,w=0011,直接推导:0S1 =>0011,使用规则:S->01,γ=0,δ=1;可以说w是v的直接推导,或者w直接归约于v,由识别符号S推导出来的符号串称为文法的句型,如果该符号串仅由终结符号组成,称为句子。
G[S]称为文法,L[G]为文法的集合表示形式
若L[G1] = L[G2],则称文法G1和G2是等价的。
G[S]:S->0S1,S->01
G[A]:A->0R,A->01,R->A1
L[S]=L[A]={0n1n|n>=1}
1.作用:通过资源管理提高计算机系统的效率,改善人机界面,向用户提供友好的工作环境。
2.特点:并发性、共享性、虚拟性、不确定性。
3.功能:处理机管理、文件管理、存储管理、设备管理、作业管理。
4.类型:批处理、分时、实时、网络、分布式操作系统。
批处理操作系统,例子:薪资系统、银行对账单等。它支持多个用户,CPU空闲时间短,通过多个作业分组位较少批处理来工作,但是批处理系统的成本很高,调试难度大。
分时操作系统,例子:Unix、Multics等,它位每个作业分配一定的时间限制“量子”。完成一项工作后,将位另一项分配时间,每个作业在CPU获得相等时间。
网络操作系统:例子:UNIX、LINUX\NOVELL NETWARE等。它们可以在互连模型上工作,但是该模型由客户端服务器组成。与松散耦合的分布式系统不同,它是紧密耦合的系统,它的连接和网络稳定,位于不同位置的不同系统可以轻松访问服务器,完成文件共享,但是服务器和维护、更新的成本很高。
分布式操作系统:例子:LOCUS;它允许使用共享通信网络在全世界范围内互连各种系统。但是所有互连的系统都是独立的,所以一个系统的故障不会影响网络中的任何其他系统,计算任务也很快,减少了仅一台计算机上的负载。
实时操作系统:实时操作系统可以快速的处理输入和对应关系,很小的响应延迟也会导致故障。实时操作系统分为两类:硬实时,响应时间不得超过安全时间。软实时,时间限制不严重,但是系统仍然认为是有故障的。这些用于游戏的软件应用程序开发。
5.前趋图:有向无循环图,进程=程序+数据+PCB(进程控制块)。进程控制是由操作系统内核kernel中的原语实现。
6.信号量机制:解决进程同步与互斥工具。信号量分为公用与私用信号量。
高级通信方式:共享存储模式(共享某些数据结构存储区域实现进程之间的通信)、消息传递模式(进程之间的数据交换以消息为单位)、管道通信(管道只用于连接一个读进程和写进程,实现他们之间通信的共享文件pipe文件)。
进程调度:FCFS先来先服务、时间片轮转、优先级调度、多级反馈调度。
死锁:两个以上的进程因为互相都要求对方已经占用的资源导致无法运行下去的线下,产生原因时资源竞争以及进程推进顺寻非法。
死锁产生条件:互斥条件、不可抢占条件、占用且申请条件、循环等待条件。
处理:死锁预防、死锁避免、死锁检测、死锁接触。
线程是比进程更小的能独立运行的基本单位,是处理器分配的最小单元。线程最为调度和分配的基本单位,进程作为独立分配资源的单位。
存储管理:地址重定位是指将逻辑地址变换成主存物理地址的过程。静态重定位是指在程序装入内存时已经完成逻辑地址到物理地址的变换,在程序执行器件不再发生变化。动态重定位是指在程序运行期间完成逻辑地址到物理地址的变化,基地址寄存器BR。
分页存储管理:将一个进程的地址空间划分为若干个大小相等的区域叫做页,将主存空间划分成与页相同大小的若干个物理块,称为块或者页框。再将进程的每一页离散的分配再主存的多个物理快中后,系统为每个进程建立了一张页面映射表,称为页表。
地址变换机构的基本任务是利用表页把用户程序中的逻辑地址变换成主存中的物理地址,实际就是将用户程序中的页号变换成主存中的物理块号,再系统这设置页表寄存器,用来存放页表的始址和页表的长度。页式存储管理至少需要两次访问内存。
分段式存储管理:作业地址空间被划分为若干个段,每个段多是一组完整的逻辑信息,有主程序段、子程序段、数据段和堆栈段。
段面是信息的逻辑单位。二维。页面是信息的物理单位,一维。
段页式系统,整个主存划分为大小相等的存储块,将程序按逻辑关系分为若干个块。每个段赋予一个段名,每个段再划分若干个页。其中段表中的内容不再是段的主存始址和段长,而是页表的始址和页表长度。
虚拟存储器是为了扩大主存容量采用的一种设计方法,它的容量是由计算机的地址结构决定,实现:请求分页系统、请求分段系统、请求段页式系统。
页面置换算法:最佳值换算法、先进先出算法、最近最少使用LRU、最近未使用NUR、工作集,
文件存储设备管理系统:位图向量法(用向量描述磁盘),空闲块链表连接法(用链表将空闲表组织起来)。
文件存储空间的管理:空闲表法、位示图、空闲块链、成组链接法。
文件逻辑结构:由结构的记录式文件、无结构的流式文件。
文件的物理结构:连续结构、链接结构、索引结构、多个物理块的索引表。
系统再管理文件时必须的数据结构是文件存在的唯一标识,称FCP。
文件的使用:目录管理命令、文件控制命令、文件存取命令。
文件共享:将多个文件名与一个文件体建立链接。
作业是系统位完成一个用户的计算任务所做的工作总和,提交、后背、执行、完成。
作业响应时间位作业进入系统的等待时间与作业的执行时间之和。
进程的状态:三态模型:运行、就绪、等待,
五态模型:静止就绪、静止阻塞、活跃就绪、活跃阻塞,
临界资源:各进程采取互斥的方式,实现共享的资源称作临界资源。
临界区:每个进程中访问临界资源的那段代码称为临界区,临界区中的临界资源同一事件只能由一个进程(线程)访问。
互斥:互斥是进程(线程)之间的间接制约关系,当一个进程(线程)进入临界区使用临界资源。另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个进程(线程)才会解除阻塞状态。
同步:同步时进程(线程)之间的直接的制约关系,相互合作的进程(线程)需要在某些确定的点协调他们的工作,当一个进程(线程)达到这些点后,除非另一个已经完成相应某些操作,否则只能等待这些操作结束。
信号量:信号量semaphore的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程,值与相应资源的使用情况有关。
值S>=0:表示某资源的可用数;S<0:其绝对值表示阻塞队列中等待该资源的进程数。
P操作定义:S:=S-1讲信号量S的值减1,若S>=0,则执行P操作的进程继续执行。
若S<0,则置该进程为阻塞状态,并讲其插入阻塞队列中。
V操作定义:S:=S+1,将信号量S的值加1;若S>0,则执行V操作的进程继续执行,若S<=0,则从阻塞状态太唤醒一个进程,并将其插入就绪队列,执行V操作的进程继续执行。
可行性分析与项目开发(用户、项目负责人、系统分析师);
需求分析(用户、项目负责人、系统分析师);
概要设计;详细设计(系统分析师、软件设计师);编码测试;维护。
生存周期模型:瀑布模型、演化模型、螺旋模型、喷泉模型。
软件开发方法:结构化方法、jackson方法、原型化方法、面向对象开发方法。
需求分析:确定待开发软件的功能性能数据界面等要求。
软件开发项目管理:成本估算方法:自顶向下、自底向上、差别估计、专家估计、类推估算法、算法估计。
成本模型估计:动态多变量模型、cocomo。
风险分析:风险识别、预测、评估、控制。
进度管理:gantt图、项目计划评审技术(pret图)。
人员管理:软件配置管理SCM。软件配置项SCI,软件配置管理的基本单位。版本控制
变更控制。
软件过程管理:CMM软件过程成熟度模型。
软件七个原则。
软件成熟度:初始级、可重复级、已定义级、已管理级、优化级。
质量模型:功能性、可靠性、易使用性、效率、可维护性、可移植性。
容错一般方法:结构冗余(静态冗余、动态冗余),信息冗余、时间冗余。
结构化分析方法SA:基于数据流的需求分析方法,强调开发方向的合理性以及开发软件的结构合理性。
分析模型:数据流图DFD,数据字典、加工逻辑的描述。
系统概要设计:体系结构设计、模块设计、数据结构与算法设计、接口设计。详细设计:位软件结构图中每一个模块实现算法和局部数据结构。工具可以分为图形、表格、语言三种。
设计基本愿意:模块化、信息隐蔽、模块独立(低耦合、高内聚)/
内容耦合:当一个模块直接修改或操作另一个模块的数据时候,或一个模块不通过正常入口而转入另一个模块时,这样的耦合称为内容耦合,为最高程度的耦合,所以应该避免使用。
公共耦合:两个或多个模块共同引用一个全局数据项,在有大量公共耦合的结构中,确定究竟时哪个模块给全局变量赋了一个特定的值很困难。
外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构。
控制耦合:控制耦合,一个模块通过接口向另一个模块传递一个控制信号,接受信号的模块根据信号值进行适当的工作。
标记耦合:一个模块A通过接口向两个模块B和C传递一个公共参数,则模块B和C之间存在一个标记耦合。
数据耦合:通过参数传递数据。
非直接耦合:两个模块之间没有直接关系,它们的联系通过主模块的控制和调用实现。
白盒测试:逻辑测试。
黑盒测试:功能测试。
测试步骤。
软件维护。
调试:试探法、回溯法、对分查找法、归纳法、演绎法。
1.四个阶段:具有通信功能的单机系统、多机系统、以共享资源为目的的计算机网络、 以局域网以及因特网为支撑环境的分布式计算机系统。
2.功能:数据通信、资源共享、负载均衡、高可靠性。
3.OSI模型(开放式系统互联通信参考模型):物理层(数据转换为可通过物理介质传送的电子信号)、数据链路层(访问网络介质的方式,将数据分帧、并处理流控制,制定拓扑结构并提供硬件寻址)、网络层(使用权数据路由经过大型网络)、传输层(提供终端到终端的可靠连接)、会话层(建立连接)、表示层(协商数据交换格式)、应用层(用户的应用程序和网络之间的接口)
4.分类:局域网LAN,城域网MAN、广域网MAN
5.网络互联硬件:物理层:中继器、集线器。
数据链路层:网桥、交换机。
网络层:路由器。
应用层:网关。
6.网络的组建:服务器、客户端、网络设备、收发器、中继器、集中器、网桥、路由器、通信介质、网络软件。
7.IP地址分类:
A类地址:网络号8位,0开始。
B类地址:网络号16位,10开始。
C类地址:网络号24位,110开始。
D类地址:组播地址,1110开始。
E类地址:保留地址,11110开始。
IP地址的计算
子网划分,将一个网络划分成多个子网。
路由汇聚,将多个网络合并成一个大的网络。
网络规划与设计:
需求分析:网络功能要求、网络性能要求、网络运行环境的要求、网络的可扩充性和可维护性要求。
网络规划原则:实用性、开放性、先进性原则。
网络设计与实施原则:可靠性、安全性、高效性、可扩展性,
层次化网络设计:核心层、汇聚层、接入层。
视觉媒体:位图图像、矢量图形、图表、符号、视频、动画。
听觉、触觉类媒体(触觉类媒体是实现人机交互的手段)。
图形和图像三要素:亮度、色调、色饱和度。
RGB\CMY、YUV彩色空间。
图像压缩:有损压缩、无损压缩。
DBMS功能:数据定义DDL,数据库操作DML,数据库运行管理,数据库组织存储和管理、数据库的建立和维护、通信等其他功能。
分类:
关系数据库RDMS、面向对象数据库OODBS、对象关系数据库系统ORDBS。
数据库系统的体系结构:集中式、客户端/服务器、并行、分布式数据库结构。
外模式-用户、子模式,是用户和数据库系统的接口。
内模式-存储模式,数据物理结构和存储方式描述。
数据模型:该你那、基本数据模型。
数据模型三要素:数据结构、数据操作、数据约束条件。
E-R模型:实体联系模型,
层次模型:树状结构,
点法:虚拟节点分解法。
关系模型;
面向对象模型:对象和对象表示OID,封装、对象的属性、类和类层次、继承,
关系代数:属性是事物的特征,域是属性的取值范围。
关系类型:基本关系、查询表、视图表。
关系数据库模型。
并发控制:事务特性:原子性、一致性、隔离性、持续性。
并发产生的问题:丢失更新、不可重复读、读“脏”数据
封锁协议:共享锁(S锁):若事务T对数据对象A添加了S锁,则只允许T读取A,但不能修改A。并且其他事务只能对A加S锁,不能加X锁。
排他锁(X锁):若事务T对数据对象A添加了X锁,则只允许T读取和修改A,其他事务不能再对A加任何锁。
数据库完整性约束
1. 实体完整性:规定其主属性不能去空值
2. 参照完整性(也称为引用完整性):规定其外键为参照表的主键值或为空值
3. 用户自定义完整性(函数):用户针对某一具体的关系数据库的约束条件
4. 触发器:一种复杂的完整性约束。
面向对象技术:面向对象=对象+分类+继承+通过消息的通信。
对象是类的具体化,是类的实例。
不同对象收到同一消息可以产生完全不同的结果,这以现象叫做多态。
动态绑定:把一个过程调用和响应所需要执行的代码加以结合的过程,绑定在编译时进行的静态绑定,动态是在运行时候,动态绑定和类的继承以及多态相关联的。
OOA面向对象分析,获得对对应问题的理解,确定系统的功能、性能要求。
OOD面向对象设计,设计分析模型和实现相关源代码,算法类、类层、模板层、系统层。
UML:统一建模语言,构造块:事物、关系、图。
事物:结构事物、行为事物、分组事物、注释事物。
关系:依赖、关联、泛化、实现,
UML图:类图、对象图、用例图、序列图、通信图、状态图、活动图、部署图、结合构造图、包图、交互概览图、时序图。
系统视图:逻辑视图用来显示系统内部功能怎么设计,利用系统的经阿嚏结构和动态行为刻画系统的功能,
进程视图:并发视图显示系统的并发给哦你工作亲近公开。
实时视图:组件视图,显示代码组件的组织方式,描述实现模块和它们之间的相互关系。
部署视图:显示系统的物理结构。
用例视图:需求分析模型,外部参与者的角度看待系统。
四要素:模式名称、问题、解决方案、效果
创建型设计模式,抽象了实例化过程,帮助一个系统独立于如何创建、组合、表示它那些对象。
结构化设计模式,如何组合类和对象获得更大的结构,
Flyweight模式为共享对象定义了一个结构,强调对象的空间概率。
Facade描述了如何用单个对象描述整个系统。
Decorator模式描述了如何动态地为对象添加职责。
行为设计模式。涉及到算法和对象间职责的分配。将用户的注意力从控制流转移到对象的联系方式上
标准是为重复性事件和概念做的统一规定。
概要设计:体系结构设计、模块设计。
知识产权:工业厂区、著作权。
https://www.jianshu.com/p/14c800dffe18
https://wenku.baidu.com/view/565023a0561252d381eb6e81.html
https://blog.csdn.net/culing2941/article/details/108617311?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.no_search_link
https://www.cnblogs.com/mh20131118/p/11334612.html
编译原理之文法