1、冯诺依曼结构计算机原理
所有的计算机语言,最终都要变成基本的二进制指令,在冯诺依曼结构计算机上按规矩执行。
CPU从内存取出指令,进行译码和执行,执行时从内存中取出数据放到寄存器中,进行计算,然后把结果写回到内存,如果是跳转指令,CPU则取出跳转目的地的指令继续执行。
其实,计算机最底层的原理,我觉得其实只是各种电路而已,而电路又是由电作为基础的,所以计算机的底层其实说到底是电学。
2、进程和线程
每个进程都有一个被操作系统维护的进程控制块,里面保存了这个进程在运行时的重要信息,是进程能来回切换的重要保证。
而线程则寄居在进程之内,共享进程提供代码和数据的同时,还拥有自己的信息。
3、虚拟内存
有了物理内存,为什么还需要虚拟内存?
一个重要的原因就是给每个进程提供一个由虚拟地址组成的独立王国,给他们造成一个假象:独占内存。
但是在虚拟地址王国做不了什么事情,指令必须在物理内存中才能被执行,操作系统把每个进程的虚拟地址映射到实际地址上去,这里涉及到了分段、分页、页表等等。
程序也不是一下子全部装载到内存的,而是慢慢的,需要用到的时候才进行装载。
4、网络的核心概念
分组交换:
数据被切分为适合网络传输的小块,给每个小块编上号,每个小块都独立走相同甚至不同的网络路径,然后重新排序、组合,这就是分组交换。
TCP/IP:
分组交换的时候,分组数据可能丢失,如果如果处理数据丢失等问题,就是tcp需要做的事情
分为应用层、传输层、网络层、链路层、物理层
socket、http(s):
5、Hash和RSA
如果说https是网络安全通信的一大基石,那么Hash和RSA则是基石的基石。
为了保证消息在传输过程中的私密性、完整性,不可为造性,需要使用到Hash和Rsa