二级计算机公共基础知识

计算机硬件系统

硬件系统被称为裸机,裸机只能识别有0和1组成的机器代码

系统软件主要包括操纵系统、语言处理系统、数据库管理系统和系统辅助处理程序等

计算机基本的硬件有中央处理器(CPU)、存储器、输入设备和输出设备

CPU由两部分组成:控制器和运算器。控制器和运算器都使用寄存器,能够提高计算机性能。寄存器是高速存储区域,可以处理过程中的临时数据

计算机的基本工作原理:简略来说就是CPU不断取指令、分析指令和执行指令

存储器有RAM存储器、只读存储器、闪速存储器和高速缓冲存储器(Cache)。其中高速缓冲存储器可以被集成到CPU内以提高访问速度,即提高CPU与储存器的速度匹配

数据的内部表示:略

总线(bus)是连接计算机中的各个部件的信息传输线,是各个部件共享的传输介质。计算机中CPU通过总线与内存、外设等连接

总线标准包括IDE、SCSI、RS-232和USB(universal serial bus)

中央处理器和主存储器构成计算机主机

除主机以外,外部设备或外围设备有五类:输入/输出(I/O)设备、辅助存储器、终端设备、过程控制设备、脱机设备

I/O方式包括程序查询、程序中断、DMA和通道方式

操作系统概叙

操作系统可分为:1.多道批处理操作系统:多个作业批量处理;2.分时操作系统:允许多个联机用户同时使用一台计算机;3.实时操作系统:及时处理事件或者数据;4.网络操作系统:加入到互联网可以传达信息和共享网络信息;5.由多台计算机互连组成;6.嵌入式操作系统:运行于嵌入式系统之上的操作系统,微型化

并发程序的特点:1.无封闭性;2.程序与执行过程不是一一对应关系;3.程序并发执行可以相互制约

进程(process)是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动。按照理解进程就是程序的一次特定的运行。运行一个程序时,操作系统会为该程序创建一个进程。简单来说,进程就是程序在操作系统中的一个实例。每个进程都是独立的,拥有自己的内存空间和资源。例如,如果你同时运行两个相同的程序,它们会被操作系统视为两个独立的进程。

进程的状态:运行、就绪、等待、创建、终止

进程控制块PCB:进程控制块是由系统为每个进程分别建立的,用以记录对应程序和数据的存储情况,记录进程的动态信息

PCB包含的基本内容:进程名、特征信息、执行状态信息、通信信息。调度优先数、现场信息、系统栈、进程映像信息、资源占用信息、族关系

进程调度就是按一定策略动态地把CPU分配给处于就绪队列中的某一进程并使之执行的过程

最基本的进程调度算法:先来先服务调度算法、时间片轮转调度算法、优先级调度算法

存储管理技术:连续存储管理、分页存储管理、分段式存储管理及段页式存储管理、虚拟存储管理

具有代表性的文件系统:EXT2/4、NFS、HPFS、FAT、NTFS

文件存取权限:读、写和执行

文件存储空间管理:空闲文件项和空闲文件表;空闲块链;位示图;空闲块成组链接法

算法

算法:对解题方案的准确和完整的描述

算法的基本特征:可行性、确定性、有穷性(算法在有限时间内做完)、拥有足够情报

算法设计的基本方法:列举法、归纳法、递推、递归、减半递推技术、回溯法

算法的时间复杂度:执行算法所需要的计算工作量。可以用算法在执行过程中基本运算的执行次数度量算法工作量

算法的空间复杂度:执行算法所需要的内存空间

数据结构

数据结构主要研究和讨论:数据的逻辑结构、数据的存储结构、对各种数据结构进行的计算

数据结构:相互有关联的数据元素的集合,也可以说是,带有结构的数据元素的集合

前后件关系是数据元素之间的一个基本关系。比如,在{“父”,“子”}这个数据结构中,“父”是“子”的前件,“子”是“父”的后件

数据的逻辑结构:数据元素之间的前后件关系

数据的存储结构:数据的逻辑结构在计算机存储空间的存放形式

没有前件的节点称为根节点;没有后件的节点称为终端节点(叶子节点)

一个数据结构中的元素节点可能是动态变化的。用户可以对数据结构进行插入删除的基本运算

数据结构没有元素就是空的数据结构

数据结构有两大类型:线性结构、非线性结构。线性结构就是数据元素可以用一条线描绘,非线性结构就多条线描绘

线性表由一组数据元素组成

线性表的顺序存储结构有两个基本特点:1.所有元素占的存储空间是连续的;2数据元素在存储空间是按逻辑顺序依次存放的

栈是线性表。调用子程序会用到栈

栈:限定在一端进行插入与删除的线性表

栈的基本运算:入栈、出栈、读栈顶元素

队列:允许在一端进行插入、另一端进行删除的线性表

线性链表:线性表的链式存储结构

线性链表中的元素有两部分:数据的值、后件的地址。通过该后件的地址,程序能够找到下个节点。比起线性表的顺序存储,链式存储不用在物理空间连续存放数据。

树是一种简单的分线性结构

在树结构中,节点只有一个前件,该前件称为父节点(abd)没有前件的节点只有一个,即根节点(a);节点可以有多个后件,没有后件的节点称为叶子节点(efcg)

节点的度:节点拥有的后件数量。上图中,a的度为3

树的度:节点中最大的度。上图中,树的度为3

树是一种层次结构。根节点在第1层。

树的深度:树的最大层次。上图中,树的深度为3

二叉树:每个节点最多有两个节点,分别被称为左子树和右子树

二叉树的基本性质:(1).在第k层,最多有^{}2^{k-1}(k>=1)个节点。推导:第1层,2^{0}=1;第2层,2^{1}=2。(2).深度为m的二叉树最多有2^{m}-1个节点。可由等比数列求和推导出来。(3).任意一个棵二叉树都有度为0的节点(叶子节点)总是比度为2的节点多一个

满二叉树:节点数达到二叉树的最大值

完全二叉树:节点序号与满二叉树的节点序号对应。由此可得,完全二叉树的度为1的节点数只能是0或1

二叉树的遍历有三种:前序遍历(根左右)、中序遍历(左根右)、后序遍历(左右根)。以上图满二叉树为例,前序遍历:abdecfg;中序遍历:dbeafcg;后续遍历:debfgca

查找:在一个给定的数据结构中查找某个指定的元素

顺序查找:从线性表第一个元素开始,将各个元素依次与被查元素比较

二分法查找:每次都从中间项查找,只适用于顺序存储的有序表(按值非递减顺序排列)

排序:将一个无序序列整理成有序序列(按值非递减顺序排列) 

交换类排序法:【1】冒泡排序法(从前到后两两比较,再从后往前两两比较),最坏需要比较      n(n-1)/2次;【2】快速排序法(按条件分割,小于T的值放前面的表,大于T则放后表,不断分割更小的表直到不能分割),最坏需要比较n(n-1)/2次

插入类排序法:【1】简单插入排序法(创建一个新表,将原来的表中的元素一个一个按顺序放入新表),最坏需要比较n(n-1)/2 次;【2】希尔排序法(将整个无序序列分割成若干子序列进行插入排序。按照间隔来分,如果间隔为3,则第1个元素、第4个元素 、...、第n个元素、第n+3个元素都会分进一个子序列),最坏需要O(n^{1.5})次

选择类排序法:【1】简单选择排序法(扫描整个表,把最小元素放在第一个,后面元素同理),最坏需要n(n-1)/2次;【2】堆排序法(略),最坏需要O(nlog_{2}n)次

程序设计基础

程序设计风格:清晰第一,效率第二

程序注释:程序功能说明、主要算法、接口说明、程序位置

结构化程序设计原则:自顶向下、逐步求精、模块化、限制使用goto语句

结构化程序的基本结构:顺序结构、选择结构、循环结构

面向对象方法的优点:与人类习惯的思维方法一致;稳定性好;可重用性好;易于开发大型软件产品;可维护性好

面向对象的基本概念:【1】对象:任何事物都可以称为对象(一个国家,一个石头,一项贷款等等);【2】类和实例:类是有共同属性、共同方法的对象的集合。类是对象的抽象,一个对象是对应类的一个实例(比如,类:人,对象:小明)。大概意思就是,类是一个整体,对象是一个个体;【3】消息:一个实例与另一个实例之间传递的信息;【4】继承:将一个大类作为一个小类的基础,该小类可以继承大类已有的特征,不必重复定义。比如(类:人,类:男人。男人可以继承人说话的特征);【5】多态性:不同的对象对同一消息或方法调用做出不同的响应。比如(类:教师,类:坏教师。教师的上课行为是教书育人,而坏老师的上课行为是误人子弟)

软件工程基础

软件是一种逻辑实体

软件按功能可以分为:应用软件、系统软件(操纵系统、语言处理系统、编译软件、网络软件、数据库管理系统和系统辅助处理程序)、支撑软件(分析工具软件、设计工具软件、编码工具软件等)

软件工程三要素:方法、工具、过程

软件工程的核心思想:把软件产品看作是一个工程产品来处理

软件生命周期:提出、实现、使用维护、停止使用退役

软件生命周期中各阶段的基本任务:【1】可行性研究与计划制定;【2】需求分析(编写软件规格说明书、初步的用户报告);【3】软件设计(编写概要设计说明书、详细设计说明书和测试计划初稿);【4】编码(完成源代码编码、编写用户手册和操作手册、编写单元测试计划)【5】软件测试;【6】运行和维护

软件工程的原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性、可验证性

结构化分析的常用工具:数据流图(DFD);数据字典(DD);判定树;判定表

软件需求规格说明应描绘软件的目标,功能需求、性能需求、外部接口、属性、约束条件

结构化设计方法的基本思想:将软件设计成由相对独立、单一功能的模块组成的结构

概要设计的基本任务:设计软件系统结构、设计数据结构及数据库、编写概要设计文档

面向数据流的结构化设计方法:交换型、事务型(一个作业需要多个处理)

常见的过程设计工具:【1】图形工具:程序流程图,N-S图,PAD图,HIPO图;【2】表格工具:判定表

软件测试包括需求定义阶段的需求测试、编码阶段的单元测试、集成测试以及后期的确认测试、系统测试

软件测试方法:从是否需要执行软件的角度,可分为静态测试和动态测试方法。按照功能,可分为白盒测试和黑盒测试方法

单元测试:通常通过编写一个驱动模块和一些桩模块搭建一个虚拟环境来测试,这些模块只做简单的数据操作,保证被测单元正常运行即可

集成测试:测试和组装软件的过程

确认测试:验证软件的特性是否满足需求规格说明书中确定的各种需求

系统测试:将软件作为整个计算机系统的一个元素进行运行测试

程序调试的任务:诊断和改正程序中的错误

软件调试方法:强行排错法、回溯法、原因排除法

数据库设计基础

数据:描述事物的符号记录

数据有型(type)与值(value)的分别。比如,值为1的数据的型为整数型,值为‘abc’的数据的型为字符型。

数据库(DB):数据的集合

数据库管理系统(DBMS):数据库的机构,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等

数据库管理系统是数据库系统的核心

数据库管理系统提供的数据语言:数据库定义语言(DDL);数据库操纵语言(DML);数据控制语言(DCL)

数据库系统由五部分组成:数据库、数据库管理系统、数据库管理人员、硬件平台、软件平台

数据库系统的基本特点:数据的集成性、数据的高共享性与低冗余性、数据独立性、数据统一管理与控制

数据库系统内部有三级模式及二级映射,三级模式分别是概念级模式、外模式、内模式;二级映射是概念级到内部级的映射,外部级到概念级映射,概念级位于中间

数据模型:数据特征的抽象。数据模型从抽象地描述了数据结构、数据操作、数据约束

数据模型按应用层次分为:概念数据模型、逻辑数据模型、物理数据模型

概念数据模型:面向客观世界、面向客户的模型。概念模型是整个数据模型的基础。概念模型有:E-R模型、扩充的E-R模型、面向对象模型、谓语模型

逻辑数据模型:面向数据库的模型。逻辑数据模型有:层次模型、关系模型、网状模型、面向对象模型

物理数据模型:面向计算机物理表示的模型

E-R模型有三个基本概念:实体、属性、联系

关系模型采用二维表来表示,简称表。二维表由表框架表的元组组成。表框架有n个属性组成

关系模型有个重要的概念:键(key)或码。二维表中只要是能唯一标识该表的最小属性集合就是该表的键或码

关系模型的数据操作有:查询、删除、插入、修改

关系模型允许三类数据约束:实体完整性约束、参照完整性约束、用户的完整性约束

n元关系:有n列(属性)的二维表

关系模型的基本运算:插入(RUR')、删除(R-R')、修改(R-R')U  R''、查询。其中查询有新运算:【1】投影运算:选出某列;【2】选择运算:选出满足条件的元组,比如\sigma _{F}(R)中,F为a>10即可选出二维表中a列(属性)中大于10的值;【3】笛卡尔积运算:两个关系的合并操作。设n(列)元关系R有p(行)个元组,m(列)元关系S有q(行)个元组。则合并后该关系是n+m(列)元关系,有pxq个元组,笛卡尔积记为RXS

关系代数的扩充运算:【1】交运算:既在R又在S的元组;【2】除运算:乘运算笛卡尔积的逆运算;【3】连接与自然连接运算:连接是通过比较域(列)合并两个关系,自然连接是通过两个关系的公共域(列)的相等值合并

数据库的概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型

数据库的逻辑设计主要工作是将E-R图转换成指定的RDBMS中的关系模式

从E-R图到关系模式的转换比较直接,实体与联系都可以表示成关系

数据库物理设计的主要目标是对数据库内部物理结构调整并选择合理的存取路径,以提高数据库的访问速度及有效利用存储空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值