操作系统第1章操作系统概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 由程序所生成的地址被称为虚拟地址(Virtual
Address),而由存储器使用的地址称为物理地址
(Physical Address)。完成检查和映射工作的装置被
称为内存管理单元(Memory Management Unit,
MMU)。它位于CPU芯片上或者CPU附近,在逻辑上
MMU位于CPU和存储器之间。
23
穿孔卡片
24
单道批处理
1.2.2 单道批处理系统(Simple Batch System) • 单道批处理系统是在20世纪50年代后期~60年代中 期,伴随着第二代计算机(晶体管计算机)的出现而 产生的。它是对上一节技术及工作流程的改进,具体 改进如下: • (1)设置专门的计算机操作及维护人员。 • (2)采用脱机方式进行输入/输出。 • (3)将磁带技术应用到计算机中。 • (4)设置作业说明书,在作业说明书上记录该程序 是属于哪个程序员的、需要的编译环境是什么、需要 的外设是什么。 • (5)编制一个监控程序,并让之常驻内存。 • (6)计算机内存中只能保留运行用户的一个程序。
30
分时系统
1.2.4 分时系统(Time-Sharing System)
• 批处理系统使用多道程序技术后,极大地提高了计算 机的利用率。但仍然存在以下两个问题: • (1)用户不能直接控制作业的运行。 • (2)作业的周转时间太长。在批处理系统中,用户
提交作业后通常需要经过几个小时甚至几天才能得到
19
异步性
3.异步性(Asynchronism) • 操作系统的第三个特性是异步性,或称随机性。在多 道程序环境中,允许多个进程并发执行,由于资源有 限而进程众多,多数情况,进程的执行不是一贯到底, 而是“走走停停”。例如,一个进程在CPU 上运行一 段时间后,由于等待资源满足或事件发生,它被暂停 执行,CPU 转让给另一个进程执行。系统中的进程何 时执行?何时暂停?以什么样的速度向前推进?进程 总共要花多少时间执行才能完成?这些都是不可预知 的,或者说该进程是以异步方式运行的,其导致的直 20 接后果是程序执行结果可能不唯一。
虚拟性
4.虚拟性(Virtual)
• 虚拟性是指操作系统中的一种管理技术,它是把物理 上的一个实体变成逻辑上的多个对应物,或把物理上 的多个实体变成逻辑上的一个对应物的技术。显然, 前者是实际存在的而后者是虚构假想的,采用虚拟技 术的目的是为用户提供易于使用、方便高效的操作环 境。例如,在多道程序系统中,物理CPU 可以只有一 个,每次也仅能执行一道程序,但通过多道程序和分 时使用CPU 技术,宏观上有多个程序在执行,就好像 有多个CPU 在为各道程序工作一样,物理上的一个 CPU 变成了逻辑上的多个CPU。
12
操作系统的处理过程
•
• •
进程管理与内存分配(接前面)
– 开始运行Hello程序的第一条指令 – 不断将指令从磁盘读入内存,再从内存读入到CPU寄存器中
系统调用
– 运行系统调用的指令进行字符串写操作 – 检查字符串的内容、位置是否正确
设备驱动与硬件工作
– 找到标准输出设备(伪终端)的控制进程,通知它要写字符串 – 显示器驱动进程接受指令,并占用CPU开始运行硬件驱动指令 – 显示器驱动负责检查字符串内容,并将其转换为物理象素阵列 – 将象素阵列填充到显示存储区中,驱动显示器硬件进行刷新显示
• 程序运行结束
– 屏幕上显示“Hello World”,显示器驱动进程退出CPU – 继续运行Hello程序的后续内容,直至退出
13
操作系统的地位
1.1.4 操作系统的地位
14
操作系统的地位
• 由此可见,操作系统是裸机之上的第一层软件,它只
在核心态模式下运行,受硬件保护,与硬件关系密切。 它不仅对硬件资源直接实施控制、管理,而且它的很 多功能的完成是与硬件动作配合起来实现的,如中断 系统。操作系统的运行要有良好的硬件环境,这种硬 件配置环境往往称做计算机的硬件平台。
21
无OS
1.2 操作系统的发展历史 1.2.1手工操作阶段(无OS)
22
无OS
早期的计算机存在几个问题: • (1)编程人员必须熟悉计算机的结构及所有外设。 • (2)计算机的利用率低。 • (3)程序员必须提前预约使用计算机。 • (4)程序员独占使用计算机的全部资源。计算机的 CPU和其他设备都在等待用户,而用户的处理时间大 部分花费在程序的输入上,所以计算机的利用率非常 低。 • (5)程序员必须牢记计算机使用的机器码。因为当 时没有编程语言,程序员就必须牢记CPU所能认识的 所有机器指令代码。
这些都是并发性的例子。
17
共享性
2.共享性(Sharing) • 共享性是操作系统的另一个重要特性。共享指操作系 统中的资源(包括硬件资源和软件资源)可被多个并 发执行的进程共同使用,而不是被一个进程所独占。 资源共享的方式可以分成两种: • 第一种是互斥访问。系统中的某些资源如打印机、磁 带机、卡片机,虽然它们可提供给多个进程使用,但 在同一时间内却只允许一个进程访问这些资源,即要 求互相排斥地使用这些资源。当一个进程正在使用该 资源时,其他欲访问该资源的进程必须等待,仅当该 进程访问完毕并释放资源后,才允许另一进程对该资 源访问。这种同一时间内只允许一个进程访问的资源 称临界资源,许多物理设备,以及某些数据和表格都 是临界资源,它们只能互斥地被共享。
2
计算机操作系统
第一章 第二章 第三章 第四章 第五章 第六章 操作系统概述 作业与界面管理(用户接口) 文件管理 内存管理 设备管理 进程管理
3
用户观点下的操作系统
第1章 操作系统概述 1.1 操作系统的概念 1.1.1 什么是操作系统 1.用户观点 • 从用户的观点看,操作系统应该提供一个人与计算机 打交道的接口,也就是人机接口。用户可以通过操作 系统提供的这个接口使用和控制计算机,从而达到计 算机为用户服务的目的。 • 接口的方式有:图形界面的接口(Graphical User Interface,GUI);命令行(Command Line,CL) 接口;软件编程的接口
15
操作系统的地位
• 操作系统是整个计算机系统的控制管理中心,其他所
有软件都建立在操作系统之上,操作系统对它们既有 支配权力,又为其运行建造必备的环境。因此,在裸 机之上每加一层软件后,用户看到的就是一台功能更 强的机器,通常把经过软件扩充功能后的机器称为 “虚拟机”。在裸机安装操作系统之后,就为其他软 件和用户提供了工作环境,往往把这种工作环境称为
软件平台。
16
并发性
1.1.5 操作系统的主要特性
1.并发性(Concurrence) • 并发性是指两个或两个以上的事件或活动在同一时间 间隔内发生。操作系统是一个并发系统,并发性是它 的重要特征,操作系统的并发性指它应该具有处理和 调度多个程序同时执行的能力。多个I/O 设备同时在 输入输出;设备I/O 和CPU计算同时进行;内存中同 时有多个系统和用户程序被启动并交替、穿插地执行,
9
操作系统的主要功能
1.1.3 操作系统主要功能
10
课堂讨论:Hello World
#include <stdio.h> int main(int argc, char *argv[]) { puts("hello world"); return 0; }
11
操作系统的处理过程
• 人机交互阶段
分时系统的特征
分时操作系统具有以下特性: • 同时性:若干个终端用户同时联机使用计算机,分时 就是指多个用户分享使用同一台计算机的CPU 时间。 • 独立性:终端用户彼此独立,互不干扰,每个终端用 户感觉上好像他独占了这台计算机。 • 及时性:终端用户的立即型请求(即不要求大量CPU 时间处理的请求)能在足够快的时间之内得到响应(通 常应该为2-3 秒钟)。这一特性与计算机CPU的处理速 度、分时系统中联机终端用户数目和时间片的长短密 切相关。 • 交互性:人机交互,联机工作,用户直接控制其程序 的运行,便于程序的调试和排错。
– 用户通过鼠标双击、DOS命令来执行该程序 – 操作系统检查命令的合法性、参数的类型和内容
•
文件系统开始工作
– 根据目录管理机制找到执行文件的磁盘位置 – 读取文件头,定位“数据段”和“代码段”的位置
•
进程管理与内存分配
– 在内存中创建新的子进程,用于执行Hello程序 – 将Hello程序映射到进程结构中,读入指令内容 – 通过进程调度,使得Hello程序获得CPU运行权 – 设置CPU运行的上下文环境,开始执行Hello程序
18
共享性
• 第二种是同时访问。系统中还有许多资源,允许同一 时间内多个进程对它们进行访问,这里“同时”是宏 观上的说法。典型的可供多进程同时访问的资源是磁 盘。 • 与共享性有关的问题是资源分配、信息保护、存取控 制等,必须要妥善解决好这些问题。 • 共享性和并发性是操作系统两个最基本的特性,它们 互为依存。一方面,资源的共享是因为程序的并发执 行而引起的,若系统不允许程序并发执行,自然也就 不存在资源共享问题。另一方面,若系统不能对资源 共享实施有效管理,必然会影响到程序的并发执行, 甚至程序无法并发执行,操作系统也就失去了并发性, 导致整个系统效率低下。
25
脱机批处理
26
多道批பைடு நூலகம்理
1.2.3 多道批处理系统(Multiprogrammed Batch System)
• 多道程序设计(MultiProgramming)是指允许多个程 序同时进入一个计算机系统的内存并交替运行的方法。 也就是说,计算机内存中同时存放了多道(二个以上相 互独立的)程序,它们均处于开始和结束点之间。从宏 观上看是并行的,多道程序都处于运行过程中,但都 未运行结束;从微观上看是串行的,各道程序轮流占 用CPU,交替地执行。引入多道程序设计技术的根本 目的是提高CPU 的利用率,充分发挥计算机系统部件 的并行性,现代计算机系统都采用了多道程序设计技 27 术。
单道批处理运行效率
28
二道批处理运行效率
29
多道批处理
下面小结一下操作系统中引入多道程序设计的好处: • 一是提高了CPU 的利用率; • 二是提高了内存和I/O 设备的利用率; • 三是改进了系统的吞吐率; • 四是充分发挥了系统的并行性。 要想实现多道程序设计,就必须妥善地解决以下三个问 题: • 存储保护与程序浮动; • CPU的管理和分配; • 系统资源的管理和调度。
操作系统
使用教材: 《计算机操作系统》
1
教学目的
• 奠定计算机专业知识基础
–了解操作系统概念和结构 –掌握操作系统相关算法和技术
• 提升计算机专业动手能力
–了解操作系统的设计、使用、管理方法 –综合程序设计、数据结构、计算机原理等知识
• 奠定长远专业发展
–塑造创造性思维、建立完整知识体系结构 –开拓专业性视野、明确未来专业发展方向
所需要的结果,这样的系统对于仅仅需要几分钟的短 作业就十分不利。
31
分时系统
• 分时的思想于1959 年由MIT 正式提出,并在1962 年开发出了第一个分时系统CTSS(Compatible Time Sharing System),成功地运行在IBM 7094 机上, 能支持32个交互式用户同时工作。其实现思想如下: 每个用户在各自的终端上以问答方式控制程序运行, 系统把中央处理器的时间划分成时间片,轮流分配给 各个联机终端用户,每个用户只能在极短时间内执行, 若时间片用完,而程序还未做完,则挂起并等待下次 分得时间片。由于调试程序的用户常常只发出简短的 命令,这样以来,每个用户的每次要求都能得到快速 响应,每个用户获得这样的印象,好像他独占了这台 计算机一样。实质上,分时系统是多道程序的一个变 种,CPU 被若干个交互式用户多路分用,不同之处在 于每个用户都有一台联机终端。 32
4
系统观点下的操作系统
2.系统观点
• 操作系统就是资源的分配者。 • 操作系统要对I/O设备和用户程序加以控制,保证设 备的正常运行,防止非法操作,及时诊断设备的故障 等。从这个意义上讲,操作系统又是工作流程的调度 者。
5
操作系统
6
计算机硬件组成
1.1.2 计算机系统概述
7
存贮器层次结构
8
存贮器相关概念
Address),而由存储器使用的地址称为物理地址
(Physical Address)。完成检查和映射工作的装置被
称为内存管理单元(Memory Management Unit,
MMU)。它位于CPU芯片上或者CPU附近,在逻辑上
MMU位于CPU和存储器之间。
23
穿孔卡片
24
单道批处理
1.2.2 单道批处理系统(Simple Batch System) • 单道批处理系统是在20世纪50年代后期~60年代中 期,伴随着第二代计算机(晶体管计算机)的出现而 产生的。它是对上一节技术及工作流程的改进,具体 改进如下: • (1)设置专门的计算机操作及维护人员。 • (2)采用脱机方式进行输入/输出。 • (3)将磁带技术应用到计算机中。 • (4)设置作业说明书,在作业说明书上记录该程序 是属于哪个程序员的、需要的编译环境是什么、需要 的外设是什么。 • (5)编制一个监控程序,并让之常驻内存。 • (6)计算机内存中只能保留运行用户的一个程序。
30
分时系统
1.2.4 分时系统(Time-Sharing System)
• 批处理系统使用多道程序技术后,极大地提高了计算 机的利用率。但仍然存在以下两个问题: • (1)用户不能直接控制作业的运行。 • (2)作业的周转时间太长。在批处理系统中,用户
提交作业后通常需要经过几个小时甚至几天才能得到
19
异步性
3.异步性(Asynchronism) • 操作系统的第三个特性是异步性,或称随机性。在多 道程序环境中,允许多个进程并发执行,由于资源有 限而进程众多,多数情况,进程的执行不是一贯到底, 而是“走走停停”。例如,一个进程在CPU 上运行一 段时间后,由于等待资源满足或事件发生,它被暂停 执行,CPU 转让给另一个进程执行。系统中的进程何 时执行?何时暂停?以什么样的速度向前推进?进程 总共要花多少时间执行才能完成?这些都是不可预知 的,或者说该进程是以异步方式运行的,其导致的直 20 接后果是程序执行结果可能不唯一。
虚拟性
4.虚拟性(Virtual)
• 虚拟性是指操作系统中的一种管理技术,它是把物理 上的一个实体变成逻辑上的多个对应物,或把物理上 的多个实体变成逻辑上的一个对应物的技术。显然, 前者是实际存在的而后者是虚构假想的,采用虚拟技 术的目的是为用户提供易于使用、方便高效的操作环 境。例如,在多道程序系统中,物理CPU 可以只有一 个,每次也仅能执行一道程序,但通过多道程序和分 时使用CPU 技术,宏观上有多个程序在执行,就好像 有多个CPU 在为各道程序工作一样,物理上的一个 CPU 变成了逻辑上的多个CPU。
12
操作系统的处理过程
•
• •
进程管理与内存分配(接前面)
– 开始运行Hello程序的第一条指令 – 不断将指令从磁盘读入内存,再从内存读入到CPU寄存器中
系统调用
– 运行系统调用的指令进行字符串写操作 – 检查字符串的内容、位置是否正确
设备驱动与硬件工作
– 找到标准输出设备(伪终端)的控制进程,通知它要写字符串 – 显示器驱动进程接受指令,并占用CPU开始运行硬件驱动指令 – 显示器驱动负责检查字符串内容,并将其转换为物理象素阵列 – 将象素阵列填充到显示存储区中,驱动显示器硬件进行刷新显示
• 程序运行结束
– 屏幕上显示“Hello World”,显示器驱动进程退出CPU – 继续运行Hello程序的后续内容,直至退出
13
操作系统的地位
1.1.4 操作系统的地位
14
操作系统的地位
• 由此可见,操作系统是裸机之上的第一层软件,它只
在核心态模式下运行,受硬件保护,与硬件关系密切。 它不仅对硬件资源直接实施控制、管理,而且它的很 多功能的完成是与硬件动作配合起来实现的,如中断 系统。操作系统的运行要有良好的硬件环境,这种硬 件配置环境往往称做计算机的硬件平台。
21
无OS
1.2 操作系统的发展历史 1.2.1手工操作阶段(无OS)
22
无OS
早期的计算机存在几个问题: • (1)编程人员必须熟悉计算机的结构及所有外设。 • (2)计算机的利用率低。 • (3)程序员必须提前预约使用计算机。 • (4)程序员独占使用计算机的全部资源。计算机的 CPU和其他设备都在等待用户,而用户的处理时间大 部分花费在程序的输入上,所以计算机的利用率非常 低。 • (5)程序员必须牢记计算机使用的机器码。因为当 时没有编程语言,程序员就必须牢记CPU所能认识的 所有机器指令代码。
这些都是并发性的例子。
17
共享性
2.共享性(Sharing) • 共享性是操作系统的另一个重要特性。共享指操作系 统中的资源(包括硬件资源和软件资源)可被多个并 发执行的进程共同使用,而不是被一个进程所独占。 资源共享的方式可以分成两种: • 第一种是互斥访问。系统中的某些资源如打印机、磁 带机、卡片机,虽然它们可提供给多个进程使用,但 在同一时间内却只允许一个进程访问这些资源,即要 求互相排斥地使用这些资源。当一个进程正在使用该 资源时,其他欲访问该资源的进程必须等待,仅当该 进程访问完毕并释放资源后,才允许另一进程对该资 源访问。这种同一时间内只允许一个进程访问的资源 称临界资源,许多物理设备,以及某些数据和表格都 是临界资源,它们只能互斥地被共享。
2
计算机操作系统
第一章 第二章 第三章 第四章 第五章 第六章 操作系统概述 作业与界面管理(用户接口) 文件管理 内存管理 设备管理 进程管理
3
用户观点下的操作系统
第1章 操作系统概述 1.1 操作系统的概念 1.1.1 什么是操作系统 1.用户观点 • 从用户的观点看,操作系统应该提供一个人与计算机 打交道的接口,也就是人机接口。用户可以通过操作 系统提供的这个接口使用和控制计算机,从而达到计 算机为用户服务的目的。 • 接口的方式有:图形界面的接口(Graphical User Interface,GUI);命令行(Command Line,CL) 接口;软件编程的接口
15
操作系统的地位
• 操作系统是整个计算机系统的控制管理中心,其他所
有软件都建立在操作系统之上,操作系统对它们既有 支配权力,又为其运行建造必备的环境。因此,在裸 机之上每加一层软件后,用户看到的就是一台功能更 强的机器,通常把经过软件扩充功能后的机器称为 “虚拟机”。在裸机安装操作系统之后,就为其他软 件和用户提供了工作环境,往往把这种工作环境称为
软件平台。
16
并发性
1.1.5 操作系统的主要特性
1.并发性(Concurrence) • 并发性是指两个或两个以上的事件或活动在同一时间 间隔内发生。操作系统是一个并发系统,并发性是它 的重要特征,操作系统的并发性指它应该具有处理和 调度多个程序同时执行的能力。多个I/O 设备同时在 输入输出;设备I/O 和CPU计算同时进行;内存中同 时有多个系统和用户程序被启动并交替、穿插地执行,
9
操作系统的主要功能
1.1.3 操作系统主要功能
10
课堂讨论:Hello World
#include <stdio.h> int main(int argc, char *argv[]) { puts("hello world"); return 0; }
11
操作系统的处理过程
• 人机交互阶段
分时系统的特征
分时操作系统具有以下特性: • 同时性:若干个终端用户同时联机使用计算机,分时 就是指多个用户分享使用同一台计算机的CPU 时间。 • 独立性:终端用户彼此独立,互不干扰,每个终端用 户感觉上好像他独占了这台计算机。 • 及时性:终端用户的立即型请求(即不要求大量CPU 时间处理的请求)能在足够快的时间之内得到响应(通 常应该为2-3 秒钟)。这一特性与计算机CPU的处理速 度、分时系统中联机终端用户数目和时间片的长短密 切相关。 • 交互性:人机交互,联机工作,用户直接控制其程序 的运行,便于程序的调试和排错。
– 用户通过鼠标双击、DOS命令来执行该程序 – 操作系统检查命令的合法性、参数的类型和内容
•
文件系统开始工作
– 根据目录管理机制找到执行文件的磁盘位置 – 读取文件头,定位“数据段”和“代码段”的位置
•
进程管理与内存分配
– 在内存中创建新的子进程,用于执行Hello程序 – 将Hello程序映射到进程结构中,读入指令内容 – 通过进程调度,使得Hello程序获得CPU运行权 – 设置CPU运行的上下文环境,开始执行Hello程序
18
共享性
• 第二种是同时访问。系统中还有许多资源,允许同一 时间内多个进程对它们进行访问,这里“同时”是宏 观上的说法。典型的可供多进程同时访问的资源是磁 盘。 • 与共享性有关的问题是资源分配、信息保护、存取控 制等,必须要妥善解决好这些问题。 • 共享性和并发性是操作系统两个最基本的特性,它们 互为依存。一方面,资源的共享是因为程序的并发执 行而引起的,若系统不允许程序并发执行,自然也就 不存在资源共享问题。另一方面,若系统不能对资源 共享实施有效管理,必然会影响到程序的并发执行, 甚至程序无法并发执行,操作系统也就失去了并发性, 导致整个系统效率低下。
25
脱机批处理
26
多道批பைடு நூலகம்理
1.2.3 多道批处理系统(Multiprogrammed Batch System)
• 多道程序设计(MultiProgramming)是指允许多个程 序同时进入一个计算机系统的内存并交替运行的方法。 也就是说,计算机内存中同时存放了多道(二个以上相 互独立的)程序,它们均处于开始和结束点之间。从宏 观上看是并行的,多道程序都处于运行过程中,但都 未运行结束;从微观上看是串行的,各道程序轮流占 用CPU,交替地执行。引入多道程序设计技术的根本 目的是提高CPU 的利用率,充分发挥计算机系统部件 的并行性,现代计算机系统都采用了多道程序设计技 27 术。
单道批处理运行效率
28
二道批处理运行效率
29
多道批处理
下面小结一下操作系统中引入多道程序设计的好处: • 一是提高了CPU 的利用率; • 二是提高了内存和I/O 设备的利用率; • 三是改进了系统的吞吐率; • 四是充分发挥了系统的并行性。 要想实现多道程序设计,就必须妥善地解决以下三个问 题: • 存储保护与程序浮动; • CPU的管理和分配; • 系统资源的管理和调度。
操作系统
使用教材: 《计算机操作系统》
1
教学目的
• 奠定计算机专业知识基础
–了解操作系统概念和结构 –掌握操作系统相关算法和技术
• 提升计算机专业动手能力
–了解操作系统的设计、使用、管理方法 –综合程序设计、数据结构、计算机原理等知识
• 奠定长远专业发展
–塑造创造性思维、建立完整知识体系结构 –开拓专业性视野、明确未来专业发展方向
所需要的结果,这样的系统对于仅仅需要几分钟的短 作业就十分不利。
31
分时系统
• 分时的思想于1959 年由MIT 正式提出,并在1962 年开发出了第一个分时系统CTSS(Compatible Time Sharing System),成功地运行在IBM 7094 机上, 能支持32个交互式用户同时工作。其实现思想如下: 每个用户在各自的终端上以问答方式控制程序运行, 系统把中央处理器的时间划分成时间片,轮流分配给 各个联机终端用户,每个用户只能在极短时间内执行, 若时间片用完,而程序还未做完,则挂起并等待下次 分得时间片。由于调试程序的用户常常只发出简短的 命令,这样以来,每个用户的每次要求都能得到快速 响应,每个用户获得这样的印象,好像他独占了这台 计算机一样。实质上,分时系统是多道程序的一个变 种,CPU 被若干个交互式用户多路分用,不同之处在 于每个用户都有一台联机终端。 32
4
系统观点下的操作系统
2.系统观点
• 操作系统就是资源的分配者。 • 操作系统要对I/O设备和用户程序加以控制,保证设 备的正常运行,防止非法操作,及时诊断设备的故障 等。从这个意义上讲,操作系统又是工作流程的调度 者。
5
操作系统
6
计算机硬件组成
1.1.2 计算机系统概述
7
存贮器层次结构
8
存贮器相关概念