670 likes | 980 Views
操作系统 (操作系统概论). 徐锋 Email: xf@ics.nju.edu.cn 南京大学计算机科学与技术系. 主要内容. 操作系统概念、地位、功能与目标 操作系统的主要特征 操作系统的发展与形成 操作系统分类 操作系统提供的服务与接口 操作系统结构 典型操作系统介绍. 什么是计算机系统?. 计算机系统通常包括以下几个关键部分:硬件、操作系统、应用程序和用户。. …. 用户 1. 用户 2. 用户 n. 应用程序. 系统程序. 操作系统. 计算机硬件. 计算机系统的层次结构. 硬件层:处理器 (CPU) 、存储器、 I/O 设备 …
E N D
操作系统(操作系统概论) 徐锋 Email: xf@ics.nju.edu.cn 南京大学计算机科学与技术系
主要内容 • 操作系统概念、地位、功能与目标 • 操作系统的主要特征 • 操作系统的发展与形成 • 操作系统分类 • 操作系统提供的服务与接口 • 操作系统结构 • 典型操作系统介绍
什么是计算机系统? • 计算机系统通常包括以下几个关键部分:硬件、操作系统、应用程序和用户。 … 用户1 用户2 用户n 应用程序 系统程序 操作系统 计算机硬件
计算机系统的层次结构 • 硬件层:处理器(CPU)、存储器、I/O设备… • 操作系统层:操作系统软件 • 系统程序层:编译器、数据库系统 … • 应用层:面向特定用户和特定应用的软件
什么是操作系统? • DOS、Windows、OS/2、Mac OS、Linux、Unix … • 操作系统是一个程序,充当计算机用户与计算机硬件之间的媒介,目的是为用户提供一个环境,使用户能够以便利和有效的方式运行程序。 • 操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件
操作系统的功能和目标 • 功能: • 资源管理(处理器管理、存储管理、设备管理、文件管理等) • 控制执行(进程调度、并发进程控制等) • 提供接口(作业管理等) • 目标: • 方便用户使用 • 提升机器能力 • 提高运行效率 • 提供开放环境
操作系统的主要特征 • 并发性 • 共享性 • 异步性 • 虚拟性
操作系统的主要特征—— 并发性 • 并发性,指两个或两个以上的事件或活动在同一时间间隔内发生 • 提高资源利用率 • 增加管理复杂度 • 支持并发的操作系统,被称为多任务系统 • 并行性,指两个或两个以上事件或活动在同一时刻发生 • 并行是并发的特例,限制更严格
操作系统的主要特征—— 共享性 • 共享性,指操作系统中的资源可被多个并发执行的任务(作业)所使用 • 两类共享方式: • 互斥访问 • 同时访问
操作系统的主要特征—— 异步性 • 主要表现: • 任务执行的时间、推进速度等不定 • 事件发生的不可预期,如各种中断的发生 • 操作系统必须满足 • 能够处理随机发生的各种事件 • 在不同的事件序列中,确保任务(作业)的正确执行
操作系统的主要特征—— 虚拟性 • 虚拟性,是指操作系统中的一种管理技术,将物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术 • 例如:虚拟内存、多道程序设计、窗口技术、假脱机…
操作系统的发展与形成 • 手工操作阶段 • 管理程序阶段 • 多道程序设计和分时系统 • … 操作系统随计算机硬件的发展而发展
手工操作阶段—— ENIAC 1945年,美国宾夕法尼亚大学莫尔学院
手工操作阶段的缺点 • 用户独占资源,导致系统资源利用率低下 • 人工干预较多,浪费处理器时间,且极易出错 • 全程联机,导致计算时间较长 主要问题是,手工操作占用大量的作业时间,随着硬件计算速度的提高,该问题越来越突出。
管理程序阶段—— IBM709系列 控制台 机器全貌 1960年代,美国麻省理工大学
管理程序—— 作业控制语言 • JCL作业控制语言使用示例
中 断 处 理 设 备 驱 动 作 业 定 序 命令和JCL语言解释器 用 户 程 序 区 管理程序—— 内存组织
管理程序阶段的优缺点 • 优点: • 批处理方式,减少了人工干预,提高了效率 • 缺点: • 单道程序设计,导致系统资源利用率仍然较低 • 独占方式使用,单个作业等待时间过长 计算机硬件价格昂贵,致使人们寻求更高的资源利用率,和更高的资源共享度
多道程序设计与分时系统 • 多道批处理系统 • 其目标是提高作业的输入、输出和整个系统资源的利用率 • 分时系统 • 其目标是在多个用户共享时,保证能够以较快的速度响应用户的命令
多道批处理系统 • 工作示意,引入了I/O处理器的概念
单道程序与多道程序比较(一) • 单道程序,例某个数据处理问题,输入500个字符(花78ms),经CPU处理52ms后,将结果2000个字符存到磁带上(花20ms) ,重复进行,直至输入数据全部处理完毕。 78 130 150 228 280 300 378 430 450 时 间 输入机 处理器 磁带机
单道程序与多道程序比较(二) • 多道程序,例在前一计算任务处理的同时还接受了另一算题:从另一台磁带机上输入2000个字符(20ms),经42毫秒的处理后,从行式打印机上输出两行(约花 88ms) 。 78 130 150 228 280 300 378 430 450 时 间 输入机 P1 P2 P1 处理器 磁带机1 磁带机2 打印机
单道程序与多道程序比较(三) • 处理器利用率 • 单道, 52 /(78十52十20)≈ 35% • 多道,(52+42)/ 150 ≈ 63%
多道批处理的特点 • 采用多道程序设计提高了效率,即增长了单位时间的算题量,但对每道程序来说,却延长了计算时间。 • 多道程序设计技术提高资源利用率和系统吞吐率是以牺牲用户的响应时间为代价的。
多道批处理系统CPU利用率计算 • 假如一道程序等待I/O操作的时间占其运行时间的比例为p,当内存中有n道程序时,所有程序都等待I/O的概率是pn,那么, CPU利用率=1-pn n称多道程序的道数或度数,CPU的利用率是n的函数。
分时系统—— CTSS • 1959年MIT提出分时系统思想 • 1962年第一个分时系统CTSS,由MIT 的Fernando Corbato 等 人 在 一 台 改 装 过 的IBM 7090/7094 机 上 开 发 成 功 的, 当 时 有32 个 交 互 式 用 户。 • 时间轮片的方式分享CPU • 1965年,MULTICS, Unix的前身
分时系统 • 工作示意,引入用户终端的概念
分时系统中时间片长度的选取 • 时间片太短,将导致过多的进程切换,减低处理器利用率 • 时间片太长,将导致单个用户的等待时间过长 • 选取应综合考虑如下因素: • 机器速度 • 用户数量 • 响应时间要求 • 系统开销
操作系统的形成 • 中断技术、通道技术为基础技术 • 解决的主要问题 • 存储保护和程序浮动 • 处理器管理与分配 • 系统资源的管理和调度 • 磁盘(大容量永久存储器)的出现使得操作系统形成
操作系统分类 • 随着操作系统的形成与发展,出现了形形色色的系统,有必要对其进行分类 • 按功能与使用方式分类(基本分类方法): • 批处理操作系统 • 分时操作系统 • 实时操作系统
批处理操作系统 • 批量化处理作业方式的操作系统称为批处理操作系统(Batch Operating System) • 特点: • 用户脱机工作 • 成批处理作业 • 多道程序运行(早期为单道程序运行) • 作业周转时间长
分时操作系统 • 允许多个联机用户同时使用一台计算机系统进行计算的操作系统称分时操作系统 (Time Sharing Operating System) • 特点: • 同时性,多个用户同时 • 独立性,每个用户相对独立 • 及时性,快速响应用户请求 • 交互性,用户联机工作
实时系统 • 必须在一个事先定义好的时间限制内,对外部或内部的事件进行响应和处理 • 按满足条件的不同分为: • 硬实时系统 • 软实时系统 • 典型的实时系统 • 过程控制 • 信息查询 • 事务处理
微机操作系统 • 按运行的硬件平台分类: • 微机操作系统 • 并行操作系统 • 嵌入式操作系统,CE、Palm、Symbian • 网络操作系统, • 分布式操作系统
操作系统分类之微机操作系统 • DOS, Windows, OS2, MAC OS, Linux … • 功能与特点: • 由单用户单任务系统向多用户多任务系统发展 • 命令方式的用户接口向图形用户界面发展 • 现代微机操作系统, 增加了虚拟存储管理、网络通信、数据库、多媒体等支持,并具有: • 开放性、通用性、高性能,并普遍采用微内核结构
操作系统分类之并行操作系统 • V-Kernel, Meglos, MACH … • 功能与特点: • 针对并行计算机硬件而专门设计 • 配合并行算法、并行语言为程序的并行运行提供支撑 • 有利于发挥并行计算机的高效计算能力
操作系统分类之网络操作系统 • Unix, Netware, Windows NT • 功能与特点: • 为网络用户提供网络通信、资源管理和网络管理服务 • 通常有两种工作模式: • 客户/服务器(Client/Server) • 对等(Peer-to-peer) • 趋势(透明性): • 位置透明性,名空间透明性,管理维护透明性,安全权限透明性,通信透明性
操作系统分类之分布式操作系统 • Paln9, Amoeba, … • 功能与特点: • 实现分布环境下的资源管理、进程通信、任务分配
操作系统提供的服务和接口 • 从完成功能的角度看,包括如下基本服务 • 创建程序 • 执行程序 • 数据的输入输出 • 信息的存取 • 通信服务 • 错误检测和处理 • 从提高系统效率角度看,增加如下服务 • 资源分配 • 统计 • 保护
操作系统提供的服务和接口 • 操作系统通常提供两类接口提供上述服务 • 用户接口(User Interface) • 字符方式,shell程序 • 命令方式 • 批处理方式 (例如 JCL) • 图形用户界面,X-Window • … • 程序接口(API, Application),系统调用 • POSIX, Portable Operating System Interface based on UNIX • API函数库 (以API函数的形式提供系统调用, 但API函数并不都是进行系统调用)
操作系统提供的服务和接口 • 系统调用(服务) • 进程和作业管理 • 文件操作 • 设备管理 • 内存管理 • 信息维护 • 通信
操作系统提供的服务和接口 • 系统调用过程 • 由用户程序调用访管指令(陷入trap, 或异常)开始 用户程序 用户态 ④ ① 服务例程 ③ 内核态 ② 入口地址表
操作系统结构 • 操作系统具有如下特点,导致对其结构进行研究 • 复杂程度高 • 生长周期长 • 正确性难保证 • 操作系统的基本组成成分 • 内核,提供支持系统运行的基本功能和基本操作 • 进程,资源分配和调度的单位 • 线程,调度的单位 • 管程,管理共享资源的程序,一种同步机制 • 类程,管理私有资源的程序,子程序的扩充
操作系统结构——内核 • 内核 • 提供支持系统运行的基本功能和基本操作的一组程序模块 • 通常分为:微内核(microkernel)、单内核(monolithic kernel) • 内核通常需要提供三个方面的基本功能: • 中断处理 • 短程调度(进程调度) • 原语管理
操作系统结构——内核 • 内核运行有如下特征: • 中断驱动 • 执行连续 • 在屏蔽中断的状态下执行 • 为避免中断嵌套,必须屏蔽同级中断,另外为加快中断的处理,引入一些新的机制,如Linux中引入快慢中断和低半处理的概念。 • 可执行特权指令
操作系统结构——内核 • 内核工作过程,详见p39, 图1-8
操作系统结构发展与分类 • 整体式结构 • 层次式结构 • 虚拟机结构 • 客户服务器及微内核结构
整体式结构—— IBM S/360 • 优点: • 结构紧密,组合方便,效率高 • 缺点: • 模块独立性差,结构不清晰,正确性难保障,可靠性差,维护困难 模块1 模块2 模块n 模块3 模块4
层次式结构—— THE 1968年, Dijkstra与其学生一起完成。共分如下几层:
层次式结构—— THE • 优点: • 维护方便,每层功能相对独立,复杂问题可分层化简 • 缺点: • 通信开销大,效率较低 全序结构 半序结构