操作系统(Operating Systems: Internals and Design Principles)

时间:2021-07-01 16:54:19   收藏:0   阅读:0

chapter 01 计算机系统概述

key words

instruction cycle:CPU取出一条指令并执行这条指令所用的时间。

interrupt:中断是一种允许其他模块(如I/O、存储器)中断CPU正常处理过程的机制。

hit ratio:对较快存储器的访问次数与对所有存储器的访问次数的比值。

memory hierarchy:为了以较低的价格获得更高的性能,现代计算机系统采用多类型存储器的组合,称为存储器的层次结构。分为:板上存储器、板外存储体、离线存储体。

cache:高速缓存

locality:

? 空间局部性:访问趋向于在地址空间中聚集

? 时间局部性:最近访问的数据在不远的将来会被再次访问

chapter 02 操作系统概述

key terms

操作系统(Operating System):是控制应用程序执行的程序,它充当用户和计算机之间的接口,并对计算机资源进行管理。

内核(kernel):OS常驻内存的部分,包含了操作系统中最常用的功能。

多道(multiprogramming):当一个程序(作业)被中断需要等待某些事件发生时,CPU可以切换到另一个可以立即运行的程序(作业),这种处理称为多道multiprogramming。

分时系统(time-sharing system):分时系统允许多个用户通过终端同时访问系统,共享CPU时间,操作系统以时间片为单位,轮流为每个终端用户服务,提供了较好的交互性。

批处理系统(Batch Processing System):批处理是指计算机操作员将作业组织成批,提交给操作系统,由操作系统控制它们自动运行。这种采用批处理技术的操作系统称为批处理操作系统。批处理操作系统分为单道批处理系统和多道批处理系统。批处理操作系统不具有交互性,它是为了提高CPU的利用率而提出的一种操作系统。

chapter 03 进程描述和控制

key terms

进程(process):一个正在执行中的程序。

进程控制块(Process Control Block, PCB):OS用来 控制 和 管理 进程所用的数据结构。

CPU的执行模式:用户模式、系统模式(内核模式)。

进程的状态:一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。

轨迹(trace):可以通过列出为某进程而执行的指令序列来描述单个进程的行为,这样的序列被称为进程的轨迹。可以通过给出各个进程的轨迹是如何交替的来描述处理器的行为。

分派器(dispatcher):

轮循(round-robin):依次给队列中的每个进程一定的执行时间,然后进程返回队列。阻塞情况除外。

交换(swap):将内存中暂时不能运行的进程(或暂时不用的数据和程序)转移到外存,以腾出足够的内存空间,把已具备运行条件的进程(或进程所需要的数据和程序)转移到内存。

程序状态字(PSW):

处理器状态寄存器(processor status register, psr):

chapter 04 线程、对称多处理和微内核

key terms

进程(process):一个正在运行的程序。

线程(thread):是操作系统进行调度的最小单位。它包含在进程之中,是进程中的实际运作单位。

轻量级进程(lightweight process)

内核级线程(kernel-level thread, KLT)

用户级线程(user-level thread, ULT)

多线程(multithreading)

任务(task)

对称多处理(Symmetric MultiProcessing,SMP):是指在一个计算机上汇集了多个CPU,各CPU之间共享存储器以及总线结构。它是相对非对称多处理技术而言的、应用十分广泛的并行技术。

微内核(microkernel):仅提供一些操作系统最基本的功能,大部分的服务由用户空间的程序提供。通常包括:内存管理、进程间通信、I/O和中断管理。

宏内核(monolithic kernel):在一个操作系统程序中提供了所有必须的功能,即所有操作系统功能都运行在内核空间内。

chapter 05 并发性:互斥和同步

key terms

并行(parallel):在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。

并发(concurrency):在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。

交替(interleave):

覆盖技术/重叠(overlap):

互斥(mutual exclusion):当一个进程在临界区访问临界资源时,其他进程不能进入临界区。

同步(synchronize):它主要源于进程合作,是进程间共同完成一项任务时直接发生相互作用的关系。为进程之间的直接制约关系。在多道环境下,这种进程间在执行次序上的协调是必不可少的。

临界区(critical section):是一段代码,在这段代码中,进程将访问临界资源。

临界资源:一次仅允许一个进程使用的资源。

竞争条件(race condition):指多个线程或进程在读写一个共享数据时,结果依赖于它们的执行顺序的情形。

原子操作(atomic operation):原子操作是指不会被中断的操作;这种操作一旦开始,就一直运行到结束。

信号量(semaphore):是在多线程环境下使用的一种数据结构,是可以用来保证两个或多个关键代码段不被并发调用。

多道程序设计技术(multiprogramming):管理单处理器(uniprocessor)系统的多个进程。

多处理技术(multiprocessing):管理多处理器系统中的多个进程。

分布式处理技术(distributed processing):管理多台分布式计算机系统中多个进程的执行。

chapter 06 并发性:死锁和饥饿

技术图片

key terms

死锁(deadlock):两个或两个以上的进程,因每个进程都在等待其他进程做完某些事情而不能继续执行的情形。

活锁(livelock):两个或两个以上的进程,为响应其他进程中的变化而继续改变自己的状态,但不做有用的工作的情形。

饥饿(Starvation):一个可运行的进程尽管能继续执行,但被调度器无期限地忽视,而不被调度执行的情况。

chapter 07 内存管理

key terms

重定位(relocation):将逻辑地址转换为物理地址的过程。

地址类型:

覆盖(overlaying):不同的模块被指派到内存的同一块区域,主程序负责在需要时换入或换出模块。

内部碎片(internal fragmentation):由于被装入的数据块小于分页大小,从而导致页内部有空间浪费的现象。

外部碎片(external fragmentation):指内存中还没有分配出去,但是由于大小太小而无法分配给申请空间的新进程的空闲块。

伙伴系统(buddy system):固定分区和动态分区的一种折中方案。

压缩(compaction):操作系统不时地移动进程,使得进程占用的空间连续,所有的空闲空间连成一片。

chapter 08 虚拟内存

key terms

常驻集(resident set):进程执行中的任何时候都在主存中的部分。

系统抖动(thrashing):从内存中刚刚换出(Swap Out)某一块后(换出到Disk),根据请求马上又换入(Swap In)该块,这种反复换出换入的现象。

页表项(page table entry, PTE):页表中的行

页错误(page fault):当CPU执行进程的某个页面时,发现这个虚拟空间中的页没有映射到内存中,而导致的中断(页错误)。

注意:简单分页并不会发生 page fault,因为简单分页会将进程所有页都载入内存中。

Translation Lookaside Buffer, TLB:

反向页表( inverted page table):虚拟地址的页号通过一个哈希函数映射到表项中。反向页表的大小只与实际内存大小相关。

页缓冲(page buffering):为提高性能,被替换出的页不是被丢弃,而是分配到空闲页表或修改页表。(被替换出的页仍留在主存中)

读取策略(fetch policy):确定一页何时取入。

放置策略(placement policy):确定一个进程块驻留在内存的什么地方

替换策略(replacement policy):

清除策略(cleaning policy):用于确定在何时将一个被修改过的页写回辅存。

装入控制(load control):确定驻留在主存中的进程数目。

进程的地址空间(系统空间和用户空间):

chapter 09 单处理器调度

key terms

长程调度(long-term scheduling):决定进程是否加入待执行的进程池中。

中程调度(medium-term scheduling):交换(swap)功能的一部分,决定是否将进程换入/换出内存。

短程调度(short-term scheduling):决定处理器下一次执行哪个就绪进程。

抢占(preemptive):当前运行的进程可能被操作系统中断,并转移到就绪态。

chapter 11 I/O管理和磁盘调度

key terms

面向块的设备(block-oriented device):信息保存在块中,一次传送一块。

面向流的设备(stream-oriented device):以字节流的方式输入/输出数据

独立磁盘冗余阵列(RAID):

寻道时间(seek time)

旋转延迟(rotational delay)

存取时间(access time):寻道时间 + 旋转延迟

传输时间(transfer time):向/从磁盘传送数据所需的时间。

chapter 12 文件管理

key terms

文件(File):是一组相似记录的集合,可通过名字访问。

文件系统(File System / File Management System):操作系统的重要组成部分,提供存储数据(组织为文件)的手段,并提供一系列对文件进行操作的功能接口。

文件分配表(File Allocation Table,FAT):用来记录文件所在位置的一种数据结构。

磁盘分配表(Disk Allocation Table,DAT):记录磁盘中已用和空闲块的数据结构。

相对路径(Relative Path):指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。

绝对路径(GetFullPath):目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。

评论(0)
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!