第1章-操作系统概论
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章 导论
1.5
操作系统操作
现代操作系统是由中断驱动的。如果没有进程要 执行,没有I/O设备要服务,也没有用户请求要 响应,操作系统将会静待某事件的发生。 由于操作系统和用户共享了计算机系统的硬件和 软件,必须保证用户程序出错时仅影响该程序自 身。 如果没有保护机制来处理这些错误,计算机一次 只能执行一个进程。操作系统的合理设计必须确 保错误程序不会造成其他程序的执行错误。
第1章 导论
1.3
计算机系统体系结构
1.3.1 单处理器系统
绝大多数系统采用单处理器。 在单处理器系统中,有一个主CPU能够执行一个通
用指令集,包括来自用户进程的指令。 绝大多数的单处理器系统还包括其他特定目的的处 理器,它们可能以专用设备处理器的形式出现。
第1章 导论
1.3
第1章 导论
1.2
计算机系统组织
1.2.2 存储结构
理想情况下,程序和数据都永久驻留在内存中。由
于以下原因,这是不可能的:
内存太小,不能永久存储所有需要的程序和数据。 内存是易失性存储设备,当掉电时会失去所有内容。
因此,绝大多数计算机系统都提供辅存以作为内存
的扩充。对辅存的要求是它要能够永久地存储大量 的数据。 最为常用的辅存设备是磁盘,它能存储程序和数据。
第1章 导论
1.5
操作系统操作
1.5.1 双重模式操作
user mode
user process
user process executing calls system call return from system call
kernel
kernel mode
execute system call
第1章 导论
1.6
进程管理
操作系统负责下述与进程管理相关的活动:
创建和删除用户进程及系统进程。 挂起和重启进程。 提供进程同步机制。
提供进程通信机制。
第1章 导论
1.2
计算机系统组织
1.2.2 存储结构
计算机程序必须在内存(RAM)中以便运行。内存
是处理器可以直接访问的唯一的大容量存储区域。 一个典型的指令执行周期首先从内存中获取指令并 保存在指令寄存器中。接着,指令被解码,并可能 导致从内存中获取操作数或将操作数保存在内部寄 存器中。在指令完成对操作数的执行后,其结果可 以存回到内存。
第1章 导论
1.4
操作系统结构
分时系统是多道程序设计的延伸。 在分时系统中,CPU还是通过在作业之间切换来 执行多个作业,但由于切换频率很高,用户可以 在程序运行期间与之进行交互。 分时操作系统允许许多用户同时共享计算机。由 于分时系统的每个动作或命令都比较短,因而每 个用户只要少量的CPU时间。随着系统从一个用 户快速切换到另一个用户,每个用户会感到整个 系统只为自己所用。
计算机系统体系结构
1.3.2 多处理器系统
多处理器的重要性日益突出,有三个主要优点:
增加吞吐量:通过增加处理器的数量,能在更短的时 间内做更多的事情。 规模经济:多处理器系统比单处理器系统能节省资金, 因为它们能共享外设、大容量存储和电源供给。 增加可靠性:将功能分布在多个处理器上,那么单个 处理器的失灵不会导致系统停止,只会使它变慢。
第1章 导论
1.2
计算机系统组织
1.2.3 I/O结构
操作系统为每个设备控制器提供一个设备驱动程序。
这些设备驱动程序驱动设备控制器并向操作系统其 它部分提供设备的统一接口。 要开始I/O操作,设备驱动程序首先将适当的寄存 器装载到设备控制器中。然后设备控制器检查寄存 器中的内容后决定采取什么样的操作。数据传输完 成后,控制器会通过中断通知设备驱动程序它已完 成操作。最后,设备驱动程序将系统控制权交回给 操作系统。
第1章 导论
1.2
计算机系统组织
1.2.3 I/O结构
上述I/O中断驱动适合移动少量数据,但对大块的
数据移动,如磁盘I/O,就会带来超载问题。 DMA(direct memory access)就是为了解决这 个问题而设计的。在为这种I/O设备设置好缓冲、 指针和计数器之后,设备控制器能在本地缓冲和内 存之间传送一整块数据,并且无需CPU的干预。每 块只产生一个中断,来告知设备驱动程序操作已完 成。
控制器通过共同的总线相连而成,该总线提供了对 共享内存的访问。每个设备控制器负责一种特定类 型的设备。CPU与设备控制器可以并发工作,并竞 争内存周期。 为了确保对共享内存的有序访问,需要内存控制器 来协调对内存的访问。
第1章 导论
1.2
计算机系统组织
打印机 鼠标 键盘 显示器
1.2.1 计算机系统操作
第1章 导论
1.5
操作系统操作
1.5.1 双重模式操作
为了确保操作系统的正常执行,必须区分操作系统
代码和用户代码的执行。许多操作系统所采取的方 法是提供硬件支持以允许区分各种执行模式。 至少需要两种独立的操作模式:用户模式(user mode)和内核模式(kernel mode) 在计算机硬件中增加一个名为模式位的位状态标记, 值为0时表示系统当前运行在内核模式,值为1时表 示系统当前运行在用户模式。
第1章 导论
1.5
操作系统操作
1.5.2 定时系统
操作系统在将控制权交给用户程序前必须确保定时
器已经设置中断模式。 当定时器产生中断后,控制权自动交还给操作系统。
第1章 导论
1.6
进程管理
程序在被CPU执行前不会做任何事情。 正在执行中的程序称为进程。 每个进程都需要一定的系统资源,包括CPU时间, 内存,文件和I/O设备等来完成它的任务。这些 资源可以在进程被创建时分配给它也可以在进程 运行中分配。 程序本身并不是进程。 进程是系统的工作单元。系统由多个进程组成, 其中一些是操作系统进程,其余的是用户进程。
第1章 导论
1.1
操作系统做什么
1.1.1 用户视角
在某些情况下,用户坐在与大型机或小型机相连的
终端前,其他用户通过其他终端访问同一台计算机。 这些用户共享资源并可交换信息。这时操作系统设 计为资源使用做了优化:确保所有的CPU时间、内 存和I/O都能得到充分使用,并且确保没有用户使 用超出其权限的资源。
第1章 导论
1.1
操作系统做什么
1.1.1 用户视角
在另一些情况下,用户坐在工作站前,工作站与其
他工作站和服务器相连。这些用户不但可以使用专 用的资源,而且可以使用共享资源,如果网络和服 务器等。因此,这类操作系统的设计目的是个人使 用性能和资源利用率的折中。
第1章 导论
1.1
操作系统做什么
第1章 导论
1.5
操作系统操作
1.5.1 双重模式操作
双重模式保证操作系统不受用户破坏,也保证用户
不受其他用户影响。 将可能引起损害的机器指令被设计成特权指令,这 些指令仅在内核模式下可以执行,任何用户在用户 模式下无法直接执行这类指令。
第1章 导论
1.5
操作系统操作
1.5.2 定时系统
的定义。操作系统之所以存在,是因为它们提供了 解决创建可用的计算机系统问题的合理途径。 一个比较比较公认的定义是,操作系统是一直运行 在计算机上的程序(通常称为内核),其他程序则 为系统程序和应用程序。
第1章 概述
1.2
计算机系统组织
1.2.1 计算机系统操作
现代通用计算机系统由一个或多个CPU和若干设备
磁盘
CPU
磁盘控制器
USB控制器
显卡
内存
第1章 导论
1.2
计算机系统组织
1.2.1 计算机系统操作
事件的发生通常通过硬件或软件中断来表示。硬件
可随时通过系统总线向CPU发出信号以触发中断。 软件通过执行特别操作如系统调用,也能触发中断。 当CPU中断时,它暂停正在做的事情并立即转到固 定的位置去继续执行。该固定位置通常是中断服务 程序开始位置的地址。中断服务程序开始执行,执 行完毕后,CPU重新执行被中断的计算。 中断体系结构保存被中断指令的地址。处理中断后, 保存的返回地址会装入程序计数器,被中断的计算 可以重新开始。
第1章 导论
1.1
操作系统做什么
操作系统是几乎所有计算机系统的一个重要部分。 计算机系统可以大致分为4个组成部分:计算机 硬件、操作系统、系统程序与应用程序和用户等。 计算机系统的组成部分包括硬件、软件及数据。 在计算机系统的操作过程中,操作系统提供了正 确使用这些资源的方法。 为了更加全面地理解操作系统所担当的角色,接 下来从两个视角探索操作系统:用户视角和系统 视角。
第1章 导论
1.3
计算机系统体系结构
1.3.2 多处理器系统
现在使用的多处理器系统主要有两种类型:非对称
多处理和对称多处理。 非对称多处理中有一个主处理器控制系统,其他处 理器向主处理器要任务或完成预定义的任务。 对称处理中每个处理器都要完成操作系统中的所有 任务。
第1章 导论
第1章 导论
1.2
计算机系统组织
寄存器 高速缓存 主存 磁盘
1.2.2 存储结构
第1章 导论
1.2
计算机系统组织
1.2.3 I/O结构
在计算机中,存储器只是众多I/O设备中的一种,
操作系统大部分代码用来进行I/O管理,这既是因 为它对系统可靠性和性能十分重要,也是因为设备 变化的特性。 现代计算机由设备控制器负责控制特定类型的设备。 设备控制器维护一定量的本地缓冲存储和一组特定 用途的寄存器,负责在其所控制的外部设备与本地 缓冲存储之间进行数据传递。
必须确保操作系统保持对CPU的控制权。 同时必须阻止用户程序陷入死循环或既不调用系统
服务也不将控制权交还给操作系统。 操作系统设计者使用定时系统来满足上述两个要求。 可将定时器设置为在给定时间后中断计算机。一般 通过一个固定速率的时钟和计数器来实现。操作系 统设置计数器。每经过一个时钟周期,计数器都要 递减。当计数器的值为0时,产生中断。
操作系统
北京大学计算中心 付中南 fuzhongnan@pku.edu.cn
第1章 导论
1.1
操作系统做什么 1.2 计算机系统组织 1.3 计算机系统体系结构 1.4 操作系统结构 1.5 操作系统操作 1.6 进程管理 1.7 内存管理 1.8 存储管理 1.9 分布式系统
第1章 导论
1.1
操作系统做什么
1.1.1 用户视角
计算机的用户观点因使用接口的不同而不同。 绝大多数用户面对的是一台由显示器、键盘、鼠标
和主机组成的PC。这类系统设计是为了让单个用 户单独使用其资源,其目的是优化用户所进行的工 作。对于这种情况,操作系统的设计目的是为了用 户使用方便,性能是次要的,而且不在乎资源使用 率——如何共享硬件和软件资源。
1.3
计算机系统体系结构
1.3.3 集群系统
多CPU系统的另一种类型是集群系统。 与多处理器不同,它是由两个或多个独立的系统耦
合起来的。 集群系统可以是对称的,也可以是非对称的。
第1章 导论
1.4
操作系ቤተ መጻሕፍቲ ባይዱ结构
操作系统最重要的一点是要有多道程序处理能力。 单个用户通常不能总是使得CPU和I/O设备都忙。 多道程序设计通过组织作业使CPU总有一个作业 在执行,从而提高了CPU的利用率。 多道程序系统提供了一个可以充分使用各种系统 资源的环境,但是它们没有提供与计算机系统直 接交互的能力。
1.1.2 系统视角
从计算机的角度来看,操作系统是与硬件最为密切
的程序。我们可以将操作系统看做资源分配器。 操作系统管理计算机资源并决定如何为各个程序和 用户分配资源,以便计算机系统能有效而公平地运 行。
第1章 概述
1.1
操作系统做什么
1.1.3 定义操作系统
一般来说,目前没有一个关于操作系统的十分完整
第1章 导论
1.4
操作系统结构
分时和多道程序设计需要在存储器中同时保存有 几个作业。 通常由于主存较小而不能容纳太多作业,所以这 些作业刚开始存储在磁盘的作业池中。 该池由所有驻留在磁盘中需要等待分配内存的作 业组成。如果多个作业需要进入内存但又没有足 够的内存,那么系统必须在这些作业中做出选择。 这样的决策被称为作业调度。