计算机系统名词扫盲
计算机系统名词扫盲
越低层,越特化,越高层,越统一。
软件的功能
- control 控制
- monitor 监视
- data manipulation 数据操作
firmware
中文:固件
港台:韧体
法语/西语/德语:firmware
一类低层的软件
例如:BIOS
BIOS, Basic Input/Output Systems
一种低层软件,在启动时执行硬件初始化,在运行时服务于操作系统(Operating System)等上层软件。UEFI 是 BIOS 的后继者。
PSU, Power supply unit
中文/港台:供电单元,电源供应器
将插座交流电(市电,mains electricity)转化为电子设备可用的直流电的硬件。
bus
中文:总线
港台:匯流排
一种在不同硬件之间传输数据的通信系统。
ISA, Industry Standard Architecture
一种总线
PCI, Peripheral Component Interconnector
一种总线
peripheral
中文:外部设备,外设
港台:外部装置
法语:Périphérique informatique
西语:Periférico
德语:Peripheriegerät
日语:周辺機器
一种硬件,用于输入或者读取计算机数据的硬件。
chipset
中文:芯片组
用于将 CPU 和其他部分连接的芯片。
例如:南桥芯片,LOM (Lan on motherboard),HPET (High Precision Event Timer)。产品例如 Intel Z790 Chipset。
Motherboard
中文:主板
港台:主機板
ATX Specification
https://web.aub.edu.lb/pub/docs/atx_201.pdf
上图中,绿色的就是主板,整个是机箱(chassis)。
尺寸规定:宽度 305mm,深度 244mm,或者说 12' * 9.6'。
打孔(mounting hole)规定:在哪些位置打孔。
连接器放置:
- PCI 和 ISA 连接器,或者叫拓展槽(Expansion Slots)
- 电源输入连接器
- 硬盘 I/O 连接器
- 前面板 I/O 连接器
- 后面板 I/O 连接器
- 存储器(Memory)模块连接器
- 处理器
crystal oscillator
中文:晶体谐振器
将直流电转化为特定频率的交流电(通常是 14.318MHz)的硬件。这里产生的频率被称为参考频率(reference frequency)。
frequency synthesizer
中文:频率合成器
一种硬件,可以利用参考频率产生多种频率,供其他硬件使用。
时钟 vs 定时器
时钟一定依赖于外部硬件。定时器可以不依赖于外部硬件,但是高精度定时器依赖于外部硬件。
Linux 提供了 clock and time functions。
LAN, Local area network
中文:局域网
一种有限区域内的计算机网络,包括硬件和软件。
例如以太网(Ethernet, 802.3)。以太网是有线连接的,有许多不同的规格,每个有定义的速度(10Mbps,1Gbps,2.5Gbps 等)和线缆类型(双绞线,光纤等)。
WLAN, wireless LAN
通过无线连接实现的局域网。
例如 Wi-Fi(802.11)。
NIC, Network Interface Controller
中文:网卡
用来实现 LAN 等网络的硬件。
Southbridge
中文:南桥
一块用来连接低速硬件的芯片。
SoC, System on Chip
中文:片上系统,或单片系统
将多个系统集成到单个芯片上。
外部存储
- HDD, Hard disk drive,硬盘,或称机械硬盘,使用磁盘存储,使用 SATA 等接口通信。有的需要电源接口,有的由数据接口供电。可以通过硬盘盒转换为 USB 等接口。
- Portable strorage device,移动硬盘。使用磁盘存储,使用 USB 等接口通信。
- USB flash drive,U 盘,一种存储硬件,使用 Flash 芯片存储,也有振荡器、控制器。
- memory card,记忆卡,一块 Flash 芯片。和读卡器组合在一起,等同于 U 盘。
laptop, desktop, workstation, server
Prompt
中文:提示符
在命令行界面中的一组字符,表示用户可以输入了。有一些命令行界面中,还有 rprompt,是显示在界面右侧的。
Environment Variable
修改环境变量,只需要记住四个:删除用 unset 和 export -n,增加用 export 和 declare -x。
Linux clock and time functions
struct timespec {
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
#include <time.h>
int clock_getres(clockid_t clk_id, struct timespec *res);
int clock_gettime(clockid_t clk_id, struct timespec *tp);
int clock_settime(clockid_t clk_id, const struct timespec *tp);
后两个函数用来获取和设置 clock,第一个函数用来获取 clock 的精度。
glibc 和 Linux kernel 支持的 clock 包括
- CLOCK_REALTIME,操作系统层面的 realtime clock,或者叫 Wall time,可以被高权限用户设置。
- CLOCK_MONOTONIC,不可被设置的单调 time。
- CLOCK_PROCESS_CPUTIME_ID,当前 process 的 CPU time。
- CLOCK_THREAD_CPUTIME_ID,当前 thread 的 CPU time。
后两个使用的是 TSC, Time Stamp Counter,记录 CPU 运行的时钟周期数,受到 CPU 频率波动、CPU 节能模式(C-State)、CPU 乱序执行的影响。Intel 后来提出了 constant_tsc,不受频率波动的影响,以及 nostop_tsc,不受节能模式的影响。
而 Wall time 使用的是 kernel parameter 中的 clocksource,可以参考 https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt。
评论
发表评论