计算机基础
- CPU
- 内存
- 操作系统OS
- 命令行
- git版本控制器
CPU
运算器+控制器+寄存器,用于控制时间、处理指令、执行操作及处理数据。
目前大多数的CPU实际上集成了多个中央处理单元(CPU的核心),即所谓的多核心处理器,这些核心可以分别同时执行程序指令。
- 很多CPU核心都支持单指令多数据流(SIMD),提供指令级的并行功能,单个指令可以同时操作多组数据。
- 单个多核CPU提供线程级的并行,多个核同时执行多个指令流,同时处理多个数据流。
- 多个多核CPU可以提供进程级的并行功能,多个CPU同时运行多个进程,每个进程又可以有多个线程,同时处理多个数据流。
- CPU主频:CPU在每秒内发出的时钟脉冲信号的个数。常用的单位是GHz,如主频为4.0GHz的CPU,每秒可产生40亿个时钟脉冲信号。通常主频越高的CPU,单位时间内执行程序指令的速度越快。
内存
是很多微型开关组成的存储数据的硬件,其中每个开关的开合状态分别代表0和1
- 每个开关的状态称为一个位(bit),是计算机中内存的最基本单位。
- 8个为组成一个字节(Byte)
- 需要对内存中的每个字节进行编号,即物理内存地址
- 计算机的内存结构是线性的,可以看成由很多可以存储0或1小格子组成的长条形结构
- 32位计算机,用32位的二进制表示内存物理地址,最大可支持 。
- 64位计算机,用64位的二进制表示内存物理地址,最大可支持 。
操作系统OS
简介 : OS是我们操作计算机硬件的帮手,而且很多时候我们还需要计算及同时处理多个任务,每个任务又可能有多个执行流程,但问题是计算机可利用的计算和存储资源都是有限的。所以OS的功能:在硬件资源有限的条件下,实现多任务的并发运行,尽量提高硬件资源的利用效率,提供资源访问的冲突协调机制。
进程:
- 是OS进行计算机资源分配的最小单元。
- 是OS对正在运行的程序的一种抽象。
- 是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其他各种系统资源组成。
线程: - 是CPU核心调度和分配的基本单位。
- 每个进程至少有一个主执行线程,主执行线程终止了,进程也就随之终止。
- 除了进行主线程之外,一个进程还可以创建更多的线程。
- 一个进程的所有的线程共享访问进程拥有的资源,但不能直接访问其他进程拥有的资源。
- 线程是用逻辑内存地址来访问进程的虚拟地址空间。
- 操作系统为每个进程内的线程提供资源的协调访问机制,如互斥锁(Mutex)和信号量(Semaphore)
总结:
- 计算机的计算和存储资源是有限的。
- 计算机能表示的信息也是有限的。
- 程序设计者的任务是尽可能高效利用有限的计算和存储资源,完成更多的任务的处理。
命令行
操作系统中的各种“器”(应用程序):
- 操作系统命令行解释器:解释执行操作系统及启动应用程序,e.g.,terminal,bash,cmd shell,prompt等。
- 编辑器:编辑文本文件的应用程序,如vim,emacs,word,wps等。
- 编译器:把代码转化为二进制程序和库的应用程序,用于编译型语言,如C/C++,Fortran等。
- 调试器:用读入二进制程序、交互执行及查看程序运行状态的应用程序,如gdb等。
- Python解释器:用来解释python命令的命令行。(进入方式:在终端输入
python3
进入原始python解释器,输入ipython3
进入提高版本的交互式python。 - 集成开发环境:集各种“器”于一身的应用程序,给用户提供一个友好便捷的程序开发环境,如VS Code, pycharm, spyder。