计算机硬件
现代的计算机应该由运算器(算术逻辑与运算),控制器(执行指令),存储器(存储数据和指令),输入设备和输出设备(通信),其中处理器单元是计算机系统最智能的部分,处理器单元也成为CPU,包括了3个基本组成部分:
- 算术逻辑单元
算术逻辑单元或ALU是CPU中控制所有算术运算和逻辑的电路,负责执行算术运算和逻辑运算- 寄存器
在CPU内部负责存储指令和数据- 控制单元
用来协调其他部分动作以执行程序指令的电路,并不执行指令本身,而是负责控制其他单元,把内存中的指令和数据传送到寄存器
除了上述提到的硬件,计算机还需要可以存储指令集的存储器,因此就需要内存。内存又分为随机存储器(RAM)和只读存储器(ROM),RAM允许CPU依据所求访问特定位置的存储器,允许修改和删除,但是其存储的数据不能被永久存储。而ROM能够永久保存计算机生产商放置在系统中的程序和数据,但是无法修改和删除。
内存的作用在于可以存储:
当前程序指令
程序要处理的数据
执行程序指令时的中检结果
值得注意的是,虽然内存用来存储CPU所需要的数据,但是CPU的处理速度是远远快于从内存中读取的速度的,因此就需要采用CPU缓存(Cache Memory)这一位于CPU和内存之间的临时存储器,解决CPU运算速度与内存读写速度不匹配的矛盾。现阶段都是采用三级缓存。
程序的执行
程序由指令组成,程序启动前,指令和数据都存放在存储器中,形式上没有差别,都是0/1序列。任何要计算机完成的工作都要先被编写成程序,然后将程序和原始数据送入主存并启动执行。一旦程序被启动,计算机应能在不需操作人员干预下,自动完成逐条取出指令和执行指令的任务。

为了方便用户与计算机交流,同时提高应用程序的资源利用率,于是便诞生了操作系统,操作系统是所有软件和硬件的控制程序的集合。总的来说,操作系统主要的功能在于:
向用户和应用提供一个控制底层硬件功能的接口
向各用户的应用程序分配硬件资源
按用户要求加载和执行程序
Unix发展
1965年贝尔实验室(Bell Labs)、通用电气(General Electric)和麻省理工学院(MIT)欲共同打造MULTICS(Multiplexed Information and Computing Service)操作系统。
1969年贝尔实验室退出MULTICS
在此期间ken Tphmpson在multics制作了一款游戏:space Travel(星际旅行)跑在multics。
在bell 退出multics之后,ken Tphmpson不能使用multics的运算能力了,想要使用需要付费,所以决定自己写一个小型系统程序可以跑起自己的游戏。
于是ken找到一台老古董PDP-7,使用汇编语言编码,在上面写了系统,于是戏称为”UNiplexed Information and Computing Service”(UNICS),后改名为unix,并不断发展完善。
Linux
Linux的名称是linux is not unix的缩写,Linux是开源免费的的类unix操作系统,主要用于服务器端。Linux操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU计划、POSIX 标准和Internet 网络。
其中最著名的是Linux哲学思想:
一切都是一个文件(包括硬件)
小型,单一用途的程序
链接程序,共同完成复杂的任务
避免令人困惑的用户界面
配置数据存储在文本中
Linux特点
Linux操作系统一直是广泛应用于的操作系统,许多软硬件厂商都设计开发采用Linux操作系统的产品。而Linux系统能大范围的应用于,也是因为Linux系统所具有的特点优势。
- 是一个完善的支持多用户、多任务、多进程、多CPU的系统
- 具有很高的系统稳定性和可靠性
- 具有很高的系统安全性
- 有完善的网络服务,支持HTTP、FTP、SMTP、POP、SAMBA、SNMP、DNS、DHCP、SSH、TELENT等
- 是基于GNU许可,自由开放的系统
- 有大量的第三方免费的应用程序
- 得到众多业界厂商的支持,如IBM、Oracle、Intel、HP、MOTO、Google等
- 有完善的大型数据库平台,包括Oracle、DB/2、Sybase、MySQL、PostgreSQL等
- 有完善的图形用户界面,包括GNOME、KDE等
- 有完善的开发平台
Linux系统架构
- 内核:主要提供系统服务(不能被直接调用)
- shell:壳,接口/界面
- 命令行shell——linux:sh,bash 等
- 图形化shell——linux:gnome,kde 等

Linux环境
本人的Linux环境由VMware Workstation Pro下运行的虚拟机构成,在可以的情况下也使用Git Bash,同时也会使用树莓派下的Debian,意在打造真实的Linux环境,来进行后续一系列的学习。