计算机网络概述
将分散,具有独立功能计算机系统,通过通信设备与线路连接起来,有功能完善的软件实现资源共享
与多终端系统的区别
1.传统设备系统有中央处理器,多个联机终端及一个多用户操作系统 (一个中央处理器处理其他终端设备)
2.计算机网络系统是由许多独立的计算机 (拥有自己的资源和数据处理能能力)组成
计算机网络组成
物理组成:硬件:主机 ,前端处理器/通信处理器(网卡 ,调制解调器) ,路由/交换机(集线器等), 通信线路
软件:实现资源和共享的各种软件
协议:
语法--传输数据格式
寓意--控制协调,差错机制
时许--各种操作的时间顺序关系
* ntp(网络时间协议),stp (生成树)
网络架构有三层
接入层 汇聚层 核心层
接入层:就是二层交换机键入设备,把终端数据引入到汇聚层里
汇聚层:把数据和汇聚起来送往核心层
核心层:(运营商)核心交换机就是把数据极快速度传出去
功能组成 :
资源子网(边缘部门) 通信子网(核心部分)
通用协议
常见使用的就是 tcp/ip
计算机网络分类
按分布范围划分:
按拓扑结构:
计算机网络体系结构 (全球提出 osl 网络体系结构)
应用层 ah(数据) 头部封装的意思
表示层 ph 表示层封装
会话层 sh 会话层封装
传输层 th 传输的是 段
网络层 nh 传输的是 包/报文
数据列路层 dh 传输的是 帧
物理层 把数据转化成 二进制 比特流
每相两层都有联系(服务接入点) servoce access point
数据传输就是一个自上而下发送过程
当完成服务传输时候 发送方怎么发的包 那么 接受方怎么回的包
七层介绍
物理层:
1.两通信硬件能做到收发传输数据的作用
2.定义电气,机械,功能,规程特性,并建立拆除物理链路
数据链路层:
提供数据的建立,维护拆除,负责数据帧的封装传输同步 , 数据帧的封装传输与同步,错误的检测,流量控制。(二层 转发数据帧 和三层是有区别的)
网络层
1.提供逻辑IP地址所需通信过程 负责连接不同的媒体类型,负责连接不同媒介类型 ,选择不同路由协议的最佳路径,在最佳路径上负责路由数据包
inan 国际地址分配机构 规定 一些标准端口 协议
传输层:
提供端口 ,端与端的连接 ,建立维护拆除虚拟链路,并确保数据传输的可靠性 ,数据检测
tcp/udp : tcp保持传输可靠性,效率不行 udp 相反
会话层:两个应用程序建立,维护并拆除会话,负责建立和管理应用程序之间的通信
表示层: 应用层协商数据转化,解决不同系统之间的通信语法问题确保键入的数据是可读的 提供数据加密 (对称加密 使用同样的密钥 非对称加密 私钥 公钥 数据双方的用对方的公钥加密 只有手中的私钥才能解密 哈希加密(md5)加密数据固定长度256 列如区块链技术,不可逆技术 ,碰撞率极低 )
应用层:应用进程的应用 为应用进曾提供网络服务 提供用户之间的接口
将osl 七层 合并成 4 层
应用层 传输层 互联网层 网络接口层
4段 3包2帧1比特流
计算机硬件概述
基础知识
计算机有 控制器 运算器 存储器 输入设备 输出设备 五个设备组成
cpu中央处理器 也称 微处理器 是计算机最核心的部件,主要有 控制器 寄存器 和总部总线等组成,用于数据的加工处理,完成各种算数,逻辑运算及控制功能
存储器:是计算机系统中的记忆设备,分为内存存储器 cache 和外存储器
输入输出和输出 设备称为 外部设备,输入设备用于输入 原始数据及 各种命令
cpu 体系结构
控制器的组成:
程序计数器:用于指出下1条指令在主存中存放地址,cpu根据层序计算器的内存去主存处取得指令
数据寄存器:用于暂存从内存储器中读出或写入的指令或数据
指令寄存器:用于保存当前正在执行的这条指令代码
地址寄存器:用于存放cpu当前的访问的内存大单元地址
指令译码器:用于对获取的指令进行译码,产生该指令的所需要系列操作信号,以控制计算机各部件完成该指令
运算器的组成:
算术逻辑单元:用于进行各种逻辑运算,算术运算
通用寄存器(数据寄存器,累加寄存器,地址寄存器三个寄存器组成的):存放操作数中间结果各种地址信息的一系列存储单元
数据暂存器:用来暂存从“主存储器”读出数据
程序状态寄存器(psw):用来存放体现当前指令结果的各种状态信息和控制信息
计算机中的一条指令就是机器语言的一个语句
一条指令有两个部分构成
操作码 :用于完成的操作
地址吗:用于操作数的地址,而操作值得是参加运算的数据激起所在单元地址
结论:Cpu中指令的执行分为:取指令,取操作数,执行操作数
总线(bus)是连接 计算机有关的一组信号线,是计算机的用来传输信息的公告通道
总线分为
内部总线
系统总线
按传输信号的种类。可以飞为3类
数据总线 data bus
地址总线 auccrss bus
控制总线 contro bus
cpu体系结构
为了提高操作系统的效率,人们最粗选择向系统中添加更复杂的指令,为了方便升级,成为复杂指令集和精简指令集
20% rlsc 使用的最多的
流水线技术
1.早期指令的执行顺序,现行执行完毕后开始读取后继指令
2.流水先技术,是将一个重复时许分解成很多子过程,而每一个字过程都有小的在其专用功能端上 与其他的子过层同时执行
3.充分利用空闲时间
流水线技术
每经过一个t时间,就会有一条指令执行完毕
因此,执行n条指令的总时间为:(t1+t2+t3)+(n-1)x t(这个t 是上面的最长时间)
其中t是每个部件执行的时间,n是表示需要执行的指令数量
*从上面可以发现执行的总时间主要取决于 流水操作中最长时间的那个操作
流水线性能主要有(吞吐量)(加速比)(效率)这三个参数来决定 的
吞吐率:指的是计算机中的流水线在单位时间内可以处理或执行指令的个数
tp= n/t
n表示指令的条数,t表示执行完n 指令的时间
加速比:是指某一流水线采用串行顺序模式的工作速度与采用流水模式的工作速度的比值,加速比数越大,说明这条流水线的工作安排越好
R=T1/T2
流水技术 的计算
按照顺序执行的方法 (4+2+3)*600=5400 秒
按照流水线技术 (4+2+3)+(600-1)*4
t1+t2+t3)+(n-1)x t(这个t 是上面的最长时间比如这个取指令 4 ns)
内存结构与寻址
在计算机中,存储器按照数据存存取方式可以分为5类:
随机存储器 (ram):可以对那种模块进行存储
只读存储器 (rom)
顺序存储器 (sam)存储的信息与存储的位置相关,磁带机
直接存储器 (dam)直接想这个信息存取
相连存储器 (cam)根据内容进行存取 ,比如缓存
在高速缓存中,如直接访问主存的时间为(m),访问高速缓存的时间(n) cpu访问的平均时间(l),设命中率为 h ,满足下列公式
计算cpu访问内存平均时间
L=M*(1-H) +N *H
由于 cache的内容有限,由此需要用淘汰算法来决定将那些数据删除,主要有
三种淘汰算法: 先进先出算法 最近最少使用算法 随机算法
内存在逻辑上表示一个一个的格子,而每一个格子都有编号,该编号就有内存地址
编制也就是给每个格子编号,通常是十六进制数字表示,按照从小到大顺序,排成为内存地址,每一个内存地址大小通常8 bit 也就是一个字节
内存容量=最大地址-最小地址+0
实际的存储器总容量,是由一片多片存储芯片配控制电路构成其容量为w*b
w为存储单元的数量
b表示word 有多少bit组成
内存计算芯片
B5000H - DCFFFH+1 =28000 转化成十进制约为 160 k
因为系统按双字节编制因此总容量为 160k*16bit
因此存储容量为16k*16bit
所以 160k*16bit / 16k*16bit =10 片
操作系统概念
理论知识
操作系统是用户与计算机之间的桥梁
用户通过操纵系统(管理)和(使用)计算机的硬件来完成各种运算和任务
各类应用软件及编译软件均需要允许在操作系统之上
目前主流的操作系统包括:windows,linux,macos 等
操作系统:是计算机的核心软件,负责管理和监控系统中的所有硬件和软件资源
其他系统软件:主要是一些编译程序和数据库管理系统等
应用软件:包含常见的软件,管理软件和某行业应用软件
进程——操作系统正在运行的程序以及与相关的资源的集合
进程的运行有三种基本状态:就绪态,运行态,阻塞态
树形目录结构
绝对路径:指定是从根目录\开始的完整文件名;即,他是有根目录开始的所有目录名以及文件名构成
相对路径:这个文件所在的路径引起的其他文件的路径相关;(绝对路径可以从磁盘到根本的位置、比如:C:\Users\1642\..\.\\\.\.\.\.\.\.\ 相对路径文件就是.\这种位置)
软件开发
软件生命周期
一个软件的产品或系统也要经理孕育,诞生,成长,成熟,衰亡的过程,一般将过程称为软件的生命周期
通常软件的生命周期包括需求分析,可行性分析,项目开发计划,设计,编码,测试,维护
软件开发的过程中使用的结构框架称之为 软件开发模型
常见的软件开发模型包括6类:瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,混合模型
(我的理解就是按照步骤完成任务,一步一步完成)
(提出软件概念不断地完善这个模型)
(将软件进行模块化有什么需求就添加)
(将螺旋周期进行开始这个将上面的理解整合)
软件生命周期的首要任务
需求分析:一个好的需求应该具有 无二义性 ,完整性 一致性 可测试性 确定性 可跟踪性 正确性 必要性 因此 需要分新人员的杂乱无章的用户 要求 和 期望 转化合理 清晰的需求 ,这就是需求分析的工作
软件需求规格说明书,需求开发活动的产物,软件开发的重要文档之一
需求验证:需求开发的工作复查手段,其目的的是要检验的需求功能的正确性,完整性,清晰性,是否能够反映用户的意愿
软件开发测试
软件开发测试可以分为: 单元测试 集成测试 系统测试 验收测试 回归测试
单元测试:将软件中的基本单元进行的测试
集成测试:指的是一个应用系统中各个部件的联合测试 ,已决定器能否在共同的工作中没有冲突;集成测试就是单元测试的逻辑扩展,其最简单的形式是两个已经测试过的单元组合成一个组件,并测试他们之间的接口
软件设计时需要遵循抽象,模块化,信息屏蔽和模块独立原则,在划分软件系统模块的时候,应做到高内聚低耦和(意思是在程序功能模块内部完成减少互相影响)
项目管理
进度安排
甘特图
甘特图 gant : 使用水平条状图,用很轴表示时间,从横轴表示时间,纵轴表示活动,线条表示整个时间计划和实际活动的完成的情况
优势:直观表明任务计划何时进行,以及实际的进展速度与计划的要求对比
缺陷:难以确定整个项目的关键点,无法清晰任务之间的依赖关系
计划评审技术 pert
进度安排的常用方法:
计划评审技术 pert :使用箭线图,可描绘 出项目的各种活动的先后次序,标明每项活动的时间或相关的成本
优势:可以给出每个任务的开始时间,结束时间和完成任务时间,还给出任务之间的逻辑关系:可以找出关键路径
缺陷:不能反映出项目的当前进展的情况,也不能反映人物之间的并行关系
列题
计算公式
沟通途径计算
任何一个项目的核心都是人员
为高效的完成项目,人员彼此之间需要有效的沟通
沟通的途径数(沟通次数)= n*n(n-1)/2
n值得是人数
由于需要的花费项目的成本因此应尽量控制团队的规模
软件的知识产权
著作权
著作权:是知识产权的一种特殊情况,因为著作权的取得无须的经过他人确认,就所谓的自动保护原则
著作权法:旨在保护文学,艺术和科学作品作者的著作权,以及与著作权有关的权益
著作权人包括: 作者或能合法取得著作权的公民,法人或组织
著作权的人身权和财产权就是所谓的版权,版权包括一下的权力
权力的保护期限
专利权
职务作品