计算机系统
1.1 冯诺依曼体系结构
计算机的五大组成部件以及相互之间的关系:
- CPU:运算器、控制器、寄存器、缓存
- 存储器:内存,RAM(Random Access Memory)
- Input:下指令,提供数据等;
- Output:输出数据加工的结果;
1.2 常见单位
- 10的12次方 T 二进制 2^40 1024G
- 10的 9次方 G 二进制 2^30 1024M
- 10的 6次方 M 二进制 2^20 1024K
- 10的 3次方 K 二进制 2^10=1024
- 10的 2次方 百
- 10的 1次方 十
- 10的-1次方 分 d
- 10的-2次方 厘 c
- 10的-3次方 m 毫
- 10的-6次方 μ 微
- 10的-9次方 n 纳
1.3 linux的组成定义
linux = kernal + unix实用工具(包含至少一个与用户交互的接口shell程序)
1.4 操作系统提供的功能
- 硬件驱动
- 进程管理
- 内存管理
- 安全管理
- 网络管理
- 文件系统
- ...
1.5 程序管理
1.5.1 程序的组成部分
- 二进制文件
- 库文件
- 配置文件
- 帮助文件
1.5.2 程序包管理工具
- 程序文件打包成一个或有限几个文件
- 安装
- 卸载(根据安装时记录的文件对应表来删除)
- 查询
1.6 终端 Terminal
1.6.1 用户界面
-
GUI
- GNome
- KDE
-
CLI
- bash
- zsh
- csh
- tcsh
1.6.2 远程链接
ssh协议:secure shell
ss -tnl 查看系统是否监听于tcp协议的22号端口;
1.6.3 终端设备
- 物理终端(控制台 console)
- 虚拟终端 (6个 使用Ctrl+Alt+F[1-6]切换)
- 图形终端 (在某一虚拟终端接口运行命令:startx &)
- 伪终端 (pty)
Linux的哲学思想之一:一切皆文件,表现之一:硬件设备也通过文件表示。
- 物理终端:/dev/console
- 虚拟终端:/dev/tty# [1,6]
- 串行终端:/dev/ttyS#
- 伪终端:/dev/pts/#
1.7 Linux的哲学思想
-
一切皆文件:
把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;
-
由众多功能单一的程序组成,一个程序只做一件事,并且做好。组合小程序完成复杂任务。
-
尽量避免跟用户交互:
目标:易于以编程的方式实现自动化任务;
-
使用文本文件保存配置信息
1.8 文件
文件定义:文件是存储空间存储的一段流式数据,对数据可以做到按名存取。
basename /PATH/TO/SOMEFILE 获取路径中的基名 SOMEFILE
dirname /PATH/TO/SOMEFILE 获取路径中的路径 /PATH/TO
1.9 用户态和内核态
计算机硬件资源都是操作系统内核进行管理的,目前操作系统都是基于多任务、多用户的。如果每个用 户进程都可以随便访问操作系统内核的模块,改变状态,那整个操作系统的稳定性、安全性都大大降低 为了将内核程序与用户程序隔离开,在硬件层面上提供了一次机制,将程序执行的状态分为了不同的级 别,从0到3,数字越小,访问级别越高。0代表内核态,在该特权级别下,所有内存上的数据都是可见 的,可访问的。3代表用户态,在这个特权级下,程序只能访问一部分的内存区域,只能执行一些限定 的指令。