操作系统概念 操作系统概念/Operating System Concept 第一章笔记

2017年9月12日
09:44

写在前面

本笔记仅仅是本人在上课时的一些随手记录,并不完整也不完全正确。

如有错误,请在评论中或直接联系我指正,谢谢!

原始文件下载:(mht)(pdf)

cs & os overview

Process management
Memory management
Storage management
Advanced topics
Lab instructions

System thinking
System analysis

Goals

Execute user programs, solve user problems easier

Convenient to use
Use the computer hardware in an efficient manner

‘The one program running at all times om the computer’ —-Kernel
Everything else are system program/ application program

操作系统做什么

计算机系统可以大致分为4个组成部分计算机硬件操作系统系统程序与应用程序用户

(这四者严格分层叠代,并互相服务)

用户视角/ User’s Perspective

单用户(PC)

使用方便,性能次要,不在乎资源使用率

大型机与小型机相连(多用户):

为资源使用做优化
确保所有的CPU时间、内存和I/O都能得到充分使用,并且确保没有用户使用超出其权限以外的资源

工作站

共享资源

手持计算机

由于CPU、内存速度有限,(电源、速度、接口限制)远程操作较少,目的是为了方便个人使用

系统视角/ System’s Perspective

操作系统:资源分配器 (Resource Allocator)

操作系统必须决定如何为各个程序和用户分配资源,以便计算机系统能有效而公平地运行
操作系统是控制程序管理用户程序的执行防止计算机资源的错误使用或使用不当

操作系统定义

难以精确定义
操作系统是一直运行在计算机上的程序(通常称为内核)

计算机系统操作

一个或多个CPU 设备控制器 通过共同的总线相连而成
总线提供了对共享内存的访问
CPU与设备控制器可以并发工作,并竞争内存周期

当打开电源或重启时,计算机开始运行

启动引导程序(bootstrap program)
通常位于ROM或EEPROM中
计算机硬件中的固件(firmware)

首先初始化系统中的所有部分(类似自检?)
之后引导程序必须定位操作系统内核并把它装入内存

中断(interrupt)

硬件可随时通过系统总线向 CPU
发出信号,以触发中断。软件通过执行特别操作如系统调用(system call)
(也称为监视器调用 (monitor call) )也能触发中断。

内部中断(trap

Hardware fault interrupt / the program interruptions / visit pipe break
不可屏蔽

外部中断(event

I/O interrupt / external interrupt
可屏蔽

计算机生成了可选文字: 0 设 备 用 户 进 程 的 执 行 L'O 中 断 的 处 理 空 闲 状 态 传 输 状 态 LO 请 求 传 输 完 成 I/O 请 求 传 输 完 成 图 单 个 进 程 执 行 输 出 的 中 断 时 间 线 路

中断是计算机结构的重要部分(Interrupt-driven
Software-generated interrupt: trap

中断向量(Interrupt Vector)

位于低地址内存(前100左右的位置)
存储各种设备的中断处理子程序的地址

Type of interrupt:

Polling 轮询
Vector interrupt system 矢量化中断系统

存储结构

内存(主存)——CPU直接访问操作
辅存(secondary storage)——作为内存的扩充

对辅存的主要要求是它要能够永久地存储大量的数据
最为常用的辅存设备为磁盘

存储器性质:

Speed
Cost
Volatility

I/O 结构

同步I/O

启动 直到 I/O完成再唤醒cpu(在此期间CPU处于等待状态

异步I/O

启动 进内核 完成再通知线程(在此期间CPU继续处理其他事
异步I/O在请求完成时,通过将文件句柄设为有信号状态来通知应用程序
或者应用程序通过GetOverlappedResult()查看I/O请求是否完成,也可以通过一个事件对象来通知应用程序

kernel Synchronous requesting process waiting device driver interrupt handler hardware data transfer (a) Asynclvonous requesting process device driver interrupt handler hardware — — data transfer time (b) kernel

传统I/O方式:以字节为单位,通知cpu

这种I/O中断驱动适合移动少量数据,但对大块的数据移动,比如磁盘I
/O,就会带来超载问题。

现代:DMA(direct memory access, 直接内存访问)

在为这种I/O设备设置好缓冲、指针和计数器之后,设备控制器能在本地缓冲和内存之间传送一整块数据,而无需CPU的干预。每块只产生一个中断。

由DMA控制器直接控制总线传递数据块。DMA控制器完成从I/O——内存

C:\\657A68A5\\C869BDCE-D65F-4B51-B4F4-2653B2D1638D.files\\image003.png

系统架构

单处理器系统

多处理器系统(并行系统 parallel system)或(紧耦合系统 tightly coupled system)

优点:

1)增加吞吐量 增加处理器的数量,希望能在更短的时间内做更多的事情
2)规模经济 共享外设、大容量存储和电源供给
3)增加可靠性 将任务分布在多个处理器上,这样单一处理器失灵不会导致整个系统的停止

缺点:

适度退化、容错
这些机制的实现较复杂

非对称多处理(asymmetric multiprocessing)处理器之间:主从关系

由主处理器控制系统,从处理器从主处理器那里寻找指令或执行预定义任务

对称多处理(symmetric multiprocessing,SMP)所有处理器对等

集群系统(cluster) 由两个或多个独立的系统藕合起来

非对称集群:热备份模式
对称集群:互相监视

与多处理器系统的区别:

多处理器系统中多个cpu共享系统其它资源
集群系统中每个个体都是一个独立完整的系统

操作系统结构

多道程序设计
分时系统(或多任务)

操作系统操作

多道程序设计(系统)
批处理,在其他进程处理I/O时切换进程,以保持CPU繁忙

分时系统(或多任务):切换频率很高,用户可以在程序运行期间与之进行交互

交互计算机系统:使用输入设备发送指令,响应通常小于1秒

分时操作系统:允许许多用户同时共享计算机

*进程(process)

装入到内存并执行的程序

陷阱(或异常) trap exception

软件中断

源于出错(除数为零或无效的存储访问)
或源于用户程序的一个特别请求(完成操作系统服务)

双重模式操作

用户模式 特权模式
User mode / kernel mode

用 户 程 执 用 系 嘥 训 用 从 系 嘥 用 回 式 位 - l) 内 枞 式 《 模 式 位 司
) 执 行 系 训 用 用 户 模 式 到 内 核 模 式 的 转 換

  1. Read Chapter 1

  2. CH01 Exercise

1.2 1.4 1.5 1.6 1.10 1.11 1.13 1.15 1.17

1.2 管 理 : 赁 利 用 问 处 在 不 同 的 作 系 统 中 以 不 同 的 形 式 出 墁 · 请 指 出 下 曲 哪 些 赁 源 必 須 被 仔 细 地 a. 主 机 系 统 或 0 型 计 算 机 通 过 服 务 器 连 接 的 T. 作 岾 “ T 持 计 算 机

1.4 在 所 列 的 两 种 设 置 中 , 哪 些 功 能 需 要 作 系 提 供 支 持 ; 间 手 特 设 备 和 ( b ) 实 时 糸 统 · 紕 编 程 b. 虚 拟 内 存 0 分 时

1.5 捲 述 对 称 多 处 理 和 莊 对 多 处 理 的 区 别 . 多 处 理 系 统 有 哪 蚱 优 点 和 缺 点 ? 1.6 隻 群 系 统 与 多 处 理 器 系 有 阿 区 别 ? 属 于 一 个 集 的 两 个 机 器 协 作 供 离 可 用 性 服 务 要 什 么 ?

凵 0 目 的 ? 1.11 中 斷 有 作 用 ? 陷 阱 和 中 断 有 何 区 别 ? 用 户 程 序 能 否 有 意 地 生 成 陷 阱 ? 如 果 是\@ 有 什 么 直 接 内 存 访 问 被 用 到 高 谏 LO 设 备 中 , 以 0 免 日 增 加 的 CPU 行 负 祷 · CPU 接 凵 与 设 各 如 何 协 作 度 ? & CPU 伽 阿 知 内 存 燃 作 何 时 结 束 ? 。 当 DMA 崆 器 在 度 数 时 , 允 CPU 执 行 甚 他 程 序 · 该 进 穆 与 用 户 程 序 的 执 行 会 不 会 冲 突 ? 如 是 . 说 出 将 会 导 致 何 种 冲 突 ·

有 用 的 两 个 理 由 . 量 的 缓 存 代 替 该 设 各 呢 ? 原 因 是 什 么 ? 如 甾 速 存 的 專 0 可 以 做 成 和 要 0 存 的 设 备 一 样 人 ( 麵 一 个 和 磁 盘 一 样 人 的 存 ) , 为 什 么 不 直 接 用 同 样 容

C:\\657A68A5\\C869BDCE-D65F-4B51-B4F4-2653B2D1638D.files\\image011.png

1.17 列 出 下 列 类 型 作 糸 嘥 的 基 本 特 点 . 就 世 处 理 b. 交 互 式 。 分 时 网 络 f 并 行 分 布 五 集 群 i. 手 持

CPU中断时,它暂停正在做的事并立即转到固定的位置去继续执行

位置:中断服务程序开始位置的地址