《【2017年整理】计算机操作系统原理讲义 chp1》由会员分享,可在线阅读,更多相关《【2017年整理】计算机操作系统原理讲义 chp1(16页珍藏版)》请在金锄头文库上搜索。
1、1计算机操作系统原理课程参考书1. 张 张尧学,史美林,计算机操作系统教程,清华大学出版社,1993 年 9 月2. Stallings98William Stallings, Operating Systems(3rd edition), 清华大学出版社, 1998 年 6月 3. 屠 屠立德,屠祁,操作系统基础(第二版),清华大学出版社,1995 年 9 月4. solomon David A. Solomon, Windows NT 技术内幕,清华大学出版社,1999 年 7 月,5. Vahalia Uresh Vahalia, UNIX 高级教程系统技术内幕,清华大学出版社, 199
2、9 年 5 月;课程要求作业:10%上机实验:10%考试:70%课程报告:10%第一章 绪论1.1 什么是操作系统1.1.1 操作系统的地位和目标操作系统 operating system(OS)图 1.1 计算机系统的组成操作系统在计算机系统中的地位操作系统的地位:紧贴系统硬件之上,所有其他软件之下(是其他软件的共同环境)引入操作系统的目标: 有效性(系统管理人员的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程 方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别 可扩充性(开放的观点):硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资
3、源共享和互操作1.1.2 操作系统的作用和组成操作系统的作用:几种观点(1) OS 是计算机硬件、软件资源的管理者。管理对象包括:CPU、存储器、外部设备、信息(数据和软件);管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)。(2) OS 是用户使用系统硬件、软件的接口。通常包括两种方式:计算机系统(层次结构)软件硬件及固件(裸机)应用软件系统软件编辑软件,编译软件操作系统2系统命令(命令行、菜单式、命令脚本式、图形用户接口 GUI);系统调用(形式上类似于过程调用,在应用编程中使用)。(3) OS 是扩展机(extended machin
4、e)/虚拟机(virtual machine) 。在裸机上添加:设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对 CPU);另外,为合理组织工作流程:作业管理、进程管理。操作系统的组成(1) 管理模块:针对不同管理对象的程序模块(通常称为操作系统核心)(2) 用户接口:如外壳(shell)、窗口系统 在 shell 中,通过运行其他程序来完成各种功能操作系统的非形式化定义(关键点):系统软件,程序模块的集合,资源管理和用户接口功能1.1.3 操作系统举例仅仅是列举,不作详述 MS OS: MS DOS, MS Windows 3.x, Windows 95, Windows N
5、T UNIX: BSD, SRV4, OSF1, Solaris, Linux Novell Netware1.2 操作系统的发展历史操作系统发展过程中主要讨论操作系统的外部特征。1.2.1 推动操作系统发展的主要动力“需求推动发展”(1) 提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算(2) 方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭)(3) 器件的发展:CPU 的位宽度(指令和数据)、快速外存1.2.2 手工操作1946 50 年代(电子管),集中计算(计算中心),计算机资源昂贵;工作方式 用户:用户既是程序员,又是操作员;
6、用户是计算机专业人员; 编程语言:为机器语言; 输入输出:纸带或卡片;计算机的工作特点1) 用户独占全机:不出现资源被其他用户占用,资源利用率低;2) CPU 等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU 利用率低;主要矛盾1) 计算机处理能力的提高,手工操作的低效率(造成浪费);2) 用户独占全机的所有资源;提高效率的途径专门的操作员,批处理31.2.3 单道批处理系统(simple batch processing)50 年代末 60 年代中(晶体管):利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理。可
7、使用汇编语言开发。批处理中的作业的组成:包括用户程序、数据和作业说明书(作业控制语言)“批”:供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)两种批处理方式(1) 联机批处理 慢速的输入输出处理仍直接由主机来完成; 用户提交作业:以纸带或卡片为介质; 操作员合成批作业:结果为磁带介质; 批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出。这时的问题:输入输出时,CPU 处于等待状态。(2) 脱机批处理(缓冲技术的一种)利用卫星机完成输入输出功能。主机与卫星机可并行工作
8、。卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。作业控制命令由监督程序(monitor)来执行,完成如装入程序、编译、运行等操作 优点:同一批内各作业的自动依次更替,改善了主机 CPU 和 I/O 设备的使用效率,提高了吞吐量 缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)通道和中断技术的出现60 年代初,发展了通道技术和中断技术,这些技术的出现使监督程序在负责作业运行的同时提供 I/O 控制功能。 通道用于控制 I/O 设备与内存间的数据传输。启动后可独立于 CPU 运行,实现 CPU 与I/O 的并行。 通道:
9、专用的 I/O 处理器,可与 CPU 并行工作使 I/O 联机处理 中断是指 CPU 在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。 中断:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务)处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定)监督程序发展为执行系统(executive system),常驻内存单道批处理的主要问题CPU 和 I/O 设备使用忙闲不均(取决于当前作业的特性)。对计算为主的作业,外设空闲;对 I/O 为主的作业,CPU 空闲;1.2.4 多道批处理系统(mult
10、iprogramming system)60 年代中 70 年代中(集成电路),利用多道批处理提高资源的利用率。4多道批处理的运行特点: 多道:内存中同时存放几个作业; 宏观上并行运行:都处于运行状态,但都未运行完; 微观上串行运行:各作业交替使用 CPU;在当前运行的作业需作 I/O 处理时,CPU 转而执行另一个作业。(I/O 完成后是否立刻恢复执行?要等到其他程序再次 I/O 时)多道批处理系统的特征 优点:资源利用率高:CPU 和内存利用率较高;作业吞吐量大:单位时间内完成的工作总量大; 缺点:用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;作业平均周转时间长
11、:短作业的周转时间显著增长;批处理:交互性差提高对 CPU 利用率;分时处理:用户与应用程序随时交互,控制程序运行,适于商业和办公事务处理缩短响应时间1.2.5 分时系统(time-sharing system)70 年代中期至今“分时”的含义分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源(注意区分:硬件各部分的分时,如 CPU 和 DMA 使用总线和内存)。(1) 多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由 CPU 执行,处理完一次用户输入后程序暂停,等待下一次用户输入时走时停(2) 前台和后台程序(
12、foreground & background) 分时:后台程序不占用终端输入输出,不与用户交互现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台通常按时间片(time slice)分配:各个程序在 CPU 上执行的轮换时间抢先式和非抢先式(preemptive & non-preemptive):出让 CPU 是 OS 强迫或程序主动 抢先式:OS 强近出让 CPU; 非抢先式:程序主动出让 CPU;分时系统的特点(1) 人机交互性好。在调试和运行程序时由用户自己操作。(2) 共享主机:多个用户同时使用。(3) 用户独立性:对每个用户而言好象独占主机。现在的许
13、多操作系统都具有分时处理的功能,在分时系统的基础上,操作系统的发展开始分化,如实时系统、通用系统、个人系统等。1.2.6 实时系统(real-time system)用于工业过程控制、军事实时控制、金融等领域,包括实时控制、实时信息处理要求:响应时间短,在一定范围之内;系统可靠性高任务的类型: 周期性实时任务:5 非周期性实时任务:截止时间(deadline),开始截止时间(最晚开始时间)和完成截止时间(最晚完成时间)硬实时任务和软实时任务(hard and soft real-time task)目前的操作系统,通常具有分时、实时和批处理功能,又称作通用操作系统。可适用于计算、事务处理等多种
14、领域,能运行在多种硬件平台上,如 UNIX 系统、Windows NT 等。通用化、小型化1.3 操作系统的分类操作系统分类主要讨论操作系统的内部特征。1.3.1 批处理操作系统(Batch Processing Operation System)作业的处理流程: 作业提交:作业的输入; 作业执行 作业完成:作业的输出;单道(uniprogramming)和多道批处理的比较:单道 多道内存使用 每次一个作业 每次多个作业(充分利用内存)作业次序 顺序,先进先出 无确定次序多道程序系统和多处理系统(multiprocessing system)的区别:前者指多个程序同时在内存中交替运行,后者指多
15、个处理器。批处理的主要特征:(1) 用户脱机使用计算机:作业提交后直到获得结果之前,用户无法与作业交互。(2) 作业成批处理:(3) 多道程序并行:充分利用系统资源。多道批处理系统的资源利用效率特征是基于各作业对系统资源的需求差异得到的。例如:有 3 个作业 A、B、C ,分别为计算、检索和打印作业,单道运行时间分别为 5 分、15 分和10 分钟。它们可并行在 15 分钟内完成 3 个作业。各资源的利用效率为:CPU 打印机 磁带单道 17% 33% 50%多道 33% 66% 100%多道批处理系统上的技术(1) 作业调度:作业的现场保存和恢复上下文切换(2) 资源共享:资源的竞争和同步互
16、斥(exclusion)和同步(synchronization)机制(3) 内存使用:提高内存使用效率(为当前由 CPU 执行的程序提供足够的内存)覆盖(overlay),交换(swap)和虚拟存储(virtual memory)(4) 内存保护:系统存储区和各应用程序存储区不可冲突存储保护(5) 文件非顺序存放、随机存取出现:作业管理、处理机管理、存储管理、外设管理、文件系统管理(file system)1.3.2 分时操作系统(Time Sharing Operating System)6分时的定义把计算机的系统资源(尤其是 CPU 时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片。分时系统的特征: 多路性:多个用户同时工作,共享系统资源,提高了资源利用率。节省维护开支,可靠性高:笨终端至今仍在使用。促进了计算机的普遍应用,提高资源利用率:远地