操作系统概念 第一章:导论
本章主要内容 操作系统是什么? 大型机系统 桌面系统 多处理器系统 分布式系统 集群系统 实时系统 手持系统 功能迁移 计算环境
1.1 操作系统是什么? 操作系统是管理计算机硬件的程序,它还为应用程序提供基础,并且充当计算机硬件和计算机用户的中介。 操作系统的两大目标: 执行用户程序,并且更易于解决用户问题; 更便于使用计算机系统; 以一种有效的方式保用计算机硬件
计算机系统组成部分 Hardware – provides basic computing resources (CPU, memory, I/O devices) Operating System - controls and coordinates the use of the hardware among the various application programs for the various users Applications programs – define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs) Users – (people, machines, other computers)
计算机系统组成部分的逻辑图
操作系统定义 资源分配器-管理与分配资源 控制程序-控制用户程序的执行和输入输出设备的操作 内核-一直运行在计算机上的程序(其他程序则为应用程序)
1.2 大型机系统 通过作业批处理以减少安装时间 作业自动序列化 - 作业操作之间的自动衔接。第一个基本的操作系统 常驻监控器
简单批处理系统的内存分布
多道程序批处理系统 同一时刻在内存中存在多道作业,这些作业以某种方式共享CPU
多道程序所需的OS特性 系统提供I/O routine 内存管理 - 系统必须为作业分配内存 CPU调度 - 系统必须从就绪作业当中选择其一运行 设备分配
分时系统 – 交互计算 CPU通过在作业之间的切换来执行多个位于内存中或物理存储器上的作业(CPU只能分配给那些在内存中的作业) 作业在内存与物理存储器之间来回交换(swap) 允许用户与系统之间的联机通信(交互) 当OS执行完一条命令后,它将接收用户通过键盘输入的下一条控制指令。 联机系统必须提供给用户访问数据和代码。
1.3 桌面系统 PC - 为单个用户服务的计算机系统 I/O设备 - 键盘,鼠标,显示器,打印机等 用户方便性和响应性 可以采用大型操作系统上的技术 通常人们都可以拥有一台计算机,从而CPU的利用率也不再是主要问题。所以,有些大型机OS的设计决策可能不再适用于小系统 可以运行多个不同类型的操作系统(Windows,MacOS,UNIX,Linux)
1.4 并行系统(paralel system) 流水线 这类系统有多个紧密通信的处理器 亦称为多处理器系统或紧耦合系统 紧耦合系统(tightly coupled system)- 处理器共享计算机总线、内存、时钟;通信常通过共享内存的方式来实现。 其主要优点: 增加吞吐量(throughput) 经济节约 增加可靠性(在某些情况下) 功能退化(graceful degradation) 容错系统(fault tolerant) 流水线
非对称处理(Asymmetric multiprocessing) 每个处理器被赋予一个特定的任务,主处理器为从处理器调度和安排工作。 类似于超大型系统 对称处理(Symmetric multiprocessing, SMP) 每个处理器都运行同一个操作系统的拷贝,这些拷贝需要互相通信 许多处理器可能同时运行而性能上不会有多大损失 例如N个处理器理念上可以同时运行N个进程 许多现代操作系统支持SMP Windows NT、Solaris、Digital UNIX、OS/2、Linux等
对称多处理体系结构
1.5 分布式系统(distributed system) 在若干个位于不同位置的处理器之间组成分布式计算 松耦合系统 (loosely coupled system) - 每个处理器都有自己的内存;处理器相互之间通过不同的通信线路进行通信,如高速总线或电话线 优点 资源共享 计算速度提高 可靠性 通信 需要网络基础结构 局域网(local-area network, LAN) 或 广域网(wide-are network, WAN) 根据节点间的距离来划分 可以是C/S系统或端对端系统
客户 - 服务器系统的通用结构
1.6 集群系统(clustered system) 集群系统将多个CPU集中起来完成计算任务。然而,集群系统与并行系统不同,它是由两个或多个独立的系统耦合起来的。 通常接受的定义是集群复读机共享存储并通过LAN网络紧密链接 通常用来提供高可用性(high availability) 非对称集群(asymmetric clustering): 一台机器处于热备份模式(hot standby mode),而另一台运行应用程序。热备份主机(机器)不做什么,只监视现役服务器。如果该服务器失效,热备份主机会成为现役服务器。 对称集群(symmetric clustering):两个或多个主机都运行应用程序,它们互相监视。
不管分布式计算机如何改善,绝大多数系统并不提供通用分布式文件系统。因此,绝大多数集群不允许对磁盘上的数据进行共享访问。因此,分布式文件系统必须提供对文件的访问控制和加锁,以确保不出现互为矛盾的操作。这种类型的服务通常称为分布式锁管理器(distributed lock manager, DLM) 全球集群
1.7 实时系统(real-time system) 当对处理器操作或数据流动有严格时间要求时,就需要使用实时系统。通常用于控制特定应用的设备。如控制科学实验,医疗成像系统,工业控制系统等等 实时系统有明确和固定的时间约束。 实时系统分为硬实时系统与软件实时系统两类 硬实时系统(hard real-time system)保证关键任务按时完成 对系统内所有延迟都有限制,包括从获取存储数据到要求操作系统完成任何操作的请求。通常只有少量或根本没有使用任何类型的辅助存储器,数据通常存在短期存储器或ROM中。 硬实时系统没有绝大多数高级操作系统的功能,这是因为这些功能常常将用户与硬件分开,导致难以估计操作所需时间。因此,硬实时系统与分时操作系统的操作相矛盾,两者不能混合使用。 软件实时系统(soft real-time system) 关键实时任务的优先级要高于其他任务的优先级,且在完成之前能保持其高优先级。与硬实时系统一样,需要限制操作系统内核的延迟:实时任务不能无休止地等待内核来执行它。 可以与分时系统集成在一起 在那些需要快速响应时间的应用程序(如多媒体、虚拟现实)中是非常有用的。
1.8 手持系统(handheld system) 个人数字助理(Personal Digital Assistants, PDAs) 蜂窝电话(Cellular telephones) 存在的问题 内存有限(32M – 64M) 低速处理器(只有个人计算机处理器速度的几分之一) 屏幕小(5英寸×3英寸)
1.9 操作系统概念与功能的变迁
1.10 计算环境 传统计算 基于Web的计算 嵌入式计算 PC, 服务器, 有限的远程访问 C/S和Web服务,便捷的远程访问,不用关心服务器的位置 嵌入式计算 嵌入式计算机是现在最为普遍的计算机,如汽车发动机、VCR、微波炉等等 系统功能比较简单,没有高级功能(如虚拟内存和磁盘) 只有少量或没有用户接口