这些嵌入式相关概念,有没有你熟悉的?
内容提要
本文总结了嵌入式和计算机相关的一些概念,包括操作系统、shell、GUI、内核模式、用户模式、计算机架构、SATA、复用、大型机、批处理、OS/360、多处理系统、分时系统、相容分时系统、云计算、UNIX操作系统、UNIX System V、BSD、POSIX、MINIX、Linux、DOS、MS-DOS、MacOS X、Windows NT、Service Pack、数字版权管理、x86、FreeBSD、X Window System、Gnome、网络操作系统、分布式网络系统、程序计数器、堆栈寄存器、程序状态字、流水线、超标量、系统调用、多线程、CPU核心、图形处理器、存储体系结构、高速缓存行、缓存命中、RAM、ROM、EEPROM、闪存、SSD、虚拟地址、MMU、上下文切换、驱动程序、忙等、中断、中断向量、DMA、总线、PCIe、DMI、USB、BIOS、硬实时系统、软实时系统、进程、地址空间、进程表、命令行界面、进程间通信、超级用户、目录、路径、根目录、工作目录、文件描述符、inode、共享库、DLLs、客户端、服务端、主从架构、虚拟机、Java虚拟机、目标文件、C预处理器。
延伸解读
从概念清单看计算机系统的层次
文章按操作系统、硬件、存储、进程等类别罗列概念,实际反映了计算机系统的层次结构:底层是硬件和内核模式,向上是系统调用、用户模式,再向上是shell、GUI等用户界面。理解这种层次有助于定位每个概念在整体中的位置,避免孤立记忆。
操作系统概念的历史演变线索
文中从批处理、OS/360、分时系统讲到UNIX、Linux、Windows NT,呈现了操作系统从无交互到多用户分时,再到图形界面和现代多任务系统的演变。这些概念不是孤立的,而是解决不同阶段资源管理问题的产物,对比学习能更好理解设计动机。
硬件相关概念的实用关注点
存储体系结构、缓存层次、虚拟地址、MMU、DMA、中断等概念直接关联性能与编程。例如缓存命中影响程序速度,虚拟地址和MMU支撑内存保护,DMA减少CPU介入。了解这些有助于在嵌入式或系统编程中做出更合理的资源使用决策。
进程与文件系统的关键抽象
进程、地址空间、进程表、文件描述符、inode等是操作系统对运行程序和文件的核心抽象。进程是程序的运行实例,地址空间隔离内存,文件描述符和inode则统一了文件访问接口。掌握这些抽象是理解系统调用和进程间通信的基础。
Q&A
操作系统的主要功能是什么?
操作系统是管理计算机硬件与软件资源的系统软件,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务,并提供用户与系统交互的操作界面。
内核模式和用户模式有什么区别?
内核模式下的代码具有对底层硬件的完整且不受限制的访问,可以执行任何CPU指令并引用任何内存地址,通常保留给操作系统的最低级别、最受信任的功能,崩溃会导致整个计算机停止。用户模式是运行用户应用程序时的状态,当应用程序请求操作系统帮助或发生中断或系统调用时,会从用户模式切换到内核模式。
什么是虚拟内存?它有什么作用?
虚拟内存是计算机系统内存管理的一种机制,它使得应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上,它通常被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。使用虚拟内存技术使得大型程序的编写变得更容易,对真正的物理内存(例如RAM)的使用也更有效率。
中断是什么?它在计算机中起什么作用?
中断是处理器在接收到来自外围硬件的异步信号或来自软件的同步信号后,进行相应的硬件/软件处理的机制。发出这样的信号称为中断请求(IRQ)。硬件中断导致处理器通过上下文切换来保存执行状态;软件中断通常作为CPU指令集中的一个指令,以可编程的方式直接指示运行信息切换,并将处理导向一段中断处理代码。中断在计算机多任务处理,尤其是即时系统中尤为有用。
进程和程序有什么区别?
程序本身只是指令、数据及其组织形式的描述,而进程才是程序(那些指令和数据)的真正运行实例。每个进程皆可以同步或异步的方式独立运行。
什么是系统调用?
系统调用指运行在用户空间的程序向操作系统内核请求需要更高权限运行的服务。系统调用提供用户程序与操作系统之间的接口。大多数系统交互式操作需求在内核态运行,如设备IO操作或者进程间通信。
硬实时系统和软实时系统有什么区别?
硬实时系统意味着必须绝对在每个截止日期前完成任务,很少有系统有此要求,例如核系统、一些医疗应用(如起搏器)、大量国防应用、航空电子设备等。软实时系统可能会错过某些截止日期,但如果错过太多,最终性能将下降,一个很好的例子是计算机中的声音系统。
什么是DMA?它有什么优点?
DMA(直接内存访问)是计算机科学中的一种内存访问技术。它允许某些电脑内部的硬件子系统(电脑外设)可以独立地直接读写系统内存,而不需中央处理器(CPU)介入处理。