第一章 操作系统引论.

Slides:



Advertisements
Similar presentations
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
Advertisements

三级偏软考点. 第一章必考点 1. 计算机的进位数制 (1) 计算机中所有数据是二进制 0,1 表示 (2) 在现实生活中人们普遍使用十进制 如何把十进制转换成计算机所识别的二 进制?整数是除 2 取余法,小数是乘 2 取 整法.
高校教师、高级项目经理 任铄 QQ : 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
Edu.51cto.com 高校教师、高级项目经理 任铄 QQ : edu.51cto.com 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
操作系统原理 Principles of Operating System
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
第1章 计算机操作系统概述 1.1 存储程序式计算机模型 1.2 操作系统的发展历史 1.3 操作系统的基本概念 1.4 操作系统的逻辑模型
大学计算机基础 三、操作系统.
初级会计电算化 (用友T3) 制作人:张爱红.
《操作系统》 (第四版) 人民邮电出版社.
计算机操作系统 伍 俊 明 yue 计算机工程学院 伍俊明.
实用操作系统概念 张惠娟 副教授 1.
主讲教师:霍其润 操作系统 主讲教师:霍其润
UI(用户界面)集训班 Illustrator 高级班.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
Oracle数据库 Oracle 子程序.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
计算机基础知识 丁家营镇九年制学校 徐中先.
第一章 操作系统引论.
施耐德电气(中国)投资有限公司 运动控制部技术经理 李幼涵 高级工程师
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
中国科学技术大学计算机系 陈香兰 Fall 2013 第一讲 绪论 中国科学技术大学计算机系 陈香兰 Fall 2013.
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
面向对象建模技术 软件工程系 林 琳.
R in Enterprise Environment 企业环境中的R
存储系统.
SOA – Experiment 3: Web Services Composition Challenge
大学计算机基础 典型案例之一 构建FPT服务器.
走进编程 程序的顺序结构(二).
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
数 控 技 术 华中科技大学机械科学与工程学院.
Windows网络操作系统管理 ——Windows Server 2008 R2.
Online job scheduling in Distributed Machine Learning Clusters
数据挖掘工具性能比较.
CPU结构和功能.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
1.3 计算机软件系统 计算机系统组成:计算机硬件和计算机软件 计算机软件分两大类:系统软件和应用软件 系统软件: 应用软件
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
微机系统的组成.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
第四章 团队音乐会序幕: 团队协作平台的快速创建
VisComposer 2019/4/17.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
第1课 操作系统概论 本次课介绍如下知识: 1.1操作系统简介 什么是操作系统 操作系统的发展历史 1.2操作系统的运行环境 计算机系统的基本硬件结构 CPU的组成 输入/输出结构 存储结构 系统保护.
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
信号量(Semaphore).
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
OpenStack vs CloudStack
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第二节 C语言的特点.
Google的云计算 分布式锁服务Chubby.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
入侵检测技术 大连理工大学软件学院 毕玲.
网页版报名流程 Step 4 点击“详情”查阅具体岗位信息,输入身份数据及申请序列码进行最终报名
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
Presentation transcript:

第一章 操作系统引论

1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 操作系统的结构设计 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 操作系统的结构设计

1.1 操作系统的目标和作用 硬件系统(裸机):CPU、存储器(主存、辅存)、I/O、I/O控制系统 软件系统:系统软件、应用软件 1.1 操作系统的目标和作用 1.计算机系统的组成 硬件系统(裸机):CPU、存储器(主存、辅存)、I/O、I/O控制系统 软件系统:系统软件、应用软件 系统软件:管理计算机本身的操作。如操作系统、编译…. 应用软件:提供给用户进行解题。如,科学计算、事物管理

2.计算机系统的层次结构 图 1.1 计算机系统的层次结构

3.操作系统的目标 1. 方便性 2. 有效性 3. 可扩充性 4. 开放性 目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重。通常在计算机硬件上配置的OS,其目标有以下几点: 1. 方便性 2. 有效性 3. 可扩充性 4. 开放性

4. 操作系统的地位 计算机系统由硬件和软件组成 操作系统在硬件基础上的第一层软件 是其他软件和硬件之间的接口

应用软件设计者 应用软件设计者 操作系统设计者

5. 操作系统的作用 OS作为用户与计算机硬件系统之间的接口 OS作为计算机系统资源的管理者 OS用作扩充机器

6. 推动操作系统发展的主要动力 不断提高计算机资源利用率 方便用户 器件的不断更新换代 计算机体系结构的不断发展

1.2 操作系统的发展过程 1.2.1 无操作系统的计算机系统 1. 人工操作方式 1.2 操作系统的发展过程 1.2.1 无操作系统的计算机系统 1. 人工操作方式 从第一台计算机诞生(1945年)到50年代中期的计算机,属于第一代,这时还未出现OS。计算机操作是由用户采用人工操作方式直接使用计算机硬件系统,即由程序员将事先已穿孔(对应于程序和数据)的纸带(或卡片)装入纸带输入机(或卡片输入机),再启动它们将程序和数据输入计算机, 然后启动计算机运行。当程序运行完毕并取走计算结果后, 才让下一个用户上机。

2.人工操作方式的特点 特点: 用户独占全机 CPU等待人工操作 独占性 串行性 缺点: 计算机的有效机时严重浪费 效率低

3. 脱机输入/输出方式 在采用脱机输入输出方式时,程序和数据的输入输出都是在外围计算机的控制下完成的,即它们是脱离主机进行的,故称之为脱机输入输出操作。 脱机I/O方式的主要优点如下: (1)减少了CPU的空闲时间。 (2) 提高I/O速度。 图 1-2 脱机I/O示意图

脱机输入技术 为解决低速输入设备与CPU速度不匹配的问题,可将用户程序和数据,在一台外围计算机的控制下,预先从低速输入设备输入到磁带上,当CPU需要这些程序和数据时,再直接从磁带机高速输入到内存,从而大 大加快了程序的输入过程,减少了CPU等待输入的时间。

脱机输出技术 当程序运行完毕或告一段落,CPU需要输出时,无须直接把计算结果送至低速输出设备,而是高速地把结果送到磁带上,然后再另一台外围机地控制下,把磁带上的计算结果由相应的输出设备输出,着就大大加快了程序的输出过程。

1.2.2 单道批处理系统 批处理是指计算机系统对一批作业自动进行处理的一种技术。 单道批处理系统的处理过程 单道批处理在内存中仅有一道作业。 图 1-3 单道批处理系统的处理流程

2. 单道批处理系统的特征 (1) 自动性 (2) 顺序性  (3) 单道性  单道批处理系统是最早出现的一种OS,严格地说,它只能算作是OS的前身而并非是现在人们所理解的OS。 该系统的主要特征如下: (1) 自动性 (2) 顺序性  (3) 单道性

1.2.3 多道批处理系统 1. 多道程序设计的基本概念 在计算机内存中同时存放若干道已开始运行尚未结束的程序,它们交替运行,共享系统中的各种硬、软件资源,从而使处理机得到充分利用。 在该系统中, 用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。

磁带机 卡片 打印机 卡片阅读机 IBM1401 IBM7094 IBM1401 输入磁带 输出磁带 图1-4 早期批处理系统

$END Data for program $RUN $LOAD Fortran program $FORTRAN $JOB, 10,429754 Cherry Chen 图1-5 典型的FMS JOB 结构

图 1-6 单道和多道程序运行情况

2.多道批处理系统的特点 多道: 多道指某个作业占用CPU,若由于某种原因暂时不用CPU 则系统让第二个作业占用CPU 成批处理: 用户自己不能干预自己作业的运行,一旦发现作业错误不能及时改正,并延长开发软件时间,所以适用于成熟的程序。 无序性 调度性

3.多道批处理系统的优缺点 资源利用率高 (2) 系统吞吐量大 (3)可提高内存和I/O设备利用率 (4)平均周转时间长 (5)无交互能力。 适合大型科学计算、数据处理。

4.多道批处理需要解决的问题 处理机管理问题。 (2) 内存管理问题。 (3) I/O设备管理问题。 (4) 文件管理问题。 (5) 作业管理问题。

1.2.4 分时系统 1. 分时系统(Time-Sharing System)的产生 分时系统是为了满足用户需求所形成的一种新型OS。它与多道批处理系统之间,有着截然不同的性能差别。用户的需求具体表现在以下几个方面: (1) 人—机交互 (2) 共享主机 (3) 便于用户上机

终端 主机 图 1-7 分时系统示意图

2.分时系统的思想 采用时间片轮的方法,同时为许多终端用户服务,对每个用户能保证足够快的响应时间,并提供交互会话的功能。 时间片:将CPU的时间划分成若干个片段,称为时间片,操作系统以时间片为单位,轮流为每个终端用户服务 设计目标:对用户的请求及时响应,并在可能条件下尽量提高系统资源的利用率。 适合办公自动化、教学及事务处理等要求人机会话的场合。

3.分时操作系统工作方式 一台主机连接了若干个终端 每个终端有一个用户在使用 交互式的向系统提出命令请求 系统接受每个用户的命令 采用时间片轮转方式处理服务请求 并通过交互方式在终端上向用户显示结果 用户根据上步结果发出下道命令

4.分时系统实现中的关键问题 (1) 及时接收。 (2) 及时处理。 为实现分时系统,其中,最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时, 系统应能及时接收并及时处理该命令,再将结果返回给用户。 此后, 用户可继续键入下一条命令,此即人—机交互。即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理: (1) 及时接收。 (2) 及时处理。

5.分时操作系统特点 多路性 交互性 “独占”性 及时性 同时有多个用户使用一台计算机 宏观上:是多个人同时使用一个CPU 用户根据系统响应结果进一步 提出新请求(用户直接干预每一步) 用户感觉不到计算机为其他人服务 (OS提供虚机器,各个用户的虚 机器互不干扰) 多路性 交互性 “独占”性 及时性 系统对用户提出的请求及时响应

6.影响响应时间的因素 终端数目多少 调度算法(时间片的选取) 信息交换量和信息交换速度 机器处理能力 请求服务的时间长短及服务请求的分布

1.2.5 实时系统 “实时”,是表示“及时”,而实时系统(Real-Time System)是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。 特点:及时性要求高,系统可靠性高。

1.实时操作系统的分类 实时控制系统:通常是指以计算机为中心的生产过程控制系统,又称计算机控制系统。 如:钢铁冶炼和钢板轧制的自动控制、炼油、化工生产过程的自动控制,军事控制等。 实时信息处理系统:计算机及时接收从远程终端发来的服务请求,根据用户提出的问题对信息进行检索和处理,并在很短时间内对用户做出正确回答。例如:银行,机票订购系统、股市行情实时信息处理系统等。

2. 实时操作系统主要追求目标 对外部请求在严格时间范围内作出反应 高可靠性 安全性 完整性 实时系统必须和先进的技术装备相结合

3.实时系统与分时系统特征的比较 (1)多路性 (2)独立性 (3)及时性 (4)交互性 (5)可靠性

1.2.6 操作系统的发展 操作系统(包括其前身)成为独立的程序,已有40年的历史,它经过60和70年代的大发展时期,到80年代虽已趋于成熟,但它仍继续沿着两个方向继续向前发展,一个是随着计算机系统结构的发展,形成多处理机操作系统、网络操作系统和分布式操作系统;另一个则是把操作系统应用于微机,形成微机操作系统。

1.多处理机操作系统 在1975年前后,打破了以单处理机体系结构为主的局面,形成了由多台处理机通过互连网络连接在一起的计算机系统。近年来所推出的大、中、小型机,大多数都在采用多处理机体系结构,甚至在高档微机中也出现了这种趋势。

多处理机结构 紧密耦合(Tightly Coupled)多处理机结构 松散耦合(Loosely Coupled)多处理机结构

多处理机类型 主-从式 独立管理程序系统 浮动式管理程序控制方式

2. 网络操作系统 网络操作系统是建立在主机操作系统基础上,用于管理网络通信和共享资源,协调各主机上任务地运行,并向用户提供统一的、有效的网络接口的软件集合。 按网络所覆盖的地理范围和互连计算机之间的距离的不同,可把计算机网络分为两种: 广域网WAN(Wide Area Network) 局域网LAN(Local Area Network)

网络操作系统的基本功能 网络通信 资源管理 提供多种网络服务 提供网络接口

网络操作系统 用户应用程序 图1-8 局域网操作系统的结构 单机 操作系统 网络服务 应用程序 通信软件(协议支持) 通信软件(协议支持) 图1-8 局域网操作系统的结构

3. 分布式操作系统 1)分布式操作系统的功能 资源管理 任务分配 分布式进程同步和通信 管理程序浮动

2) 要解决的关键问题 分布式OS设计过程中要解决的关键问题: (1)通信原语的设计 (2)资源管理 (3)系统容错

3)分布式操作系统特征 1.系统内只有一个全局操作系统,采用分布式控制的办法,负责全系统的资源管理和运行控制。 2.资源进一步共享:系统内包含有多个物理资源和逻辑资源,它们可以动态地分配给各个任务 3.透明性: 资源共享,分布。系统对用户提供一个透明的、一体化的用户界面。 4.自治性: 处于分布式系统的多个主机处于平等地位,无主从关系所有资源都必须高度自治而相互配合地工作,它们之间不存在层次控制或主从控制的关系。 5.处理能力增强、速度更快、可靠性增强

4) 网络和分布式的区别 (1) 分布具有各个计算机间相互通讯, 无主从关系;网络有主从关系 (2) 分布式系统资源为所有用户共享; 而网络有限制地共享 (3) 分布式系统中若干个计算机可相互 协作共同完成一项任务

4.微型机(个人)操作系统 其追求目标是界面友好,使用方便, 丰富的应用软件。 计算机在某一时间内为单用户服务, (1) MS-DOS   计算机在某一时间内为单用户服务, 其追求目标是界面友好,使用方便, 丰富的应用软件。 (1) MS-DOS (2)微机多任务操作系统  微机多任务操作系统的分类  按系统结构分: 内在式(built-in)          贴附式(bolt-on )  按任务调度方式分:先决式(preemptive)           协作式(cooperative)

微型机操作系统(续) 1)内在式是指操作系统开始设计就把多任务功能构筑. 其中,如 OS/2和UNIX操作系统。 2)贴附式是指把多任务功能附加到一个单任务操作系统中而形 成,如Microsoft的Windows就是在DOS基础上加入多任务功能而构成的多任务操作系统。

微型机操作系统(续) 3)先决式是指由系统内部时钟来决定CPU由一个任务转移去执行另一个任务的时刻,转移时刻是系统以某种分配策略预先确定的,应用程序无权干预。如OS/2和UNIX都是先决式多任务操作系统。 4)协作式是指几个应用程序联合动作,通过某种通信方式来分享CPU。Windows和Novell公司的Netware网络操作系统是以协作式来工作的。

5. 嵌入式操作系统 1)什么是嵌入式系统: 在各种设备、装置或系统中,完成特定功能的软硬件系统 它们是一个大设备、装置或系统中的一部分,这个大设备、装置或系统可以不是“计算机” 通常工作在反应式或对处理时间有较严格要求环境中 由于它们被嵌入在各种设备、装置或系统中,因此称为嵌入式系统

2)嵌入式系统 软件:用于提供系统所需的功能和灵活性 硬件 = (处理器、ASIC、存储器…) 用于提供所需的性能以及部分安全机制 专用门阵列 模拟I/O 处理器核 存储器

3) 嵌入式操作系统 在嵌入式系统中的OS,称为嵌入式操作系统。 嵌入式操作系统,是运行在嵌入式智能芯片环境中,对整个智能芯片以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件。

4)典型嵌入式操作系统的特性 完成某一项或有限项功能;不是通用型的 在性能和实时性方面有严格的限制 能源、成本和可靠性通常是影响设计的重要 因素 占有资源少、易于连接 系统功能可针对需求进行裁剪、调整和生成 以便满足最终产品的设计要求

5)嵌入式操作系统开发环境 通常配有源码级可配置的系统模块设计 丰富的同步原语 可选择的调度算法 可选择内存分配策略 定时器与计数器 多方式中断处理支持 多种异常处理选择 多种通信方式支持 标准C语言库 数学运算库和开放式应用程序接口

6.操作系统领域中新的操作系统 有线电视机顶盒领域,PowerTV 移动通信领域,EPOC 掌上计算机领域,Palm OS 数字影像领域, Digita

1.3 操作系统的基本特性 1.操作系统的定义 操作系统(Operating System,简称OS)是控制和管理计算机硬件和软件资源的一个系统软件,是一些程序模块的集合。 它能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运行。 它是系统软件的核心,是计算机处理时必不可少的非常重要的软件。

2.操作系统的特征 并发性 共享性 虚拟性 异步性

3.并发性 并行性是指两个或多个事件在同一时间发生。 并发性是指两个或多个事件在同一时间间隔内发生。 (与并发相似,但多指硬件支持) 程序的并发执行,有效地改善了系统资源的利用率和提高了系统的吞吐量,但它使系统复杂化,操作系统必须具有控制和管理各种并发活动的能力。

4.共享性 操作系统与多个用户的程序共同使用计算机系统中的资源 资源共享是指系统中的硬件和软件资源不再为某个程序所独占,而是供多个用户共同使用。 并发和共享是操作系统两个最基本的特征,这两者之间又是互为存在条件的。 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,自然不存在资源共享问题。 若系统不能对资源共享实施有效的管理,也必将影响到程序的并发执行,甚至根本无法并发执行。

5.虚拟性 在操作系统中,所谓虚拟,是指把一个物理上的实体,变为若干个逻辑上的对应物。物理实体(前者)是实的, 而后者是虚的,相应地,用于实现虚拟的技术,称为虚拟技术。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、 虚拟外部设备和虚拟信道等。

6.异步性(Asynchronism) 在多道程序环境下,允许多个进程并发执行, 但由于竞争资源等因素的限制,使进程的执行不是“一气呵成,而是以“走走停停”的方式运行。 多道程序环境下程序的执行,是以异步方式进行的;每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定和不可预知的。进程是以人们不可预知的速度向前推进,此即进程的异步性。

1.4 操作系统的主要功能 从资源管理观点看,操作系统具有五大功能: 处理机管理 存储器管理 设备管理 文件管理 作业管理

1.处理机管理 主要任务:是对处理机的分配和运行实施有效管理。对处理机管理,可归结为对进程的管理。

进程管理的主要功能 进程控制:当用户作业要运行时,应为之建立一个或多个进程,并为它分配除处理机以外的所有资源,将它放入进程就绪队列。当进程运行完成时,立即撤消该进程,以便及时释放其所占有的资源。进程控制的基本功能就是创建和撤消进程以及控制进程的状态转换。 进程同步:所谓进程同步是指系统对并发执行的进程进行协调。最基本的进程同步方式是使诸进程以互斥方式访问临界资源。

进程管理的主要功能(续) 此外,对于彼此相互合作、去完成共同任务的诸进程,则应由系统对它们的运行速度加以协调。 进程通信:对于相互合作的进程,在它们运行时,相互之间往往要交换一定的信息,这种进程间所进行的信息交换称为进程通信。 进程调度:当一个正在执行的进程已经完成,或因某事件而无法继续执行时,系统应进行进程调度,重新分配处理机。进程调度是指按一定算法,如最高优先算法,从进程就绪队列中选出一进程,把处理机分配给它,为该进程设置运行现场,并使之投入运行。

2.存储器管理 存储器管理的主要任务: 为多道程序的并发运行提供良好环境; 便于用户使用存储器; 提高存储器的利用率; 为尽量多的用户提供足够大的存储空间。

存储器管理的功能 内存分配:多道程序能并发执行的首要条件是,各道程序都有自己的内存空间,因此,为每道程序分配内存是存储器管理的最基本功能。 内存保护:为保证各道程序都能在自己的内存空间运行而互不干扰,要求每道程序在执行时能随时检查对内存的所有访问是否合法。必须防止因一道程序的错误而扰乱了其它程序,尤其应防止用户程序侵犯操作系统的内存区。

存储器管理的功能(续) 地址映射:在多道程序的系统中,操作系统必须提供把程序地址空间中的逻辑地址转换为内存空间对应的物理地址的功能。地址映射功能可使用户不必过问物理存储空间的分配细节,从而为用户编程提供了方便。 内存扩充:由于物理内存的大小可能限制了大型作业或多个作业的并发执行,为了满足用户的要求并改善系统性能,必须对内存加以扩充。但我们无须去真正地增加内存空间,而只须借助于虚拟存贮技术,便可获得这样地效果,使系统能运行内存要求量远比物理内存大得多得作业,或让更多得作业并发执行。

3.设备管理 1)设备管理的主要任务: 为用户程序分配I/O设备; 完成用户程序请求的I/O操作; 提高CPU和I/O设备的利用率; 改善人机界面。

2)设备管理程序应具有的功能 缓冲管理:几乎所有的外围设备于处理机交换信息时,都要利用缓冲来缓和CPU和I/O设备间速度不匹配的矛盾,和提高CPU与设备、设备与设备间操作的并行程度,以提高CPU和I/O设备的利用率。 设备分配:系统根据用户所请求的设备类型和所采用的分配算法对设备进行分配,并将未获得所需设备的进程放进相应设备的等待队列。

设备管理程序应具有功能(续) 设备处理:启动指定的I/O设备,完成用户规定的I/O操作,并对由设备发来的中断请求进行及时响应,根据中断类型进行相应的处理。 虚拟设备功能:通常,把一次仅允许一个进程使用的设备称为独占设备。系统可通过某种技术使该设备成为能被多个用户共享的设备,以提高设备利用率及加速程序的执行过程。可使每个用户都感觉到自己在独占该设备。

4.文件管理 文件存储空间的管理 目录管理 文件读、写管理 文件保护 向用户提供接口

5.作业管理 1)作业管理的主要任务:是根据系统条件和用户需要,对作业的运行进行合理的组织、调度及相应的控制。 2)作业调度:作业调度是指根据系统的能力和当前作业的运行情况,按一定策略,从后备作业队列中选出一批作业,为它们分配所需的I/O设备和存储空间,将它们调入内存并为之建立相应的进程,使之成为具有获得处理机资格的侯选进程。 3)作业控制:作业控制是指作业从进入系统开始,直到运行完成的整个过程中,用户可通过某种形式向系统发出各种命令,以对自己的作业进行控制和管理。

1.5 操作系统的结构设计 1.5.1 软件工程的基本概念 1. 软件的含义 软件是指当计算机运行时,能提供所要求的功能和性能的指令和程序的集合,该程序能够正确地处理信息的数据结构;作为规范软件,还应具有描述程序功能需求以及程序如何操作使用的文档。 2. 软件工程的含义 软件工程是指运用系统的、规范的和可定量的方法,来开发、运行和维护软件。其目的是为了解决在软件开发中所出现的编程随意、软件质量不可保证以及维护困难等问题。

1.5.2 传统的操作系统结构 无结构OS 模块化OS结构 分层式OS结构

1. 无结构操作系统 在早期开发操作系统时,设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。这种OS是无结构的。 主要是编制紧凑程序,便于利用内存,对go to无限制,缺乏清晰的程序结构,难以维护和理解,增加了维护人员的负担。

2. 模块化OS结构 模块化程序设计技术,是基于“分解”和“模块化”原则来控制大型软件的复杂度的。将OS按其功能划分为若干个具有一定独立性和大小的模块。并规定好各模块间的接口, 各模块之间能通过该接口实现交互。

模块化OS结构优缺点 优点: 提高设计的正确性; 增强可适应性; 加速开发过程 缺点: 难保证模块完全正确; 未区分独占与共享资源。

3.分层式OS结构 有序分层的 高层只能调用低层功能,应考虑:嵌套、运行频率、公用模块、用户接口。 2) 层次的设置 a.程序嵌套 b.运行频率 c.公用模块 d.用户接口

1.5.3 微内核OS结构 客户/服务器模式 面向对象程序设计技术 微内核技术

1.客户/服务器模式 为了提高OS的灵活性和可扩充性而将OS划分为两部分, 一部分是用于提供各种服务的一组服务器(进程), 另一部分是内核,用来处理客户和服务器之间的通信。 在内核中还应具有其它一些机构,用于实现与硬件紧密相关的一些较基本的功能。

单机环境下的客户/服务器模式

客户/服务器模式的优点 (1)提高了系统的灵活性和可扩充性。 (2)提高了OS的可靠性。 (3)可运行于分布式系统中。

2. 面向对象的程序设计技术(Object-Orientated Programming) 1) 面向对象技术的基本概念 面向对象技术是20世纪80年代初提出并很快流行起来的。该技术是基于“抽象”和“隐蔽”原则来控制大型软件的复杂度的。OS中的各类实体如进程、线程、消息、存储器等,都使用了对象这一概念,相应地,便有进程对象线程对象、 存储器对象等。

2) 面向对象技术的优点 可修改性和可扩充性 继承性 正确性和可靠性

3 微内核技术 微内核技术的引入 微内核技术,是指精心设计的、能实现现代OS核心功能的小型内核,它运行在核心态,且开机后常驻内存。 微内核的基本功能 (1) 进程管理。 (2) 存储器管理。 (3) 进程通信管理。 (4) I/O设备管理。

The End