摘要:汇编指令 CLI 全称 Clear Interupt STI 全称 Set Interupt CLD 全称 Clear Director STD 全称 Set Director CLI和STI是用来屏蔽中断和恢复中断用的,如 设置栈基址SS和偏移地址SP时,需要CLI,因为如果这两条指令被分开了,那
阅读全文
摘要:I/O输入系统 计算机有两个主要任务:I/O操作与计算处理。在许多情况下,主要任务是I/O操作。而计算处理只是附带的。 操作系统在计算机I/O方面的作用是管理和控制I/O操作和I/O设备。 概述 对与计算机相连设备的控制是操作系统设计者的主要任务之一。 I/O设备技术呈现两个相矛盾的趋势。一方面,可
阅读全文
摘要:大容量存储器的结构 文件系统从逻辑上可分为三个部分。用户和程序员所使用的的文件系统接口。操作系统实现该接口所使用的数据结构和算法。以及系统的最底层:次级和三级存储结构。 磁盘 磁盘(magnetic disk)为现代计算机系统提供了大容量的外存。从概念上来说,磁盘相对简单。 磁头与磁臂(disk a
阅读全文
摘要:文件系统实现 文件系统结构 磁盘提供大量的外部空间来维持文件系统。磁盘的下述两个特点,使其成为存储多个文件的方便介质: 可以原地重写,可以从磁盘上读一块,修改该快,并将它写回到原来的位置。 可以直接访问磁盘上的任意一块信息。因此,可以简单地顺序或随机地访问文件,从一个文件切换到另一个文件只需要简单地
阅读全文
摘要:文件系统接口 文件系统由两个部分组成:一组文件(文件用于存储相关数据)和目录结构(目录用于组织系统内的文件并提供有关文件的信息)。 文件概念 计算机能在多种不同介质上存储信息。为了方便地使用计算机习系统,操作系统提供了信息存储的统一逻辑接口。操作系统对存储设备的各种属性加以抽象,从而定义了逻辑存储单
阅读全文
摘要:虚拟内存 计算机系统使用的各种内存管理策略。所有这些策略都为同一目的:同时将多个进程存放在内存中,以便多道程序设计。不过,这些策略都需要在进程执行之前将整个进程放在内存中。 虚拟内存技术允许执行进程不必完全在内存中。这种方案的一个显著优点是程序可以比物理内存大。而且,虚拟内存将内存抽象成一个巨大,统
阅读全文
摘要:内存管理 内存由很大一组字或字节组成,每个字或字节都有自己的地址。CPU根据程序计数器(PC)的值从内存中提取指令,这些指令可能会引起进一步对特定内存地址的读取和写入。 背景 基本硬件 CPU所能直接访问的存储器只有内存和处理器内的寄存器。机器指令可以用内存地址作为参数,而不能用磁盘地址作为参数。C
阅读全文
摘要:进程同步 协作进程是可以在系统内执行的其他进程相互影响的进程。互相协作的进程可以直接共享逻辑地址空间(即代码和数据),或者只通过文件或消息来共享数据。前者可通过轻量级进程或线程来实现。共享数据的并发访问可能会产生数据的不一致。本部分讨论各种机制,以用于确保共享同一逻辑地址空间的协作进程有序地执行,从
阅读全文
摘要:死锁 在多道程序环境下,多个进程可能竞争一定数量的资源。某个进程申请资源,如果这时资源不可用,那么该进程进入等待状态。如果所申请的资源被其他等待进程占有,那么该等待进程有可能再也无法改变其状态。这种情况称为死锁(deadlock)。 系统模型 正常操作模式下,进程只能按如下顺序使用资源: 申请:如果
阅读全文
摘要:CPU调度 引入了线程,对于支持它们的操作系统,是内核级的线程被操作系统调度,而不是进程。不过,术语线程调度或进程调度常常被交替使用。在讨论普通调度概念时使用进程调度,特别指定为线程概念时使用线程调度。 基本概念 CPU-I/O区间周期 CPU的成功调度依赖于进程的如下属性:进程执行由CPU执行和I
阅读全文
摘要:进程 进程可看做是正在执行的程序。进程需要一定的资源(如CPU时间,内存,文件和I/O设备)来完成其任务。这些资源在创建进程或执行进程时被分配。 进程是大多数系统中的工作单元。这样的系统由一组进程组成:操作系统进程执行系统代码,用户进程执行用户代码。所有这些进程可以并发执行。 虽然从传统意义上讲,进
阅读全文
摘要:线程 概述 线程是CPU使用的基本单元,它由线程ID,程序计数器,寄存器集合和栈组成。它与属于同一进程的其他线程共享代码段,数据段和其他操作系统资源,如文件和信号。一个传统重量级(heavyweight)的进程只有单个控制线程。如果进程又多个控制线程,那么它能同时做多个任务。 下图说明了单线程和多线
阅读全文
摘要:操作系统结构 操作系统服务 一组操作系统服务提供对用户很有用的函数:用户界面:所有的操作系统都有用户界面(user interface,UI)。用户界面可以有多种形式。一种是命令行界面(command-line interface,CLI),它采用文本命令,并用一定的方法输入(即一种允许输入并编辑的
阅读全文
摘要:导论 操作系统做什么 操作系统是作为计算机和计算机用户之间的中介的程序。操作系统的目的是为用户提供方便且有效地执行程序的环境。 计算机系统可以大致分为4个组成部分:计算机硬件,操作系统,系统程序与应用程序和用户。 硬件,如中央处理单元(central processing unit,CPU)、内存(
阅读全文
摘要:原码、补码、反码 无符号数 原码 原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值 [+1]原 = 0000 0001 [-1]原 = 1000 0001 第一位是符号位,因为第一位是符号位,所以8位二进制数的取值范围就是 [1111 1111 , 0111 1111],即:[-12
阅读全文
摘要:处理器体系结构 指令集Y86-64寄存器 Y86-64处理器每个时钟周期执行一条完整的Y86-64指令。 X86-64寄存器有 程序员可见的状态的寄存器: Y86-64的状态类似于x86-64。有15个程序寄存器:%rax,%rcx,%rdx,%rbx,%rsp,%rbp,%rsi,%rdi和%r8
阅读全文
摘要:CSAPP学习笔记—虚拟内存 符号说明 虚拟内存地址寻址 图9-12展示了MMU如何利用页表来实现这种映射。CPU中的一个控制寄存器,页表基址寄存器(Page Table Base Register,PTBR)指向当前页表。N位的虚拟地址包含两个部分:一个p位的虚拟页表偏移(Virtual Page
阅读全文