当前位置:文档之家› 西南交通大学 操作系统 第一章

西南交通大学 操作系统 第一章

学习方法Operating Systems Design and Implementation 主讲:周杲 Zhou GaoEmail:gzhou@操作系统: 设计与实现详细阅读和理解操作系统基本原理 (教材 和讲义) 针对MINIX操作系统研究具体的实现代 码,建立完整的操作系统概念 完成课后作业和上机编程12主要参考书(Reference books)汤子瀛, 哲凤屏, 汤小丹 “计算机操作系 统”(修订版), 西安电子科技大学出版社 William Stallings, 魏迎梅等译, “计算机- 内核与设计原理”, 电子工业出版社 Andrew S. Tanenbaum, Operating Systems-Design and implementation(Second Edition), Prentice Hall & Tsinghua Univ. Press3第一章:引言主要内容:什么是操作系统 操作系统发展历史 现代操作系统特征 操作系统基本概念 用户接口 操作系统结构 操作系统的引导过程4§1.1 什么是操作系统1. 现代计算机系统的组成浏览器 编译器 计算机系统 银行系统 航空订票系统 编辑器 操作系统 机器语言 微程序 物理设备 硬件 ( 裸机 ) 命令解释器 系统程序 应用程序 软件2. 什么是操作系统用户 应用软件 其它系统软件 操作系统 硬件系统操作系统作为虚拟机 (Virtual Machine) 操作系统作为资源管理器5 61操作系统定义从用户的观点来看:操作系统就是将硬件细节 与程序员隔离开来,同时提供一个简洁的命名 文件方式的程序。

这样计算机成为了一个高度 抽象的设备——虚拟机。

从系统管理的观点来看:操作系统就是跟踪硬 件资源的使用状况,满足资源请求,提高资源 利用率,以及协调各程序和用户对资源的使用 冲突的软件——资源管理器7§1.2 操作系统发展历史1. 第一代计算机(1945~1955)电子管时代 操作系统:无 机器的使用方式:独占式&人工操作2. 第二代计算机(1955~1965)晶体管时代 操作系统:单道批处理系统 机器的使用方式:脱机输入输出&批处理8(1) 几个基本概念作业:指用户程序及其所需的数据和命令的集 合。

脱机输入输出:程序和数据的输入输出都是在 外围计算机的控制下完成的,或者说它们是脱 离主机进行的。

批处理(Batch Processing):指计算机系统对 一批作业自动进行处理的一种技术。

(2) 单道批处理操作系统单道批处理操作系统:系统对作业的处理都是 成批进行的、且在内存中始终只驻留一个作业。

联机批处理:慢速的输入/输出设备是和主机直 接相连并打交道。

脱机批处理:显著待征是增加一台不与主机直 接相连专门用于与输入/输出设备打交道的卫星 机。

主机不再直接与慢速的I/O设备打交道,而 是与速度相对较快的磁带机发生关系。

主机与 卫星机可以并行工作,二者分工明确,以充分 发挥主机的高速度计算能力。

9 10执行带 系统带 纸带机 卡片机 打印机 …… 卫星机 输入带3. 第三代计算机(1965~1980)集成电路时代 操作系统:多种操作系统日志主机(1) 多道批处理系统基本技术多道程序技术(multiprogramming):即同时把几个 作业放入内存,并允许它们交替执行,共享系统中 的各种硬、软件资源,使CPU达到最大利用率。

Spooling技术:即联机的即时外部设备操作 (Simultaneous Peripheral Operation On Line)。

它 利用程序分别模拟脱机输入、输出时的外围控制机 功能,这样外部设备获取的数据可以直接进入主机。

它可以使多个用户共享某一设备,提高了设备的利 用率,加快了程序的执行过程。

输出带典型操作系统:FMS(Fortran Monitor System, 即Fortran 监督系统);IBM/7094机上的IBM操 作系统IBSYS。

11122单道程序的工作程序CPU执行 用户程序 监控程序 I/O操作 计算I/O请求 启动I/O I/O完成计算I/O请求 启动I/O I/O完成计算多道程序运行特点多道:计算机内存中同时存放几道相互独立的程序。

宏观上并行:同时进入系统的几道程序都处于运行 过程中,即它们先后开始了各自的运行,但都未运 行完毕。

微观上串行:实际上,各道程序轮流地用CPU,交 替执行。

时间 T1 T2 T3 T4 T5 T6 T7 T8多道程序的工作程序A程序 CPU工作 A: I/O工作 B: I/O工作A:I/O请求B程序B:I/O请求A程序A:I/O请求B程序A:I/O工作A:I/O工作 B:I/O工作多道批处理系统:采用多道程序技术设计的批 处理系统就是多道批处理系统。

典型操作系统:IBM360上运行的OS/360操作 系统 。

时间13 14(2) 分时操作系统 (Time Sharing OS)分时技术:把处理机的运行时间分成很短的时 间片,按时间片轮流把处理机分配给各联机作 业使用。

用户程序5 用户程序4 用户程序3 用户程序2 用户程序1 T(ms) 0 20 40 60 80 100 120 140(3) 实时操作系统 (Real Time OS)实时系统:是指系统能及时响应外部事件的请 求,在规定的时间内(最后期限)完成对该事件 的处理,并控制所有实时任务协调一致的运行。

应用范围:实时控制和实时信息处理发展:已扩展了“最后期限”的范围,忙于其他 各种服务质量的问题。

例如:应用处理可以要 求信息通过网络传输,在一个指定的时间内实 现,或者以一定的传输速度进行。

15 16典型操作系统:分时系统CTSS和MULTICS4. 第四代计算机(1980~现在)大规模集成电路时代 特点:个人计算机和工作站 操作系统:现代操作系统(2) 网络操作系统 (Network OS)在个人操作系统基础上增加了网络功能,如网 络通信等的操作系统。

主要靠在个人操作系统 中配置一些附属软件来实现。

不归入基本的操 作系统。

(1) 主流的操作系统MS-DOS Windows ×× / Windows NT UNIX LINUX Mac OS17(3) 分布式操作系统 (Distributed OS)把一个任务划分为可以并行执行的多个子任务, 并动态地分配给组成计算机网络的各计算机的 处理器来并行地共同完成。

基本特征:处理上的分布,以及任务划分具有 透明性。

特点:运算速度快1835. MINIX的历史MINIX产生的背景(Andrew S. Tanenbaum) MINIX的特点MINIX最初版本用C基于IBM PC编写,源代码开放, 非常简洁。

MINIX 采用了比UNIX更模块化的组织方式,并着重 可读性,面向教学。

当代操作系统的演化多道程序、交互 多道程序 多道批处理 系统 分时共享 系统 人机交互 个人计算机 和工作站 系统软件 客户-服务器 人机界面 模型协议 网络通信 网络系统 实时、过程控制 实时系统 调度内存管理 调度 内存管理 保护 调度 保护 文件 设备MINIX & LINUX POSIX标准:相互兼容的UNIX系统必须支持 的一个最小的系统调用接口。

19现代操作系统20§1.3 现代操作系统特征并发(Concurrence) :宏观上,在一段时间内 有多道程序在同一时间间隔内发生。

共享(sharing) :主要指的是资源的共享。

即 系统中的软硬件资源不再为某个程序所独占, 而是供多个用户同时使用。

包含两种方式:互斥共享:某些资源虽可公用,在一段时间内只允 许一个作业访问该资源 。

同时访问:宏观上允许在一段时间内由多个进程同 时对它进行访问。

虚拟(Virtual) :是指把一个物理上的实体,变 为若干个逻辑上的对应物。

例如:虚拟机……异步性(Asynchronism)多道程序环境下,进程的并发执行常常受限于资源 以及自身特性,在微观上不断进行切换运行,导致 进程的执行速度各不相同,即使先运行的进程也有 可能后执行完毕,此即进程的异步性。

每个程序在执行时,多个程序间的执行顺序以及完 成每道程序所需的时间都是不确定的,因而也是不 可预知的。

但只要运行环境相同,作业经多次运行, 都会获得完全相同的结果。

21 22并发和共享是操作系统的两个最基本的特征。

且这两个特征互为条件。

§1.4 操作系统基本概念1. 进程(Process)进程:本质上是一个程序在一个数据集上的执行。

是一个动态的概念。

进程的实体执行程序所需的上下文环境 一段可执行的程序代码 程序运行时所需的数据变量、缓冲区以及堆栈等 核心映像(Coreimage):进程地址空间2. 文件 (File)文件和文件系统文件:简单的说,与设备无关,一段程序或数据的 集合就是文件。

文件系统:操作系统中与管理文件有关的软件和数 据称为文件系统。

文件的组织结构文件的构成:文件名+文件体;相关文件的存取说 明信息集合也组成文件-目录文件。

文件系统的构成:文件目录按层组织,一个目录下 可以有多个目录与文件,构成树状的层次结构。

目 录层次结构中的最顶端为根目录。

23 24进程的状态进程在其生命周期内可能包含的一个或几个阶段 进程树4根目录 目录1 目录1-1 文件1 文件2 文件3 目录2设备文件文件的分类:普通文件和设备文件 设备文件:把输入/输出硬件设备当作文件 来处理,每个设备都看成一个文件就是设备 文件。

块设备文件(Block Special Files):指可以 随机存取数据块的设备; 字符设备文件(Character Special Files): 指按字符流方式操作的设备。

虚拟文件-管道(Pipe):用来连接两个进程的 虚拟文件。

其实质是一个虚拟了的输入输入 文件。

进程 管道 进程AB25 26§1.5 用户接口命令接口:用户利用操作命令来组织和控制作业的执 行或管理计算机系统。

程序接口:即系统调用。

编程人员使用系统调用在自 己的应用程序中请求操作系统提供服务,例如申请和 释放外设等资源。

图形、窗口方式:用户通过屏幕上的窗口和图标来操 作计算机系统和运行自己的程序 用户接口是衡量一个 操作系统好坏的重要标志。

应用程序系统调用 用 户 命令 图形, 窗口 操作系统 计算机硬件271. 联机命令接口联机命令接口:允许用户在终端上键入命 令,以取得OS的服务,并控制自己程序的 运行。

过程:在终端的键盘上打入命令 终端处理程序接收命令,并显示在终端屏幕上 命令解释程序对命令进行分析、执行28外壳(Shell)什么是Shell?Shell是一个命令解释器(Command Interpreter) ,它不是操作系统的一部分。

相关主题