1 计算机操作系统 徐虹 http://jwc.cuit.edu.cn/Jxgl/ HomePage/Default.asp 操 作 系 统 | 操 作 系 统 引 论 2 CUIT 徐虹 说明 ? 总学时: 70(学时 )= 50(课时) +20(实验) ?行课时间从第 1 周开始,每周 4 学时 ?实验安排待定 ?考试时间:课程结束 ?掌握第 1 — 10 章的内容 ?有关 OS/2的内容不作要求。 2 操 作 系 统 | 操 作 系 统 引 论 3 CUIT 徐虹 教材和参考资料 ?汤子瀛,计算机操作系统,西安电子科技大 学出版社 ? William Stallings,操作系统 —内核与设 计原理,电子工业出版社 ? 张尧学、史美林,计算机操作系统教程, 清华大学出版社 ?Andrew S.Tanenbaum,操作系统:设计与实 现,电子工业出版社 ? Andrew S.Tanenbaum,现代 操作系统,机 械工业出版社 ?陈慧蓉, UNIX 系统基础,清华大学出版社 操 作 系 统 | 操 作 系 统 引 论 4 CUIT 徐虹 目录 ?第一章:操作系统引论 ?第二章:进程的描述与控制 ?第三章:进程的同步与通信 ?第四章:调度与死锁 ?第五章:存储器管理 ?第六章:虚拟存储器 ?第七章:设备管理 ?第八章:文件系统 ?第九章:磁盘存储器管理 ?第十章:操作系统接口 3 操 作 系 统 | 操 作 系 统 引 论 5 CUIT 徐虹 第一章 操作系统引论 ?什么是 OS( Operating Systems) ?OS的形成和发展过程(类型和特点) ?现代 OS的功能和特征 ?研究 OS的几种观点 ?OS的层次结构模型 操 作 系 统 | 操 作 系 统 引 论 6 CUIT 徐虹 1. 1 OS 的概念 ?计算机系统的构成 ?硬件 ?软件 ?系统软件 ?支撑软件 ?应用软件 4 操 作 系 统 | 操 作 系 统 引 论 7 CUIT 徐虹 操 作 系 统 | 操 作 系 统 引 论 8 CUIT 徐虹 ?什么是 OS (Operating Systems) ?引入 OS的目的 ?操作系统的目标 ?方便性 ?有效性 ?可扩充性 ?开放性 ?开放通讯标准 ?开放操作系统标准 ?开放用户接口标准 ?开放用户应用(软件)标准 5 操 作 系 统 | 操 作 系 统 引 论 9 CUIT 徐虹 ?OS的定义 OS是控制和管理计算机硬件和 软件资源,合理地组织计算机工作流 程以及方便用户的程序集合。 操 作 系 统 | 操 作 系 统 引 论 10 CUIT 徐虹 ?研究 OS作用的几种角度 ?资源管理的角度 ——OS是计算机资源的 管理者 ?用户的角度 ——用户接口 ?机器扩充的角度 ——虚拟机 ?经 OS提供的资源管理功能和各种服务功能把 裸机改造成为功能更强使用更方便的机器, 称为虚拟机。 ?在多用户系统中,对每一位用户而言都独占 一台处理机。 ?进程管理的角度 6 操 作 系 统 | 操 作 系 统 引 论 11 CUIT 徐虹 1.2 OS 的发展过程 OS随着计算机技术和应用的日 益发展而逐渐发展和不断完善。功 能由弱到强。成为计算机系统中的 核心。 ?提高计算机资源利用率。 ?方便用户 ?器件的不断更新换代。 ?计算机体系结构的不断发展 操 作 系 统 | 操 作 系 统 引 论 12 CUIT 徐虹 ?手工操作 ?运算速度慢,无 OS。用户直接用机器语言编程, 并独占全部计算机资源。 ?早期批处理 ?批处理:操作员把用户提交的作业分类,把一 批中的作业编成一个作业执行序列,每一批作 业的执行由监督程序( Monitor)自动依次处 理。 7 操 作 系 统 | 操 作 系 统 引 论 13 CUIT 徐虹 ?运行一个作业 : 编译连接运行一个 FORTRAN程序, 则其卡片叠内容为: $JOB $FTN program to be compiled(源程序卡叠) $LOAD $RUN data for program(数据卡叠) $END 操 作 系 统 | 操 作 系 统 引 论 14 CUIT 徐虹 ?联机批处理:慢速 I/O设备和主机直 接相连。 8 操 作 系 统 | 操 作 系 统 引 论 15 CUIT 徐虹 ?脱机批处理 ?管理作业的运行(装入和运行各种系统 处理程序,如汇编,编译,连接装配,程 序库等);完成作业的自动过渡,同时也 出现了覆盖等程序设计技术。 操 作 系 统 | 操 作 系 统 引 论 16 CUIT 徐虹 ?多道程序系统 (多道批处理系统) ?过程 ?作业提交 ——>收容或后备 ——>执行 (就绪,运行,等待) ——>完成。 ?特点 ?作业间自动调度执行。 ?资源利用率高,系统吞吐量大。 ?平均周转时间长,无交互能力,对小型 作业不利。 9 操 作 系 统 | 操 作 系 统 引 论 17 CUIT 徐虹 操 作 系 统 | 操 作 系 统 引 论 18 CUIT 徐虹 JOB1 JOB2 JOB3 Type of job Heavy compute Heavy I/O Heavy I/O Duration 5 min. 15 min. 10 min. Memory required 50K 100 K 80 K Need disk? No No Yes Need terminal? No Yes No Need printer? No No Yes 10 操 作 系 统 | 操 作 系 统 引 论 19 CUIT 徐虹 操 作 系 统 | 操 作 系 统 引 论 20 CUIT 徐虹 Uniprogramming Multiprogramming Processor use 22% 43% Memory use 30% 67% Disk use 33% 67% Printer use 33% 67% Elapsed time 30 min. 15 min. Throughput rate 6 jobs/hr 12 jobs/hr Mean response time 18 min. 10 min. 11 操 作 系 统 | 操 作 系 统 引 论 21 CUIT 徐虹 ?需解决的技术问题 ?同步,互斥;内存覆盖,交换技术,虚 拟存储,内存的保护;文件管理和设备 管理。 ?管理程序的功能 ?存储器管理 ?处理机管理 ?设备管理 ?文件系统 操 作 系 统 | 操 作 系 统 引 论 22 CUIT 徐虹 ?分时系统( Time-Sharing System) ?分时和分时系统 ?一台计算机可同时连接多个用户终端, 系统把处理机的运行时间分成很短的时 间片,按时间片轮流把 CPU,分配给每 个联机作业使用。 ?分时 OS是一个联机( ON –LINE),多 用户( MULTIUSER),交互式 ( INTERACTIVE)的 OS。 12 操 作 系 统 | 操 作 系 统 引 论 23 CUIT 徐虹 ?分时系统的类型 ?单道分时系统 ?“前台 ”和 “后台 ”分时系统 ?多道分时系统 ?分时系统的特点 ?多道性,同时性,独立性,及时性。 ?调进 /调出( Roll-in /Roll—out ) ?响应时间 终端用户发出一个命令到系统处理完 这条命令并作出回答所需要的时间: T=n * Q 操 作 系 统 | 操 作 系 统 引 论 24 CUIT 徐虹 ?实时系统 ?实时系统 : 计算机能及时响应外 部事件的请求,在规定的时间内完 成对该事件的处理并控制所有实时 设备和实时任务协调一致的运行。 ?分类 ?实时控制系统和实时信息处理系统 ?周期性和非周期性 ?硬实时任务和软实时任务 13 操 作 系 统 | 操 作 系 统 引 论 25 CUIT 徐虹 ?功能 ?实时时钟管理 定时任务,延迟任务 ?连续人 —机对话 ?过载的保护 ?高可靠性 ?与分时系统的区别 操 作 系 统 | 操 作 系 统 引 论 26 CUIT 徐虹 ?通用 OS ?同时兼有多道批处理,分时,实 时处理的功能,或其中两种功能以 上。 ?个人计算机上的 OS ?联机交互式单用户、多任务 OS。 14 操 作 系 统 | 操 作 系 统 引 论 27 CUIT 徐虹 ?多处理机 OS ( Multi-processor System) ?引入多处理机的原因 ?多处理机系统的类型 ?紧密耦合( Tightly Coupled) MPS ?松散耦合( Loosely Coupled) MPS 操 作 系 统 | 操 作 系 统 引 论 28 CUIT 徐虹 ?常见的多处理机体系结构 ? MPP( Massively Parallel Processor Systems ) ? SMP( Symmetric Muliprocessing Processor ) ? NUMA( Non Uniform Mem Access ) 15 操 作 系 统 | 操 作 系 统 引 论 29 CUIT 徐虹 Architectural Definitions SMP -- Symmetric Muliprocessing Processor UMA - Uniform Mem Access ?One Address Space- True SMP ?Low Latency, Equal BW ?Fast Predictable Performance Mem CPU CPU CPU CPU (Fast Access=“ “, Slow Access=“ “) 操 作 系 统 | 操 作 系 统 引 论 30 CUIT 徐虹 Architectural Definitions NUMA - Non Uniform Mem Access ?One Address Space- “Broken” SMP ?Non-local Memory Access Slow ?Latency & BW Problems ?Data Placement Tricky CPUs CPUs CPUs CPUs Mem Mem Mem Mem One Address Space (Fast Access=“ “, Slow Access=“ “) 16 操 作 系 统 | 操 作 系 统 引 论 31 CUIT 徐虹 Architectural Definitions MPP & Clusters ?Multiple Address Spaces ?Slow Internode Communication ?Latency & BW Problems ?Data Placement Tricky CPU CPU CPU CPU Mem Mem Mem Mem Mem CPU CPU CPU CPU Mem CPU CPU CPU CPU (Fast Access=“ “, Slow Access=“ “) 操 作 系 统 | 操 作 系 统 引 论 32 CUIT 徐虹 ?网络 OS ?网络的特征和拓扑结构 ?网络 OS的模式 ?对等模式( Peer-to-Peer) ?客户 /服务器模式( Client/Server) ?浏览器 /服务器模式( Browser/Server) ?网络 OS 的功能 ?网络通信、 资源管理、网络服务、网 络管理和互操作能力。 17 操 作 系 统 | 操 作 系 统 引 论 33 CUIT 徐虹 操 作 系 统 | 操 作 系 统 引 论 34 CUIT 徐虹 18 操 作 系 统 | 操 作 系 统 引 论 35 CUIT 徐虹 操 作 系 统 | 操 作 系 统 引 论 36 CUIT 徐虹 ?分布式 OS ?分布式系统 ?任意两台计算机可以通过通信来交换信息 ?一个程序可以分布于 N 台计算机上并行地 运行 ?资源为所有用户共享 ?各台计算机无主次之分 ?优点:坚定性强,维护方便,易于扩 充,高效率,经济性好。 19 操 作 系 统 | 操 作 系 统 引 论 37 CUIT 徐虹 ?分布式 OS:管理分布式系统资源 的 OS。 ?分布式 OS与网络 OS 的区别 ?要求一个统一的 OS ,实现系统操作 的统一性; ?系统透明性; ?分布式系统的基础是网络。 操 作 系 统 | 操 作 系 统 引 论 38 CUIT 徐虹 ?集群计算机的体系结构 ·单一人口点 ·单一文件层次 ·单一控制点 ·单一虚拟网络连接 ·单一存储空间 ·单一作业管理系统 ·单一用户界面 ·单一 I/O空间 ·单一进程空间 ·检测点技术 ·进程迁移 20 操 作 系 统 | 操 作 系 统 引 论 39 CUIT 徐虹 操 作 系 统 | 操 作 系 统 引 论 40 CUIT 徐虹 1. 3 现代 OS的特征和服务 ?OS的特征 ?并发 ( concurrence) ?在一段时间内,有多道程序在宏观上同 时执行,多道程序设计导致多个程序并 发执行。 ?共享 ( sharing) ?多道程序,多个用户作业共享有有限的 计算机系统资源。 21 操 作 系 统 | 操 作 系 统 引 论 41 CUIT 徐虹 ?虚拟 ( virtual) ?把物理上的一个变成逻辑上的多个 或扩大容量。 ?异步性( asynchronism) ?在 OS控制下的多个作业的执行顺序 和每个作业的执行顺序时间是不确定 的。而不是 OS本身的功能不确定或 用户程序的结果不确定。 操 作 系 统 | 操 作 系 统 引 论 42 CUIT 徐虹 ?OS 的服务 ?操作系统的公共服务类型 ?程序执行、 I/O操作、文件系统操作、 通信和差错检测。 ?系统调用 ?进程控制、文件操作、设备管理、 通信和信息维护 22 操 作 系 统 | 操 作 系 统 引 论 43 CUIT 徐虹 1. 4OS 的功能 ?处理机管理 ?存储管理 ?内存分配 ?存储保护 ?内存扩充(虚拟存储技术) ?地址映射 操 作 系 统 | 操 作 系 统 引 论 44 CUIT 徐虹 ?设备管理 ?缓冲管理 ?设备分配 ?设备处理 ?设备独立性和虚拟设备 ?信息管理(文件系统管理) ?文件存储空间的管理 ?目录管理,按名存取 ?文件的读写管理和存取控制 23 操 作 系 统 | 操 作 系 统 引 论 45 CUIT 徐虹 ?用户接口 ?程序一级接口(程序接口) ?OS提供一组系统调用供用户程序和 其它系统 程序调用,完成数据传输, 文件操作,资源分配等操作。 ?作业一级的接口(命令指令) ?提供一组控制操作命令(作业控制 语言)供用户去组织和控制自己作业 的运行。 ?图形接口 操 作 系 统 | 操 作 系 统 引 论 46 CUIT 徐虹 1. 5OS 的层次结构 ?OS的模块结构 ?把 OS系统,按功能划分为若干具有 一定大小和独立性的模块,并规定好 模块之间的接口,然后分头对各个模 块进行设计,最后再按照它们之间的 接口关系,把模块连接起来,形成一 个完整的,模块化的操作系统。 ?特点 24 操 作 系 统 | 操 作 系 统 引 论 47 CUIT 徐虹 ?有序分层法 ?实现方法 ?特点: ?把决定的无序性改为有序性。 ?把模块间的复杂依赖关系改为单向依赖。 ?设计低层软件时,不用考虑高层软件的实现 方法。 ?高层的错误不会影响低层。 ?不会产生递归调用,避免死锁发生。 操 作 系 统 | 操 作 系 统 引 论 48 CUIT 徐虹 Level Name Objects Example Operations 13 Shell User programming Statements in shell language environment 12 User processes User processes Quit, kill, suspend, resume 11 Directories Directories Create, destroy, search, list attach, detach, 10 Devices External devices, such Open, close, as printer, displays read, write and keyboards 9 File system Files Create, destroy, open, close, read, write 8 Communications Pipes Create, destroy, open , close, read, write 25 操 作 系 统 | 操 作 系 统 引 论 49 CUIT 徐虹 Level Name Objects Example Operations 7 Virtual Memory Segments, pages Read, write, fetch 6 Local secondary Blocks of data, device Read, write, allocate, free store channels 5 Primitive processes Primitive process, Suspend, resume, semaphores, wait, signal ready list 4 Interrupts Interrupt-handling Invoke, mask, programs unmask, retry 3 Procedures Procedures, call stack, Mark stack, call, return display 2 Instruction Set Evaluation stack, micro- Load, store, add, subtract program interpreter, branch scalar and array data 1 Electronic circuits Registers, gates, buses, Clear, transfer, activate, etc. complement 操 作 系 统 | 操 作 系 统 引 论 50 CUIT 徐虹 ?常用操作系统的层次模型 用户接口 (命令接口、程序接口、图形用户接口) 对对象操纵和管理的软件集合 (处理机管理软件、存储器管理软件、设备管理软件、文件管理软件) 操作系统对象 (处理机、存储器、设备、文件) 26 操 作 系 统 | 操 作 系 统 引 论 51 CUIT 徐虹 操 作 系 统 | 操 作 系 统 引 论 52 CUIT 徐虹 27 操 作 系 统 | 操 作 系 统 引 论 53 CUIT 徐虹 操 作 系 统 | 操 作 系 统 引 论 54 CUIT 徐虹 ?本章重点 ?操作系统的定义 ?操作系统的类型 ?多道程序设计的思想 ?操作系统的功能和特征 ?操作系统的层次模型