概述
计算机基础部分,主要有操作系统、数据库、网络知识、多媒体及系统性能章节。是一个比较基础的章节,这里的知识都学过,这里再复习一下。
操作系统
操作系统包括硬件部分和软件部分,支持用户的软件应用,用户可以使用它,也可以通过配置修改某些设置,但是不能修改它的运行逻辑。是链接硬件和用户软件的中间部分。负责执行软件的调用,驱动硬件进行相应的工作。操作系统有改善人机交互界、面管理系统资源的作用。操作系统的硬件部分包括:cpu (中央处理器)、存储器(内存和磁盘)和输入输出设备等。操作系统的软件方面功能包括:1.进程管理2.文件管理3.存储管理4.设备管理5.作业管理。
CPU(处理机)和进程管理
1.什么是进程
进程是程序的一次执行。程序是一套静态的指令集,当程序运行后,操作系统将指令集加载并执行。进程包括程序、数据及进程控制块(process control block ,PCB)组成。其中PCB是进程的唯一标志符。当新建一个进程时,系统分配资源和PCB给它。当进程结束的时候,将资源和PCB一起销毁。PCB中包含程序ID、进程状态、优先级、资源需求和分配等控制信息。
2.进程的状态
进程有三种基本状态,分别是就绪、运行和阻塞。这三种状态之间的转换关系有个三态模型图可以表示:
其中,等待态指的是,系统需要进行其他操作(比如io操作或者外部用户输入等),此时必须等相应的事件发生后才能从等待态转换为就绪态。进程不能直接从等待态转为运行态。在进程三态模型上,再引入新建和终止,即为进程5态
当系统资源不能拿满足程序的运行要求时,就将某些进程挂起,对换到磁盘的对换区中,释放它占用的某些资源,暂时不参与低级调度,这时进程处于挂起状态+运行状态。可以挂起的状态为:就绪态→挂起就绪态。阻塞态→挂起阻塞态。
3.进程互斥与同步
进程同步指的是,在并发环境下,一组进程通过互发消息、互相等待、互相合作,使各个进程按照一定的速度执行的过程成为进程同步。进程互斥指的是,在并发场景下,一组程序都需要共享某一个资源,而该资源不足以满足所有进程同时使用,这时需要这些进程以一个顺序进行不交叉的执行。这样可以避免死锁的产生。
信号量机制,是一种很有效的进程互斥和同步的工具。信号量为一个整型数值,根据不同场景给它赋予不同的值。信号量可以分为两类:
一种是公用信号量,用于实现进程间的互斥,初始值为1或者资源的数量。进程在申请资源时,如果信号量-申请资源数量<0,那么就不允许申请。如果大雨0 ,则将信号量减去申请的数量。另一种是私用信号量。初始值是0或某个正整数。一组进程要求按照特定顺序同步执行,那么当前面的程序执行后,就将信号量的值+1 后面的程序看到值>0后就将信号量-1然后执行本身。实现进程间的同步执行。
上述使用信号量的方式就是PV操作。PV操作是实现进程同步和互斥的常用方法。pv操作是低级通信原语,在执行期间不可分割。S表示资源现有数量,P操作表示申请一个资源:P操作的定义S= S-1 若S>0 那么表示资源申请成功,执行P操作的进程继续执行。若S<0则表示资源申请失败,执行P操作的线程进入阻塞状态,并将其插入阻塞队列。V操作表示释放一个资源:V操作定义,S=S+1。若S>0 则 继续执行。若S<=0 则从阻塞状态唤醒一个进程,将其插入就绪队列,然后继续执行。
4.进程通信
进程通信分为低级通信和高级通信。进程控制信息的交换为低级通信。进程间数据的交换为高级通信。低级通信如信号量进行进程的同步和互斥。高级通信有:共享系统、消息传递系统和管道系统。共享系统实现原理是:映射一段能被其他进程访问的内存,这段共享内存由一个进程创建,但多个进程可以访问。消息传递系统:消息队列是一种消息传递系统的具体实现。是一个消息链表,存放在内存中由消息队列标识。管道系统:半双工的通信方式。
5.进程调度
进程调度主要负责确定把CPU分配给哪个进程执行。常见的算法包括:先来先服务、时间片轮转、优先级调度和多级反馈调度算法。
存储管理
存储器是计算机系统的重要资源。存储管理的功能是主存储器的分配和回收、提高主存储器的利用率及存储保护和主存扩充。在存储技术和CPU寻址技术范围内,组织合理的存储结构,使各层次的存储器都处于均衡的繁忙状态。存储管理的方式有分区存储管理、分页存储管理、分段存储管理、段页式存储管理和虚拟存储管理。
对于用户程序而言,每个目标模块都是以0为基础进行存储地址编址,但那并不是计算机中的真实地址。而是基于0而言的地址。这种地址为逻辑地址,逻辑地址又称为相对地址、程序地址或虚拟地址。而驻村中各个存储单元真正的存储地址,则是物理地址。它可以寻找到具体的值。物理地址又称绝对地址。逻辑地址转换称物理地址的过程称为地址重定位。地址重定位有静态重定位和动态重定位两种方式。
文件管理
文件管理系统是对操作系统中文件进行统一管理的一组软件和数据(文件)的集合,称为管理系统。文件系统对文件的访问有顺序访问和随机访问。顺序访问是依次对文件中的信息进行访问。随机访问是指对文件中的信息按照任意的次序随机的读取。文件系统对空闲空间的管理包括对空闲空间的组织、分配和回收。常用的管理方法有位图法、索引法和链接法。文件控制块是系统为每个文件创建的用于描述和控制文件的数据结构。其中包含文件的唯一标识。
作业管理
作业是为完成用户的一次计算任务(或一次事务处理)所做的所有工作的总和。由程序顺序和说明书组成。作业管理程序负责管理作业的进入执行和撤销。作业有4种状态:提交、后备、执行和完成。作业的转换图如下(网络摘抄):
作业的调度是为了完成作业的各个状态转换的。常用的调度算法有:先来先服务、短作业优先、响应比高优先、优先调度算法和均衡调度算法。
设备管理
设备管理的任务是保证在多进程环境下,在多个进程竞争使用设备时,按照一定的策略分配和管理各种设备、控制设备的各种操作。完成输入输出设备与主存之间的数据交换。
数据库
关系数据库基础
数据库从系统体系结构上可以分三个模式,最底层是内模式,内模式负责数据库的数据存储方式和数据结构的描述。主要信息是数据库内部的组织方式。一个数据库只有一个内模式。其上层是概念模式,概念模式在一个数据库中也只能有一个,是数据库整体逻辑结构的完整描述。需要做数据的安全性约束和完整性等数据控制的工作。外模式:外模式可以有多个,用户可以看见和操作外模式中的数据,外模式主要负责跟用户进行交互。
ER模型,在数据库设计阶段用来描述要存在数据库中的信息和存储类型。ER模型由实体、属性和联系构成。实体用矩形框表示,在框上写实体名;属性用椭圆框表示,写的是属性名;实体间联系用的是菱形表示,写的是相互间的关系。ER模型也称为ER图。
数据库表结构在设计的时候,有一些相应的规范。最低的是一范式,最高的是5范式。但是工作中有时为了实际业务需要,并不一定是范式越高越好。
数据库中的事物,是一个执行后只存在成功或者失败两种可能的操作。事物是不可分割的逻辑工作单位。事物包含四个特性:ACID 原子性、一致性、隔离性和持久性。在实际线上运行的系统中,往往会对关键数据和日志做镜像。以保证系统在遇到故障后可以不丢失数据。
关系数据库设计
数据库设计是为了创建一个符合业务需要的数据库。可以通过直观设计法、规范设计法、计算机辅助法和自动化设计法等方法进行设计。常用的有基于三范式、ER图的设计方法。数据库设计步骤为:概念分析→概念结构设计→逻辑结构设计→物理结构设计→数据应用程序设计→数据库运行和维护。
分布式数据库
分布式数据库系统是针对物理上分散、逻辑上统一的需求提出的一种数据库管理系统。它的特点是集中控制性、数据独立性、数据冗余可控性、场地自治性和存取的有效性。分布式数据库从结构模式上分为4层:全局外层、全局概念层、局部概念层、局部内层。在各层有相应的层间映射。
商业智能
商业智能是对商业数据进行搜集管理和分析的过程。是数据仓库、数据分析处理、数据挖掘等相关技术走向商业应用后形成的一种应用技术。
数据仓库是企业数据沉淀、清洗后统一的存放位置。一个公司只有一个数据仓库,而且数据仓库中的数据很少或者不会产生更新和删除的操作。数据库中的数据,进行抽取、清理转换后装入数据仓库。分析服务器通过对数据仓库中的数据进行挖掘分析,得出有价值的商业信息。
数据仓库的实现步骤分有:规划、分析、抽取数据、清洗、集成装载、数据仓库设计、数据仓库管理、分析报表查询、数据仓库性能优化及数据仓库的部署发布等步骤。
数据挖掘是从大量的、不完全的、模糊的、随机的数据中提取出隐含的、事先不知道的具有价值的信息和知识的过程。传统分析是根据已有规则去分析数据。数据挖掘是在只有海量数据的情况下,通过挖掘产生相应数学模型的过程。数据挖掘现在比较常见用于推送等功能。
网络知识
网络七层
国际标准化组织公布的网络七层参考模型,模型共7层,每一层都在它的下一层提供服务的基础上提供更高级的服务。7层由低至高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。每层都有对应的协议集。实际上使用最多的是TCP/IP模型。TCP/IP分层模型由4层构成,分别是:应用层、传输层、网际层、网络接口层。IP地址主要用的有IPV4和IPV6 。
TCP/IP是个协议族,包含多种协议,TCP/IP 与ISO/OSI模型的对比图如下:
网络安全
计算机网络安全指的是,计算机和网络系统中的软件、硬件及数据不因为偶然或者恶意的原因遭到破坏、更改、泄露。使系统可以连续、不间断的提供服务。网络安全本质是信息安全,确保信息在传输、存储和访问中不会被窃取、篡改和非法操作。
网络攻击,指的是任何非授权的操作。网络攻击的范围从使服务无法提供服务到完全破坏或控制服务器。网络攻击会导致服务安全出现风险。目前网络安全的措施有:数据加密、数字签名、身份认证、防火墙和入侵检测等
vpn
vpn 是虚拟专用网络。是建立在公用网络上的,由一群特定用户设置的专用通信网络。vpn 实际是运行在公网,但是用户在操作的时候,感觉是在操作局域网。vpn之外的用户无法访问vpn内部的网络资源。实现VPN主要的关键技术有:隧道技术、加解密技术、密钥管理技术和身份认证技术。
VPN 目前有三种解决方案:内联网、外联网和远程接入。
存储及负载均衡
磁盘阵列技术,磁盘阵列技术是一种由多块廉价磁盘构成的冗余阵列,使用磁盘阵列可以建立冗余的数据,增强容错、提高容量、提升性能。网络存储技术,采用面向网络的存储体系。将数据存储在存储服务器,服务器在访问数据时,通过网络进行访问。网络存储结构大致分三种:直连存储、网络存储和存储区域存储。
负载均衡技术
负载均衡是将多个服务器组成一个服务器集合。按照一定的方式,对外提供服务。提升访问速度和用户体验度。负载均衡分为两种方式:1.不同的请求分发到不同的服务器,每个服务器提供服务。2.一个请求链接到一台服务器,服务器将执行的具体逻辑进行分发,执行完成后统一返回。
服务器集群是将多台计算机共享相同的数据存储空间。在一个节点宕机后,另一个节点可以主动接管其上运行的服务。
多媒体
基本概念
什么是媒体:媒体是承载信息的载体,又称为媒介。媒体分为两部分,一部分是表示信息的载体,如文本、图片、音频等。另一部分是存储信息的载体,如磁盘、纸张、光盘等。媒体种类分为5类:感觉媒体、表示媒体、显示媒体、存储媒体和传输媒体。
什么是多媒体:多媒体指的是多种媒体相结合,形成一个可以组织、存储、操作信息的集成环境和交互系统。多媒体技术是以数字化为基础,对多媒体信息进行处理、展示、存储、传输等操作集成为一个交互性良好的系统的技术。
压缩编码
数据压缩编码可以分为两大类:1是无损压缩编码法,也称为冗余压缩法或熵编码法;2是有损压缩编码法,也称熵压缩法。
系统性能
系统性能需要考虑的部分既包含硬件性能,也包含软件性能。基友部件性能,又有综合性能。
指标
对于不同的部件,有不同的性能标准。如:计算机,对计算机评价的指标主要有:CPU主频、运算速度、运算精度、内存大小、磁盘的存取时间、数据处理速率等。对于路由器,性能指标主要有:吞吐量、路由表能力、丢包率、时延、vpn支持能力、端口硬件队列数、各种协议的支持程度等。对于交换机,对交换机的性能指标有:支持的网络类型数、交换支持数、支持协议数、冷却系统、负载均衡等。网络,对于网络的指标有:各级性能指标、吞吐量。操作系统,对于操作系统的指标主要有:系统的可靠性、吞吐量、响应时间等。数据库,对于数据库的指标有:数据库最大容量、索引上限、最大并发事物处理能力、最大连接数等。
计算
性能计算的主要方法有定义法、公式法、程序检测法和仪器检测法。在实际应用中,往往是对常用性能指标进行复合计算,然后就通过算法加权处理得到最终结果。
设计
性能设计即为性能调优,当系统性能需要进行优化时,通过一系列调整,优化系统的性能。如,对于数据库系统,通过优化cpu、内存的使用状态,优化数据库设计、优化数据库管理、优化日志文件等提高系统可用性,优化响应时间、提高并发数。
评估
性能评估是对一个系统的性能进行各项检测,目的是为性能优化提供参考。基准测试程序:把应用程序中用的最多、最频繁的核心程序作为评级计算机性能的标准程序,这些程序就是基准测试程序。常见的web服务器性能评测方法有:基准程序测试、压力测试和可靠性测试。