编程基础:计算机相关知识

前言:

知不足,然后能自反也;知困,然后能自强也。

本文为笔记性质,主要内容来自慕课网咚咚呛老师的课程《编程必备基础:计算机组成原理+操作系统+计算机网络》。

 

课程大纲

编程基础:计算机相关知识_第1张图片

 

正文:

计算机发展的四个阶段

编程基础:计算机相关知识_第2张图片

超级计算机

功能强,运算速度快,存储量大,多用于技术研究。

编程基础:计算机相关知识_第3张图片

 

编程基础:计算机相关知识_第4张图片

 

冯诺伊曼体系:将程序指令和数据一起存储的计算机设计概念结构。

冯诺伊曼瓶颈:cpu处理速度快,cpu到存储设备之间的数据传输速度慢,cpu和存储器速率之间的问题无法调和,cpu经常空转等待数据传输。

编程基础:计算机相关知识_第5张图片

 

现代计算机结构 

现代计算机结构在冯诺伊曼体系结构基础上进行修改,解决了cpu与存储设备之间的性能差异问题,可以理解为以存储器为核心。

cpu = 运算器 + 控制器 + 存储器

编程基础:计算机相关知识_第6张图片

 

人类语言和计算机语言需要进行语言之间的转换。

程序翻译

编程基础:计算机相关知识_第7张图片

 

程序解释

编程基础:计算机相关知识_第8张图片

 

程序翻译 VS 程序解释

计算机执行的指令都是L0;

翻译过程生成新的L0程序;

解释过程不生成新的L0程序,解释过程由L0编写的解释器去解释L1程序;

程序翻译:C/C++

程序解释:python、php、javascript

翻译+解释:java

 

计算机的层次与编程语言

编程基础:计算机相关知识_第9张图片

 

硬件逻辑层:触发器等逻辑电路组成,属于电子工程领域;

微程序机器层:编程语言是微指令集,微指令所组成的微程序直接交由硬件执行;

传统机器层:编程语言是CPU指令集(机器指令),编程语言和硬件直接相关;

微指令 < 微程序 = 机器指令

操作系统层:向上提供了简易的操作界面,向下对接了指令系统,管理硬件资源;

汇编语言层:编程语言是汇编语言,可以直接翻译成可执行的机器语言,完成翻译过程的程序是汇编器;

高级语言层:常见的高级语言有python、java、C/C++等;

应用层:满足某种用途的应用,如excel;

 

容量单位:

在物理层面,高低电平记录信息,理论上只认识0/1两种状态,0/1能表示的内容太少,就有了更大的容量表示单位。

编程基础:计算机相关知识_第10张图片

 

电信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码

编程基础:计算机相关知识_第11张图片

中文编码集 GBK:GBK收录了21003个汉字,支持中日韩汉字。

万国码 Unicode:定义了世界通用的符号集,UTF-8 以字节为单位对Unicode 进行编码。

 

操作系统统一管理计算机资源,提供了用户与计算机之间的接口。

编程基础:计算机相关知识_第12张图片

 

操作系统的演进

编程基础:计算机相关知识_第13张图片

多道程序设计

早期批处理系统只能一次处理一个任务,多道程序设计使得批处理系统可以一次处理多个任务;

多道程序设计是指在计算机内存中同时存放多个程序,多道程序在计算机的管理程序下相互穿插运行;

 

操作系统相关概念

并行:两个或多个事件可以在同一时刻发生;

并发:两个或多个事件可以在同一时间间隔发生;

编程基础:计算机相关知识_第14张图片

 

进程是系统进行资源分配和调度的基本单位,作为程序独立运行的载体保障程序的正常执行。

在多道程序环境下,允许多个进程并发执行;

多个程序可以同时使用主存资源,资源共享根据属性分为互斥共享形式和同时访问形式。

进程在使用资源时可能需要等待或放弃;

进程的执行不是一气呵成的,是以走走停停的形式推进;

编程基础:计算机相关知识_第15张图片

 

线程是操作系统进行调度的最小单位,一个进程可以有一个或多个线程,进程的线程共享进程资源。

编程基础:计算机相关知识_第16张图片

 

进程的五状态模型

编程基础:计算机相关知识_第17张图片

 

计算机网络主要由一些通用的、可编程的硬件互连而成,通过这些硬件,可以传送不同类型的数据来支持各种应用。

编程基础:计算机相关知识_第18张图片

现代互联网的主要线路

分层实现不同的功能。

层次结构设计的基本原则:保证数据通路顺畅、识别目的地计算机、目的计算机状态、数据是否错误。

OSI最终没有成为广为使用的标准模型,TCP/IP 在全球范围成功运行。

OSI七层模型

编程基础:计算机相关知识_第19张图片

TCP/IP 四层模型

编程基础:计算机相关知识_第20张图片

 

计算机网络的性能指标

发送时延:受限于计算机网卡;

排队时延:数据包在网络设备中等待被处理的时间;

传播时延:受限于传输介质;

处理时延:数据包到达设备或者目的地机器被处理所需要的时间;

总时延 = 发送时延 + 排队时延 + 传播时延 + 处理时延;

往返时间RTT:表示数据报文在端到端通信中来回一次的时间,是评估网络质量的一项重要指标,通常使用 ping 命令查看。

 

“帧”是数据链路层数据等基本单位,发送端在网络层的一段数据前后添加特定标记形成帧,接收端根据前后特定标记识别出帧。

数据链路层的数据帧不是无限大的,数据帧过大或过小都会影响传输的效率,最大的传输单元是MTU,以太网的MTU一般为1500字节。

编程基础:计算机相关知识_第21张图片

 

 

以太网协议:是一种使用广泛的局域网技术,应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输。

 

未完待续吧。。。

你可能感兴趣的:(学习笔记,计算机基础)