数据库
1.数据库DB,是一个按照数据结构来存储和管理数据的软件系统。对数据库进行管理的软件系统成为数据库管理系统,DBMS。
关系数据库范式,指在设计关系数据库时,应当遵守设计原则。(设计一个好的关系数据库,能够避免数据冗余,节省数据存储空间和保障数据的一致性)
关系数据库的设计范式:常见有第一范式、第二范式、第三范式、第四范式、第五范式、BCNF。前三种是常见范式。前一个范式是后一个范式的基础。实际运用中,实现第三范式就已经足够。设计数据库时,除了考虑范式之外,还应当考虑业务的要求和应用程序开发的影响。
(1).第一范式INF:是设计的数据库属于关系数据库的基本要求。第一范式确保序列中的值是不重复。
(2).第二范式2NF:是在第一范式基础上建立的。要求数据库表中的每个行必须可以被唯一地区分。为实现区分通常将表的一个或者多个属性作为行的唯一标识。该标识被称为主键。
第二范式要求行的列值完全依赖于主关键字。
(3).第三范式3NF:要求数据库中的非主键列间不能有依赖。即一个表中的列不能依赖于另一个表的非主键列。实现第三范式主要是减少数据冗余。
2. 事物是指用户在进行数据库操作时的一个数据库操作序列。对于该操作序列中的操作,要么全都执行,要么全不执行,所有的操作是一个整体。
事物提交是指将事物中的对数据的更新提交到数据库中,如果执行正常则事物结束。否则在发生异常时,事物将回滚,将数据库状态还原到事物提交前的状态。事物回滚主要发生于事物提交失败情况下,中止事物并还原数据库状态。
事物4个特性:
原子性Atomicity:指事物是一个逻辑工作单位,其中操作要么全执行要么全不执行。
一致性Consistency:事物执行的结果必须使数据库从一个一致性状态变为另一个一致性状态。
隔离性Isolation:说明事物间不能相互干扰。即一个事物内部操作及其数据对其他并发事物是隔离的,并发执行的事物相互之间不能干扰。
持续性Durability:指事物一旦提交,其对数据库中数据的改变是永久的。
防止事物特性被破坏是事物处理的重要内容,事物被破坏的原因:
(1) 多个事物并发运行,事物之间的操作较差执行
(2) 事物在运行过程中被强行中止。
在对数据库的数据进行更新时,如果该更新操作设计到多个数据且该操作必须全部执行或者全部不执行时,应当使用事物。无论是使用程序提供的事务处理还是基于数据库系统的事物处理。
3. 数据模型是一组概念的组合,包括数据结构、数据操作、完整性约束条件。
数据结构:数据模型中数据对象的存储形式;
数据操作:数据库中允许对数据执行的操作集合;
数据约束条件:一组数据完整性规则的集合,用于保证数据库中数据的正确和有效。
根据数据结构不同,常见数据模型分为层次模型、网状模型和关系模型。
(1)层次模型指实体间使用树形结构进行描述的数据模型,满足以下条件:
1) 在结构中有且仅有一个结点没有双亲结点,该结点被称为根结点。
2) 除根结点以外的结点有且仅有一个双亲结点。
(2)网状模型满足以下条件:
1)有一个以上结点没有双亲;2)结点可以有多于一个双亲;
(3)关系模型是指数据逻辑结构为二维表的数据模型,是现代数据库应用最为广泛的数据模型。
4. 数据库管理系统是提供建立、管理、维护和控制数据库功能的一组计算机软件。目标是用户能够更好地组织和存储数据,能够高效从数据库中获取数据,处理数据。
数据管理系统的功能主要有以下4个方面:
(1) 数据定义功能:数据库管理系统提供数据定义语言DDL和建立数据库的机制。通过使用DDL,数据库管理系统的用户可以很方便建立一个数据库。
(2) 数据操作功能
(3) 数据库的建立和维护功能
(4) 数据库的运行管理功能:数据库管理系统核心。
5. SQL(Structured Query Language)语言是一种介于关系代数与关系演算之间的结构化查询语言,成为关系数据库的标准语言。
SQL语言实现了数据定义、数据操纵。数据控制功能。
6. 分页查询来对查询出来的数据进行分页,只查询需要的数据。
——————————————————————————————————————————
——————————————————————————————————————————
操作系统
1. 操纵系统(operating system),用于管理计算机系统的硬件资源、软件资源及数据资源,控制程序运行,提供操作接口,为其他应用软件提供支持等的软件系统。
操作系统包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。
2. 操作系统根据任务的处理方式可以分为
(1)简单批处理系统:用户一次可以提交多个作业,但系统一次只处理一个作业、
(2)多道程序批处理系统:把同一批作业调入内存,存放在内存的不同部分,当一个作业由于等待输入输出操作而让处理机出现空闲,系统自动进行切换,处理另一个作业。
(3)多道程序分时系统:一个作业只能在一个时间片的时间内使用CPU,时间到时,系统将剥夺作业的CPU使用权,然后根据一定算法将CPU分配给其他作业使用。
(4)网络操作系统:一台计算机通过一个网络接口控制器链接网络上,可以进行网络通信功能,网络资源的管理和使用的操作系统。
根据运行环境不同,又可分为服务器操作系统、桌面操作系统、嵌入式操作系统。
现代操作系统常采用分时处理的方式执行作业,有Unix、Linux、DOS、Windows、Mac。
3. 操作系统的最小调度单位是线程。
进程与线程是操作系统进行任务调度时的单位。应用程序都是运行在进程或者线程中。通过使用进程或者线程,应用程序可以实现并发控制等功能。
调度:如何高效运行应用程序,并未其分配系统资源。通过操作系统的调度算法,能够提高资源的利用率。
操作系统包括进程和线程两种调度单位。进程是指在系统中正在运行的一个应用程序。线程是系统分配处理器时间资源的基本单元。对于操作系统,其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。
4. 资源最小单位是进程。
进程为应用程序的运行实例,是应用程序的一次动态执行。进程是由进程控制块、程序段、数据段3部分组成。一个进程可以包含若干线程,使用线程可以实现应用程序同时做几件事并且互不干扰。进程是操作系统进行资源分配的单位。
线程是进程中的实体,是被系统独立调度和分配的基本单位,线程不拥有系统资源,只拥有一点在运行中必不可少的资源。线程与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一进程中的多个线程之间可以并发执行。
线程与进程区别:
子进程和父进程有不同的代码和数据空间,而多个线程则共享进程的数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。多线程主要是为了利用CPU时间,同时在一个进程内运行多个任务。
5.多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统效率。多线程的好处:
(1)可以把占据长时间的程序中的任务作为一个单独的线程放到后台去处理。而用户界面可以继续响应用户的操作。
(2)加快程序的处理速度。
(3)在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,可以释放一些资源如内存占用等。
线程同步的基本思想:避免多个线程对同一资源的访问,这个资源既可以是一个对象,又可以是一个方法或代码。线程同步可以使用临界区、互斥量、信号量等方式实现。
5. 操作系统中的内存管理是操作系统中管理内存使用的功能。主要包括向用户程序提供内存逻辑地址,并完成逻辑地址到物理地址的转换、完成用户程序的载入工作,采用各种技术提供内存使用率,包含内存及其安全等功能。
内存管理模式有7种,无管理方式、单一分区、固定分区、可变分区、页、段和段页。目前最常用的是页式管理。
6. 作业调度,是指按照时间周期对作业进行分割,并根据业务需求、作业长度、存储管理及依赖性关系对作业的执行方式加以调度。主要任务是从作业后备队列中选择作业进入主存运行。
作业调度功能方面:
作业调度算法目标:
1) 调度对所有作业都是公平合理的;
2) 应使设备有较高的利用率;(提高系统利用率)
3) 每次运行尽可能多的作业;(提高系统吞吐量)
4) 较快的响应时间;
作业调度算法:
1) 先来先服务FCFS:最简单的调度算法,按作业先后顺序进行调度;
2) 最短作业优先服务SJF:对FCFS的改进,其目标是减少平均周转时间。对预计执行时间短的作业优先分派处理机。通常后来的短作业不抢先正在执行的作业。
3) 最高响应比优先法HRN:是对FCFS和SJF方式的一种综合平衡。FCFS只考虑每个作业的等待时间而未考虑执行时间的长短,而SJF只考虑执行时间而未考虑等待时间的长短。HRN同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入运行,响应比R定义如下:
R=(W+T)/T=1+W/T,T为该作业估计需要执行时间,W为作业在后备状态队列中的等待时间。
4)基于优先数调度算法HPF
7. 一个作业从进入系统到它运行结束,一般经历4个状态,分别是进入状态、后备状态、运行状态、完成状态。当作业信息经输入设备输送到输入井时,是初进入状态;当全部作业信息进入系统后,由操作系统把它们全部存放在输入井中,称为后备状态;当一个作业被选中运行时,称它为运行状态;当一个作业正常运行完毕或非正常结束时,处于完成状态;
----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
计算机网络
1. OSI(open system interconnect)七层模型称为开放式系统互联参考模型,通过七个层次化的结构模型使不同的系统不同的网络间实现可靠的通讯,其最主要的功能就是帮助不同类型的主机实现数据传输。从下到上划分包括物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。其中1~4层被认为是低层,这些层与数据移动密切相关;5~7层是高层,包含应用程序级的数据。
(1) 物理层:为上层协议提供了一个传输数据的物理媒体;
(2) 数据链路层:在不可靠的物理介质上提供可靠的传输。该层左眼包括物理地址寻址、数据成帧、数据检错、重发。
(3) 网络层:负责对子网间的数据包进行路由选择,还可以实现拥塞控制、网际互连。
(4) 传输层:是第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端、可靠的或不可靠的传输。另外负责差错控制和流量控制问题。
(5) 会话层:管理主机间的会话进程,即负责建立,管理和终止进程间的会话。还利用在数据中插入检验点来实现数据同步。
(6) 表示层:对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据加密、压缩、格式转换。
(7) 应用层:为操作系统或网络应用程序提供访问网络服务的接口。
2. TCP/IP参考模型分为4个层次:应用层、传输层、网际层。网络接口。
(1) 网络接口:TCP/IP参考模型没有真正描述这一层实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递IP分组。
(2) 网际层:整个TCP/IP协议栈的核心。功能是把分组发往目标网络或主机。网络互连层定义了分组格式和协议,即IP协议。除了需要完成路由功能,也可以完成将不同类型的网络(异构网)互连,还有拥塞控制。
(3) 传输层:在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层定义两种服务质量不同协议,分别为TCP和UDP协议。
1) TCP协议是一个面向连接、可靠的协议。将一台主机发出的字节流无差错发往互联网上的其他主机。
2) UDP协议是一个不可靠、无连接协议,主要适用于不需要对报文进行排序和流量控制场合。
(4) 应用层:TCP/IP模型将OSI参考模型中的会话层和表示层功能合并到应用层实现。
3. TCP/IP称为传输控制协议/互联网络协议,是Internet最基本的协议,定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。TCP/IP协议是一组协议,包括上百个协议。而TCP协议和IP协议是保证数据完整传输的两个基本重要协议。通常说的TCP/IP是Internet协议族,而不单指TCP协议和IP协议。
(1).网际协议IP是TCP/IP的心脏,也是网络层最重要的协议。IP层接收由更低层(网络接口层)发来的数据包,并把该数据包发送到更高层-TCP或UDP层;相反,IP层也把TCP或UDP层接收的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。
IP数据包中含有发送它的主机地址(源地址)和接收它的主机地址(目的地址)。
(2).TCP协议:如果IP数据包中有一句封好的TCP数据包,那么把它们传送到TCP层。TCP将包排序并进行错误检测,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重转。TCP将信息送到更高层的应用程序、
(3).UDP协议:UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询—应答服务。欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(即握手),因为在两个系统间没有虚电路。