前言:
知不足,然后能自反也;知困,然后能自强也。
本文为笔记性质,主要内容来自慕课网咚咚呛老师的课程《编程必备基础:计算机组成原理+操作系统+计算机网络》。
课程大纲
正文:
计算机发展的四个阶段
超级计算机
功能强,运算速度快,存储量大,多用于技术研究。
冯诺伊曼体系:将程序指令和数据一起存储的计算机设计概念结构。
冯诺伊曼瓶颈:cpu处理速度快,cpu到存储设备之间的数据传输速度慢,cpu和存储器速率之间的问题无法调和,cpu经常空转等待数据传输。
现代计算机结构
现代计算机结构在冯诺伊曼体系结构基础上进行修改,解决了cpu与存储设备之间的性能差异问题,可以理解为以存储器为核心。
cpu = 运算器 + 控制器 + 存储器
人类语言和计算机语言需要进行语言之间的转换。
程序翻译
程序解释
程序翻译 VS 程序解释
计算机执行的指令都是L0;
翻译过程生成新的L0程序;
解释过程不生成新的L0程序,解释过程由L0编写的解释器去解释L1程序;
程序翻译:C/C++
程序解释:python、php、javascript
翻译+解释:java
计算机的层次与编程语言
硬件逻辑层:触发器等逻辑电路组成,属于电子工程领域;
微程序机器层:编程语言是微指令集,微指令所组成的微程序直接交由硬件执行;
传统机器层:编程语言是CPU指令集(机器指令),编程语言和硬件直接相关;
微指令 < 微程序 = 机器指令
操作系统层:向上提供了简易的操作界面,向下对接了指令系统,管理硬件资源;
汇编语言层:编程语言是汇编语言,可以直接翻译成可执行的机器语言,完成翻译过程的程序是汇编器;
高级语言层:常见的高级语言有python、java、C/C++等;
应用层:满足某种用途的应用,如excel;
容量单位:
在物理层面,高低电平记录信息,理论上只认识0/1两种状态,0/1能表示的内容太少,就有了更大的容量表示单位。
电信100M光纤,测试峰值速度只有12M每秒?
网络常用单位为Mbps
100mbps = 100Mbits/s = (100/8)MB/s = 12.5MB/s
CPU速度
一般体现为CPU的时钟频率,单位赫兹(Hz),表示每秒中的周期性变动重复次数;
CPU速度表示高低电平变化的频率,主流CPU的时钟频率都在2GHz以上;
2GHZ = 2*1000^3Hz = 每秒20亿次
字符编码集
ASCII码
中文编码集 GBK:GBK收录了21003个汉字,支持中日韩汉字。
万国码 Unicode:定义了世界通用的符号集,UTF-8 以字节为单位对Unicode 进行编码。
操作系统统一管理计算机资源,提供了用户与计算机之间的接口。
操作系统的演进
多道程序设计
早期批处理系统只能一次处理一个任务,多道程序设计使得批处理系统可以一次处理多个任务;
多道程序设计是指在计算机内存中同时存放多个程序,多道程序在计算机的管理程序下相互穿插运行;
操作系统相关概念
并行:两个或多个事件可以在同一时刻发生;
并发:两个或多个事件可以在同一时间间隔发生;
进程是系统进行资源分配和调度的基本单位,作为程序独立运行的载体保障程序的正常执行。
在多道程序环境下,允许多个进程并发执行;
多个程序可以同时使用主存资源,资源共享根据属性分为互斥共享形式和同时访问形式。
进程在使用资源时可能需要等待或放弃;
进程的执行不是一气呵成的,是以走走停停的形式推进;
线程是操作系统进行调度的最小单位,一个进程可以有一个或多个线程,进程的线程共享进程资源。
进程的五状态模型
计算机网络主要由一些通用的、可编程的硬件互连而成,通过这些硬件,可以传送不同类型的数据来支持各种应用。
现代互联网的主要线路
分层实现不同的功能。
层次结构设计的基本原则:保证数据通路顺畅、识别目的地计算机、目的计算机状态、数据是否错误。
OSI最终没有成为广为使用的标准模型,TCP/IP 在全球范围成功运行。
OSI七层模型
TCP/IP 四层模型
计算机网络的性能指标
发送时延:受限于计算机网卡;
排队时延:数据包在网络设备中等待被处理的时间;
传播时延:受限于传输介质;
处理时延:数据包到达设备或者目的地机器被处理所需要的时间;
总时延 = 发送时延 + 排队时延 + 传播时延 + 处理时延;
往返时间RTT:表示数据报文在端到端通信中来回一次的时间,是评估网络质量的一项重要指标,通常使用 ping 命令查看。
“帧”是数据链路层数据等基本单位,发送端在网络层的一段数据前后添加特定标记形成帧,接收端根据前后特定标记识别出帧。
数据链路层的数据帧不是无限大的,数据帧过大或过小都会影响传输的效率,最大的传输单元是MTU,以太网的MTU一般为1500字节。
以太网协议:是一种使用广泛的局域网技术,应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输。
未完待续吧。。。