0%

操作系统之核心概念(三):进程相关

1. 硬实时系统(hard real-time system)

  • 硬实时性意味着你必须绝对在每个截止日期前完成任务。 很少有系统有此要求。 例如核系统,一些医疗应用(例如起搏器),大量国防应用,航空电子设备等

2. 软实时系统(soft real-time system)

  • 软实时系统可能会错过某些截止日期,但是如果错过太多,最终性能将下降。 一个很好的例子是计算机中的声音系统。

3. 进程(Process)

  • 程序本身只是指令、数据及其组织形式的描述,进程才是程序(那些指令和数据)的真正运行实例。若进程有可能与同一个程序相关系,且每个进程皆可以同步(循序)或异步的方式独立运行

4. 地址空间(address space)

  • 地址空间是内存中可供程序或进程使用的有效地址范围。 也就是说,它是程序或进程可以访问的内存。 存储器可以是物理的也可以是虚拟的,用于执行指令和存储数据

5. 进程表(process table):进程表是操作系统维护的数据结构,该表中的每个条目(通常称为上下文块)均包含有关进程的信息,例如进程名称和状态,优先级,寄存器以及它可能正在等待的信号灯

6. 命令行界面(command-line interpreter)

  • 是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行

7. 进程间通信(interprocess communication)

  • 指至少两个进程或线程间传送数据或信号的一些技术或方法

8. 超级用户(superuser)

  • 也被称为管理员帐户,在计算机操作系统领域中指一种用于进行系统管理的特殊用户,其在系统中的实际名称也因系统而异,如 root、administrator 与supervisor

9. 目录(directory)

  • 在计算机或相关设备中,一个目录或文件夹就是一个装有数字文件系统的虚拟容器。在它里面保存着一组文件和其它一些目录

10. 路径(path name)

  • 路径是一种电脑文件或目录的名称的通用表现形式,它指向文件系统上的一个唯一位置

11. 根目录(root directory)

  • 根目录指的就是计算机系统中的顶层目录,比如 Windows 中的 C 盘和 D 盘,Linux 中的 /

12. 工作目录(Working directory)

  • 它是一个计算机用语。用户在操作系统内所在的目录,用户可在此目录之下,用相对文件名访问文件

13. 文件描述符(file descriptor)

  • 文件描述符是计算机科学中的一个术语,是一个用于表述指向文件的引用的抽象化概念

14. inode

  • 索引节点的缩写,索引节点是 UNIX 系统中包含的信息,其中包含有关每个文件的详细信息,例如节点,所有者,文件,文件位置等

15. 共享库(shared library)

  • 共享库是一个包含目标代码的文件,执行过程中多个 a.out 文件可能会同时使用该目标代码
  • 动态链接库,它是微软公司在操作系统中实现共享函数库概念的一种实现方式。这些库函数的扩展名是 .DLL、.OCX(包含ActiveX控制的库)或者.DRV(旧式的系统驱动程序)

17. 客户端(clients)

  • 客户端是访问服务器提供的服务的计算机硬件或软件

18. 服务端(servers)

  • 在计算中,服务器是为其他程序或设备提供功能的计算机程序或设备,称为服务端

19. 主从架构(client-server)

  • 主从式架构也称客户端/服务器架构、C/S 架构,是一种网络架构,它把客户端与服务器区分开来。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。有很多不同类型的服务器,例如文件服务器、游戏服务器等

20. 虚拟机(Virtual Machines)

  • 在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于虚拟机这个软件所创建的环境来操作其它软件

21. Java 虚拟机(Jaav virtual Machines)

  • Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行

22. 目标文件(object file)

  • 目标文件是包含目标代码的文件,这意味着通常无法直接执行的可重定位格式的机器代码。 目标文件有多种格式,相同的目标代码可以打包在不同的目标文件中。 目标文件也可以像共享库一样工作

23. C preprocessor

  • C 预处理器是 C 语言、C++ 语言的预处理器。用于在编译器处理程序之前预扫描源代码,完成头文件的包含, 宏扩展, 条件编译, 行控制等操作

24. 设备控制器(device controller)

  • 设备控制器是处理 CPU 传入信号和传出信号的系统。设备通过插头和插座连接到计算机,并且插座连接到设备控制器

25. ECC(Error-Correcting Code)

  • 指能够实现错误检查和纠正错误技术的内存

26. I/O port

  • 也被称为输入/输出端口,它是由软件用来与计算机上的硬件进行通信的内存地址

27. 内存映射I/O(memory mapped I/O,MMIO)

  • 内存映射的 I/O 使用相同的地址空间来寻址内存和 I/O 设备,也就是说,内存映射I/O 设备共享同一内存地址

28. 端口映射I/O(Port-mapped I/O ,PMIO)

  • 在 PMIO中,内存和I/O设备有各自的地址空间。 端口映射I/O通常使用一种特殊的CPU指令,专门执行I/O操作

29. DMA (Direct Memory Access)

  • 直接内存访问,它是计算机系统的一项功能,它允许某些硬件系统能够独立于 CPU 访问内存。如果没有 DMA,当 CPU 执行输入/输出指令时,它通常在读取或写入操作的整个过程中都被完全占用,因此无法执行其他工作。使用 DMA 后,CPU 首先启动传输信号,然后在进行传输时执行其他操作,最后在完成操作后从 DMA 控制器(DMAC)接收中断,完成执行

30. 周期窃取(cycle stealing)

  • 许多总线能够以两种模式操作:每次一字模式和块模式。一些 DMA 控制器也能够使用这两种方式进行操作。在前一个模式中,DMA 控制器请求传送一个字并得到这个字。如果 CPU 想要使用总线,它必须进行等待。设备可能会偷偷进入并且从 CPU 偷走一个总线周期,从而轻微的延迟 CPU。它类似于直接内存访问(DMA),允许I / O控制器在无需 CPU 干预的情况下读取或写入RAM

31. 突发模式(burst mode)

  • 指的是设备在不进行单独事务中重复传输每个数据所需的所有步骤的情况下,重复传输数据的情况

32. 中断向量表(interrupt vector table)

  • 用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址称为中断向量。 中断向量表是中断向量的集合,中断向量是中断处理程序的地址

33. 精确中断(precise interrupt)

  • 精确中断是一种能够使机器处于良好状态下的中断,它具有如下特征
    • PC (程序计数器)保存在一个已知的地方
    • PC 所指向的指令之前所有的指令已经完全执行
    • PC 所指向的指令之后所有的指令都没有执行
    • PC 所指向的指令的执行状态是已知的

34. 非精确中断(imprecise interrupt)

  • 不满足以上要求的中断,指令的执行时序和完成度具有不确定性,而且恢复起来也非常麻烦

35. 设备独立性(device independence)

  • 我们编写访问任何设备的应用程序,不用事先指定特定的设备。比如你编写了一个能够从设备读入文件的应用程序,那么这个应用程序可以从硬盘、DVD 或者 USB 进行读入,不必再为每个设备定制应用程序。这其实就体现了设备独立性的概念

36. UNC(Uniform Naming Convention)

  • UNC 是统一命名约定或统一命名约定的缩写,是用于命名和访问网络资源(例如网络驱动器,打印机或服务器)的标准。 例如,在 MS-DOS 和 Microsoft Windows 中,用户可以通过键入或映射到类似于以下示例的共享名来访问共享资源 \\computer\path。然而,在 UNIX 和 Linux 中,你会像如下这么写 //computer/path

37. 挂载(mounting)

  • 挂载是指操作系统会让存储在硬盘、CD-ROM 等资源设备上的目录和文件,通过文件系统能够让用户访问的过程

38. 错误处理(Error handling)

  • 错误处理是指对软件应用程序中存在的错误情况的响应和恢复过程

39. 同步阻塞(synchronous)

  • 同步是阻塞式的,CPU 必须等待同步的处理结果

40. 异步响应(asynchronous)

  • 异步是由中断驱动的,CPU 不用等待每个操作的处理结果继而执行其他操作

41. 缓冲区(buffering)

  • 缓冲区是内存的临时存储区域,它的出现是为了加快内存的访问速度而设计的。对于经常访问的数据和指令来说,CPU 应该访问的是缓冲区而非内存

42. Programmed input–output,PIO

  • 它指的是在 CPU 和外围设备(例如网络适配器或 ATA 存储设备)之间传输数据的一种方法

43. 轮询(polling)

  • 轮询是指通过客户端程序主动通过对每个设备进行访问来获得同步状态的过程

44. 忙等(busy waiting)

  • 当一个进程正处在某临界区内,任何试图进入其临界区的进程都必须等待,陷入忙等状态。连续测试一个变量直到某个值出现为止,称为忙等

45. 可重入(reentrant)

  • 如果一段程序或者代码在任意时刻被中断后由操作系统调用其他程序或者代码,这段代码调用子程序并能够正确运行,这种现象就称为可重入。也就是说当该子程序正在运行时,执行线程可以再次进入并执行它,仍然获得符合设计时预期的结果

46. 主设备编号(major device number)、副设备编号(minor device number)

  • 所有设备都有一个主,副号码。 主号码是更大,更通用的类别(例如硬盘,输入/输出设备等),而次号码则更具体(即告诉设备连接到哪条总线)

47. 多重缓冲区(double buffering)

  • 它指的是使用多个缓冲区来保存数据块,每个缓冲区都保留数据块的一部分,读取的时候通过读取多个缓冲区的数据进而拼凑成一个完整的数据

48. 环形缓冲区(circular buffer)

  • 它指的是首尾相连的缓冲区,常用来实现数据缓冲流

49. 假脱机(Spooling)

  • 假脱机是多程序的一种特殊形式,目的是在不同设备之间复制数据。 在现代系统中,通常用于计算机应用程序和慢速外围设备(例如打印机)之间的中介

50. 守护进程(Daemon)

  • 在计算机中,守护程序是作为后台进程运行的计算机程序,而不是在交互式用户的直接控制下运行的程序

51. 逻辑块寻址(logical block addressing, LBA)

  • 逻辑块寻址是一种通用方案,用于指定存储在计算机存储设备上的数据块的位置

52. RAID

  • 全称是 Redundant Array of Inexpensive Disks ,廉价磁盘或驱动器的冗余阵列,它是一种数据存储虚拟化的技术,将多个物理磁盘驱动器组件组合成一个或多个逻辑单元,以实现数据冗余,改善性能

53. MBR(Master Boot Record)

  • 主引导记录(MBR)是任何硬盘或软盘的第一扇区中的信息,用于标识操作系统的放置方式和位置,以便可以将其加载到计算机的主存储器或随机存取存储器中

54. FCFS (First-Come, First-Served)

  • 先进先出的调度算法,也就是说,首先到达 CPU 的进程首先进行服务

55. SSF (Shortest Seek First)

  • 最短路径优先算法,这是对先进先出算法的改进,这种算法因为减少了总的磁臂运动,从而缩短了平均响应时间

56. 稳定存储(stable storage)

  • 它是计算机存储技术的一种分类,该技术可确保任何给定的写操作都具有原子性

57. 时钟(Clocks)

  • 也被称为 timers。通常,时钟是指调节所有计算机功能的时序和速度的微芯片。芯片中是一个晶体,当通电时,晶体会以特定的频率振动。 任何一台计算机能够执行的最短时间是一个时钟或时钟芯片的一次振动

58. QR Code

  • 二维码的一种,它的全称是快速响应矩阵图码,能够快速响应。一般应用于手机读码操作,国内火车票上的二维码就是 QR 码

59. 显卡(Video card)

  • 是个人电脑最基本组成部分之一,用途是将计算机系统所需要的显示信息进行转换驱动显示器,并向显示器提供逐行或隔行扫描信号,控制显示器的正确显示,是连接显示器和个人电脑主板的重要组件,是人机对话的重要设备之一

60. GDI (Graphics Device Interface)

  • 图形接口,是微软视窗系统提供的应用程序接口,也是其用来表征图形对象、将图形对象传送给诸如显示器、打印机之类输出设备的核心组件

61. 设备上下文(device context)

  • 设备上下文是 Windows 数据结构,其中包含有关设备(例如显示器或打印机)的图形属性的信息。 所有绘图调用都是通过设备上下文对象进行的,该对象封装了用于绘制线条,形状和文本的 Windows API。 设备上下文可用于绘制到屏幕,打印机或图元文件

62. 位图(bitmap)

  • 在计算机中,位图是从某个域(例如,整数范围)到位的映射。也称为位数组或位图索引

63. 电阻式触摸屏(Resistive touchscreens)

  • 电阻式触摸屏基于施加到屏幕上的压力来工作。 电阻屏由许多层组成。 当按下屏幕时,外部的后面板将被推到下一层,下一层会感觉到施加了压力并记录了输入。 电阻式触摸屏用途广泛,可以用手指,指甲,手写笔或任何其他物体进行操作

64. 电容式触摸屏(capacitive touchscreen)

  • 电容式触摸屏通过感应物体(通常是指尖上的皮肤)的导电特性来工作。 手机或智能手机上的电容屏通常具有玻璃表面,并且不依赖压力。 当涉及到手势(如滑动和捏合)时,它比电阻式屏幕更具响应性。 电容式触摸屏只能用手指触摸,而不能用普通的手写笔,手套或大多数其他物体来响应

65. 死锁(deadlock)

  • 死锁常用于并发情况下,死锁 是一种状态,死锁中的每个成员都在等待另一个成员(包括其自身)采取行动

66. 可抢占资源(preemptable resource)

  • 可以从拥有它的进程中抢占而并不会产生任何副作用

67. 不可抢占资源(nonpreemptable resource)

  • 与可抢占资源相反,如果资源被抢占后,会导致进程或任务出错

68. 系统检查点(system checkpointed)

  • 系统检查点是操作系统(OS)的可启动实例。检查点是计算机在特定时间点的快照

69. 两阶段加锁(two-phase locking, 2PL)

  • 经常用于数据库的并发控制,以保证可串行化,这种方法使用数据库锁在两个阶段
    • 扩张阶段:不断上锁,没有锁被释放
    • 收缩阶段:锁被陆续释放,没有新的加锁

70. 活锁(Livelock)

  • 活锁类似于死锁,不同之处在于,活锁中仅涉及进程的状态彼此之间不断变化,没有进展。举一个现实世界的例子,当两个人在狭窄的走廊里相遇时,就会发生活锁,每个人都试图通过移动到一边让对方通过而礼貌,但最终却没有任何进展就左右摇摆,因为他们总是同时移动相同的方式

71. 饥饿(starvation)

  • 在死锁或者活锁的状态中,在任何时刻都可能请求资源,虽然一些调度策略能够决定一些进程在某一时刻获得资源,但是有一些进程永远无法获得资源。永远无法获得资源的进程很容易产生饥饿

72. 沙盒(sandboxing)

  • 沙盒是一种软件管理策略,可将应用程序与关键系统资源和其他程序隔离。它提供了一层额外的安全保护,可防止恶意软件或有害应用程序对你的系统造成负面影响

73. VMM (Virtual Machine Monitor)

  • 也被称为 hypervisor,在同一个物理机器上创建出来多态虚拟机器的假象

74. 虚拟化技术(virtualization)

  • 是一种资源管理技术,将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),进行抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境

75. 云(cloud)

  • 云是目前虚拟机最重要、最时髦的玩法。

76. 解释器(interpreter)

  • 解释器是一种程序,能够把编程语言一行一行解释运行。每次运行程序时都要先转成另一种语言再运行,因此解释器的程序运行速度比较缓慢。它不会一次把整个程序翻译出来,而是每翻译一行程序叙述就立刻运行,然后再翻译下一行,再运行,如此不停地进行下去

77. 半虚拟化(paravirtualization)

  • 半虚拟化的目的不是呈现出一个和底层硬件一摸一样的虚拟机,而是提供一个软件接口,软件接口与硬件接口相似但又不完全一样

78. 全虚拟化(full virtualization)

  • 全虚拟化是硬件虚拟化的一种,允许未经修改的客操作系统隔离运行。对于全虚拟化,硬件特征会被映射到虚拟机上,这些特征包括完整的指令集、I/O操作、中断和内存管理等

79. 客户操作系统(guest operating system)

  • 客户操作系统是安装在计算机上操作系统之后的操作系统,客户操作系统既可以是分区系统的一部分,也可以是虚拟机设置的一部分。客户操作系统为设备提供了备用操作系统

80. 主机操作系统(host operating system)

  • 主机操作系统是计算机系统的硬盘驱动器上安装的主要操作系统。 在大多数情况下,只有一个主机操作系统

81. 应用编程接口(Application Programming Interface,API)

  • 应用程序编程接口(API)是软件组件或系统的编程接口,它定义其他组件或系统如何使用它

82. 虚拟机接口(Virtual Machine Interface, VMI)

  • 它是一个高速接口,同一主机上的虚拟机(VM)可用于相互之间以及主机内核模块之间进行通信

83. 输入输出内存管理单元(Input–output memory management unit, I/O MMU)

  • 在计算机中,输入输出内存管理单元(IOMMU)是将直接内存访问(DMA)I / O 总线连接到主存的内存管理单元(MMU)

84. 设备穿透(device pass through)

  • 它允许将物理设备直接分配给特定虚拟机

85. 设备隔离(device isolation)

  • 保证设备可以直接访问其分配到的虚拟机的内存而不影响其他虚拟机的完整性

86. 基础设施即服务(IAAS (Infrastructure As A Service))

  • 基础架构即服务(IaaS)是一种即时计算基础架构,可通过 Internet 进行配置和管理。 它是四种云服务类型之一,另外还有软件即服务(SaaS),平台即服务(PaaS)和无服务器

87. 平台即服务(PAAS (Platform As A Service))

  • 平台即服务(PaaS)或应用程序平台即服务(aPaaS)或基于平台的服务是云计算服务的一种,它提供了一个平台,使客户可以开发,运行和管理应用程序,而无需构建和维护该应用程序

88. 软件即服务(SAAS(Software As A Service))

  • 它是一个提供特定软件服务访问的平台,是一种软件许可和交付模型,在该模型中,软件是基于订阅许可的,并且是集中托管的

89. 实时迁移(live migration)

  • 实时迁移是指在不断开客户端或应用程序连接的情况下,在不同的物理机之间移动正在运行的虚拟机或应用程序的过程,一般经常采用的方式是内存预复制迁移

90. 写入时复制(copy on write)

  • 写入时复制是一种计算机程序设计领域的优化策略。其核心思想是,如果有多个调用者(callers)同时请求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的内容时,系统才会真正复制一份专用副本(private copy)给该调用者,而其他调用者所见到的最初的资源仍然保持不变

91. 主从模型(master-slave)

  • 主/从是一种不对称通信或控制的模型,其中一个设备进程控制一个或多个其他设备或进程并充当其通信中心。 在某些系统中,从一组合格的设备中选择一个主设备,而其他设备则充当从设备的角色

-------------------- 本文结束感谢您的阅读 --------------------