操作系统原理 Principles of Operating System 华中科技大学计算机学院 邵志远
使用过程中的问题 为什么要学习操作系统? 遇到计算机运行或打开硬盘上的程序的速度变慢,该怎么办? 原因:硬盘上的卷可能有过多的碎片,可能是由于最近创建了大量的文件或文件夹,或安装了新软件。 解决方案:如果必要,分析并整理硬盘上的卷碎片。
游戏中的现象 为什么要学习操作系统? 基本配置 推荐配置 CPU Pentium3 800MHz以上 Pentium4 1GHz以上 基本配置 推荐配置 CPU Pentium3 800MHz以上 Pentium4 1GHz以上 内存 256M以上 512M以上 显卡 GeForce2以上3D加速卡 Geforce4 Ti以上3D加速卡 硬盘 3G以上
操作系统做什么 为什么要学习操作系统? int main(int argc, char *argv[]) { #include <stdio.h> int main(int argc, char *argv[]) { puts("hello world"); return 0; }
为什么要学习操作系统? 掌握操作系统的基本理论,具备开发核心系统软件的技能,设计操作系统或者修改现有的系统 掌握并行处理的思想方法,加深对使用的OS的理解,有利于深入编程 用户为了开发应用程序必须与操作系统打交道 操作系统中所用的许多概念和技巧可以推广应用到其他领域 为后继课程打好基础——数据库、网络、分布式系统 了解当前流行的实际操作系统的使用方法与实现技术——UNIX、Linux,Windows
操作系统的工作: 操作系统课程特点 怎样学习操作系统 (1)程序的执行 (2)完成与硬件有关的工作 (3)完成与应用无关的工作 (4)计算机系统的效率与安全问题 操作系统课程特点 涉及面广 错综复杂 实践性强 怎样学习操作系统 深入理解教学内容 独立完成练习题 做好阶段复习 理论联系实际
教材: 操作系统原理(第四、三版) 庞丽萍 华中科技大学出版社 教材: 操作系统原理(第四、三版) 庞丽萍 华中科技大学出版社 参考教材: UNIX操作系统设计 莫里斯 · 贝奇 机械工业出版社 计算机操作系统 汤子瀛等 西安电子科技大学出版社 现代操作系统 陈向群等译 机械工业出版社 计算机操作系统教程 张尧学 史美林 清华大学出版社 操作系统基础 屠立德 屠祁 清华大学出版社
讲课学时安排 48+16 章节内容 学时 第一章 绪 论 3 第二章 操作系统的逻辑结构 第三章 用户界面 第四章 并发处理 10 第一章 绪 论 3 第二章 操作系统的逻辑结构 第三章 用户界面 第四章 并发处理 10 第五章 资源分配与调度 第六章 处理机调度 4 第七章 主存管理 8 第八章 输入/输出管理 第九章 文件系统 机动、复习 2
学习要求与成绩评定 学习要求: 课前预习,认真听讲,课后复习 遵守课堂纪律 成绩评定: 平时成绩+考试成绩 闭卷考试
第一章 绪 论 (一) 操作系统在计算机系统中的地位 (二) 操作系统的形成和发展 (三) 操作系统的定义 (四) 操作系统的功能 第一章 绪 论 (一) 操作系统在计算机系统中的地位 (二) 操作系统的形成和发展 (三) 操作系统的定义 (四) 操作系统的功能 (五) 操作系统的基本类型 (六) UNIX和Windows
存储程序式计算机的结构和特点 存储程序式计算机(Von Neumann计算机) 基本部件 CPU、主存储器、I/O设备、控制台 特点 集中顺序过程控制 集中控制:由CPU集中管理 顺序性:程序计数器控制 过程性:模拟人们手工操作过程
计算机系统的组成 应用软件 软件 编辑软件、编译软件 系统软件 操作系统 计算机系统 (层次结构) 提高系统效率方便用户使用 硬件及固件(裸机) 计算机系统的基础
(一)操作系统在计算机系统中的地位 操 作 系 统 计算机硬件 用户 用户 用户 用户 应用软件 支撑软件 管理信息系统、飞机订票系统、 银行系统、地理信息系统、 CAD系统、数字计算软件包… 管理信息系统、飞机订票系统、 银行系统、地理信息系统、 CAD系统、数字计算软件包… 语言编译程序、连接装配程序、 数据库管理系统、网络软件… 系统软件 操 作 系 统 计算机硬件 与硬件的关系: 控制CPU的工作、 访问存储器、 设备驱动、中断处理 与用户及应用程序的关系: 提供方便的用户界面、 提供优质的服务
(二)操作系统的形成和发展 提供更好的服务 操作系统发展是随着计算机硬件技术的发展而发展的。 目标: 充分利用硬件, 批处理 手工操 作阶段 联机 批处理 脱机 批处理 执行 系统 操作系统形成 多道程序系统 个人计算机操作系统 多道批处理系统 分时系统 网络操作系统 实时系统 分布式操作系统
ENIAC计算机(1946年,美国宾夕法尼亚大学) 运算速度:1000次/每秒, 数万个真空管, 占地100平方米 没有程序设计语言(甚至没有汇编),更谈不上操作系统. 程序员提前预约一段时间,然后到机房将他的插件板插到计算机里 期盼着在接下来的时间中几万个真空管不会烧断,从而可以计算自己的题目
第 1 阶段 手工操作阶段 硬件非常昂贵,没有操作系统 第 1 阶段 手工操作阶段 硬件非常昂贵,没有操作系统 特点: 工作效率极低:手工操作的慢速度与机器处理的高速度 每一用户都要自行编写涉及到硬件的源代码 工作量大,难度高,易出错,需要大量人力和物力 独占性、串行性 问题: 人机矛盾 机器速度 计算所需时间 人工操作时间 操作时间 : 机器运行时间 1万次/秒 1小时 3分钟 1 : 20 60万次/秒 1分钟 3分钟 3 : 1
第2阶段 单道批处理阶段 硬件昂贵,人力便宜,单任务自动批处理 第2阶段 单道批处理阶段 硬件昂贵,人力便宜,单任务自动批处理 简单批处理: 装入程序、运行、打印结果、撤出、再重复 用户把作业(卡片或磁带)交给负责调度的操作员(系统管理员),由操作员按作业类型分类编成一个作业序列,送到输入设备上。 常驻监督程序自动地装入程序、运行、撤出作业 (1)联机批处理 (2)脱机批处理 (3)执行系统
批 处 理 1. 联机批处理 2. 脱机批处理 特点:有监督程序,作业自动过渡 问题:CPU高速与I/O慢速的矛盾 解决:由卫星机负责I/O 批 处 理 1. 联机批处理 特点:有监督程序,作业自动过渡 问题:CPU高速与I/O慢速的矛盾 解决:由卫星机负责I/O 2. 脱机批处理 特点:主机与卫星机并行操作 问题:调度不灵活,保护问题 解决:硬件技术的发展—— 通道技术、中断技术
通道 一种专用部件,负责外部设备与内存之间信息的传输。 3. 执行系统: 定义: 借助于通道与中断技术,由主机控制I/O工作。原有的监督程序不仅要负责调度作业自动的运行,而且还要提供I/O控制功能。它常驻内存,称为执行系统。 特点:主机、外设并行操作;增加了保护能力 问题:处理机仍有空闲等待现象 通道 一种专用部件,负责外部设备与内存之间信息的传输。 中断 主机接到信号(来自CPU外部或内部)时,立即中止原来的工作,转去处理这一事件,处理完后,主机又回到原来工作点继续工作。
第 3 阶段 多道批处理阶段 硬件较以前便宜,人力昂贵 第 3 阶段 多道批处理阶段 硬件较以前便宜,人力昂贵 处理过程 在内存中同时存放几道相互独立的程序 在管理程序控制之下,相互穿插地运行,处理机和外设尽量处于忙碌状态 交互式分时处理 一台计算机,多个便宜终端 所有用户可与系统立即交互 调试比较方便
多道程序设计技术
多道程序设计技术 多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,在管理程序的控制下相互穿插地运行。当某道程序因某种原因不能继续运行下去时(如等待外部设备传输数据),管理程序便将另一道程序投入运行。 多道运行的特征: 多道 宏观上并行 微观上串行
分时技术与分时处理 分时技术: 分时计算机系统: 把处理机的响应时间分成若于个大小相等(或不相等)的时间单位,称为时间片,每个终端用户获得CPU,就等于获得一个时间片,该用户程序开始运行,当时间片到(用完),用户程序暂停运行,等待下一次运行。 分时计算机系统: 由于中断技术的使用,使得一台计算机能连接多个用户终端,用户可通过各自的终端使用和控制计算机,我们把一台计算机连接多个终端的计算机系统称为分时计算机系统,或称分时系统。
实时处理 什么是“实时” 实时处理 计算机对外来的信息能够以足够快的速度进行处理,并且在被控对象允许的时间范围内作出快速反应。 以快速反应为特征,对实时信号能在截止期限之内处理并作出反应。
第 4 阶段 操作系统的进一步发展 硬件非常便宜、人力昂贵 单CPU计算机方面 —— 批量操作系统、分时系统 向小型化、微型化计算机发展 —— 个人计算机操作系统 向网络化发展 —— 网络操作系统 向具有并行结构的计算机系统 ——多处理机操作系统 集群系统 分布式操作系统
(三)操作系统的定义 操作系统是计算机系统中的一个系统软件,是一些程序模块的集合—— 以尽量有效合理方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活,方便,有效的使用计算机,使整个计算机系统能高效的运行。 资源共享:多个计算任务对计算机系统资源的共同享用。 资源竞争:多个计算任务对计算机系统资源的争夺。
操作系统的定义 操作系统是一个大型的程序系统,它负责计算机的全部软、硬件资源的分配、调度工作,控制并协调并发活动,实现信息的存取和保护。它提供用户接口,使用户获得良好的工作环境。操作系统使整个计算机系统实现了高效率和高度自动化。 操作系统是整个计算机系统的核心。
操作系统的特征 并发:系统中同时存在多个程序处理多个同时性活动 共享:多个计算任务对系统资源的共同享用 宏观上:这些程序是同时在执行的 微观上:任何时刻只有一个程序在执行,即微观上这些程序在CPU上轮流执行 共享:多个计算任务对系统资源的共同享用 操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限的系统资源) 操作系统要对系统资源进行合理分配和使用 资源在一个时间段内交替被多个进程所用 不确定性:操作系统能处理大量的、随机的事件序列,使各用户的计算任务正确地完成。
(四)操作系统的功能 虚拟机观点 裸 机 :没有装配任何软件的计算机称为裸机。 命令解释、图形用户界面、用户程序 裸 机 :没有装配任何软件的计算机称为裸机。 虚拟机:装配有相应软件的机器称为虚拟机。 命令解释、图形用户界面、用户程序 系统调用 文件系统 处理机调度、内存管理 设备驱动,中断处理 裸机
操作系统的资源管理功能 一 处理机分配 二 存储器管理 把操作系统看成一个资源管理器。换句话说,从资源管理的角度看操作系统有如下四个功能: 1. 制定调度策略(调度原则) 2. 给出调度算法 3. 具体的实施处理机分派 二 存储器管理 1. 存储分配和存储无关性 2. 存储保护 3. 存储扩充
为用户提供一种简便的、统一的存取和管理信息的方法,并要解决信息的共享、数据的存取控制和保密等问题。 三 设备管理 1. 设备无关性 2. 设备分配 3. 设备的传输控制 四 软件资源管理 为用户提供一种简便的、统一的存取和管理信息的方法,并要解决信息的共享、数据的存取控制和保密等问题。
操作系统的资源管理功能 系统资源 处理机 存储器 I/O设备 软件资源 操作系统功能模块 处理机 管 理 存储器 管 理 设 备 管 理 文 件 系 统
(五)操作系统的类型 批处理操作系统 分时操作系统 实时操作系统 个人计算机操作系统 网络操作系统 分布式操作系统 嵌入式操作系统 自由软件和LINUX操作系统
多道批处理系统 在批处理系统中采用多道程序设计技术,就形成了批量操作系统。 该系统把用户提交的作业成批地送入计算机内存,然后由作业调度程序自动地选择作业运行。 优点: 缩短作业之间的交接时间,减少处理机的空闲等待时间,提高系统的吞吐量 缺点: 用户响应时间较长。用户既不能了解自己程序的运行情况,也不能控制计算机。
分时操作系统 特点: 多路调制性:众多联机用户可同时使用同一台计算机 独占性:各终端用户感觉到自己独占了计算机 交互性:用户与计算机之间可进行“会话”
实时操作系统 实时操作系统:对用户(外部)的请求,实时操作系统能在规定的时间内处理完毕。 响应时间 指用户发出命令,到系统开始执行命令所需的时间。 批处理操作系统 没有 分时操作系统 秒级(一般情况) 实时操作系统 微秒级 甚至更小(经典说法) 系统满足用户时限(deadline)的 要求 (现代)
实时操作系统 实时操作系统的类型: 实时操作系统特点: 实时控制: 工业过程控制、防空系统等 实时信息处理:情报检索和查询、飞机订票系统 实时控制: 工业过程控制、防空系统等 实时信息处理:情报检索和查询、飞机订票系统 实时操作系统特点: 系统对外部的信号必须能及时响应 要求高可靠性和安全性,效率则放在第二位 系统整体性强 不要求很强的“会话”能力
网络操作系统 计算机网络: 网络操作系统: 计算机技术与通信技术相结合的产物,是互连起来的计算机的集合。 主机:组成网络的独立自主的计算机系统。 子网:将入网主机连接起来的实体,任务是在入网主机之 间传递信息,以提供通信服务。 网络协议:网络中各主机之间传递信息的规则的集合。 计算机网络的组成 网络操作系统: 在通常的操作系统中增加了实现网络低层协议功能和网络设备管理功能的操作系统称为网络操作系统。
分布式系统 分布式系统是网络操作系统的更高级的形式,它保持了网络操作系统的全部功能。 从硬件上讲,它与计算机局域网没有任何区别。关键是软件。 特征: 1.统一性: 一个统一的操作系统 2.共享性: 资源进一步共享 3.透明性: 在用户眼中分布式计算机就是一台计算机 4.自治性: 处于分布式系统的多个主机处于平等地位 网络操作系统与分布式操作系统的主要不同是:网络操作系统可构架于不同的操作系统之上,即在异构系统上通过网络协议实现网络资源的统一配置,并不要求透明访问。
分布式系统 集群是分布式系统的一种。 集群(Cluster):由高速局域网连接多台计算机组成的虚拟计算机系统。
嵌入式操作系统 什么是嵌入式系统? 在嵌入式系统中的OS,称为嵌入式操作系统 在各种设备、装置或系统中,完成特定功能的软硬件系统 它们是一个大设备、装置或系统中的一部分,这个大设备、装置或系统可以不是“计算机” 通常工作在反应式或对处理时间有较严格要求环境中 由于它们被嵌入在各种设备、装置或系统中,因此称为嵌入式系统 手持系统 在嵌入式系统中的OS,称为嵌入式操作系统
嵌入式操作系统的应用 智能卡 移动通信 计算机外设 机顶盒 零售设备 印刷机 复印机 互联网服务器 电话交换设备
手持系统的特性 完成某一项或有限项功能;不是通用型的 内存少,处理机速度慢,屏幕小 为了减少手持设备尺寸,使用耗电更小,体积更小,速度更慢的处理器; 操作系统和应用程序的设计不能加重处理器的负担 有些手持设备可使用无线技术,允许远程访问电子邮件和浏览网页
个人计算机操作系统 Microsoft Windows系统 Unix系统 32位多任务操作系统 32位多用户分时操作系统 MS-DOS Windows 2000/2003 Windows NT Windows XP Unix系统 32位多用户分时操作系统 惠普计算机上的HP-UX IBM小型机上的AIX 苹果Mac上的AUX Linux Minix和FreeBSD
(六)UNIX和Windows UNIX系统是一个交互式的多用户分时操作系统 Windows是一个图形化的多任务操作系统
UNIX操作系统的发展 1965年:麻省理工学院、BELL实验室、通用电器公司组成MAC课题组联合研制Multics操作系统。 1969年Multics在GE645计算机上运行,但它既没有提供预定的综合计算服务,也不知什么时候算达到开发的目标。 BELL实验室退出了该课题组。 Multics操作系统设计目标是要向大的用户团体提供对计算机的同时访问,支持强大的计算能力与数据存储,以及允许用户在需要的时候容易共享他们的数据——“满足所有用户的所有要求”。
UNIX操作系统的发展 UNIX系统的作者:操作系统的设计不应也不可能做到“满足所有用户的所有要求”,而应为广大的计算机用户提供一种良好的程序设计环境。 1969年K. Thompson和 D. Ritchie 为了改善他们的程序设计环境,设计了宇宙旅行的游戏,后来演化成unix系统早期的版本。 Dennis Ritchie(创造了C语言)用C语言改写了早期的UNIX系统。 1974年在《ACM通信》上发表了“The unix Time-Sharing System”的论文,unix正式公布于世。
UNIX操作系统的发展 惠普计算机上的HP-UX IBM小型机上的AIX 苹果Mac上的AUX Minix和FreeBSD Linux
UNIX操作系统的主要特点 UNIX系统的成功有以下三个方面的原因 1. 设计思想正确合理 为广大的计算机用户提供一个良好的程序设计环境。 代码有效,容易适应特殊的需求。 2. 生逢其时、选择恰当 生逢其时 人们盼望有一个大小适中、功能齐全、使用方便的分时操作系统见世,就在人们翘首以待的时候,UNIX系统产生了。 选择恰当,C语言编写,可移植。在PDP-11系列的计算机上实现,该系统当时占据小型计算机的主要市场。 3. 特色明显、品质优良 良好的、通用的、多用户、多任务、分时操作系统
主要特点是: ⑴ 系统用高级语言编写 ⑵ 一个简单的用户界面---shell ⑶ 树形结构的文件系统 ⑷ 文件、设备统一处理 UNIX操作系统的主要特点 主要特点是: ⑴ 系统用高级语言编写 ⑵ 一个简单的用户界面---shell ⑶ 树形结构的文件系统 ⑷ 文件、设备统一处理 ⑸ 内核和核外程序的有机结合 ⑹ 丰富的核外系统程序
Linux操作系统 1990年秋天,Linus在芬兰首都赫尔辛基大学学习操作系统课程,因为上机需要排队等待,Linus买了台PC机,开发了第一个程序,程序包括两个进程,向屏幕上写字母,然后用定时器来切换进程. Linus需要终端仿真程序来存取Usenet新闻组的内容,于是他写了从调制解调器上接发信息的程序以及显示器、键盘和调制解调器的驱动程序,然后写了磁盘驱动程序,文件系统,一旦有了进程切换、文件系统和设备驱动程序,当然就拥有了一个操作系统原型,或者至少是它的一个内核. Linux是自由软件,并在专用网站上公布源代码。这样引起了全世界操作系统爱好者的兴趣,不断对其进行修改、补充和完善,这使得Linux日趋完善和成熟。 Slackware Linux、 Redhat Linux、 红旗Linux
Windows操作系统 微软公司 MS-DOS Win32, Win95 Windows 2000/2003 Windows NT Windows XP ......
一波三折的微软Windows操作系统 1983年10月,PC机竞争厂家的图形界面相关产品上市
Windows的历史记录 Windows在当时微软历史上创了几个记录:延迟交货次数最多, 投入开发人员最多,开发时间最长,更换主管人员最多 1992年4月,推出Windows 3.1, 1993年5月,发表Windows NT Windows 95,Windows CE,Windows 98,Windows 2000 个人计算机采用Windows占90%以上,微软公司成了垄断PC行 业的同义词
第一章 小 结 1. 存储程序式计算机的结构与特点 2. 操作系统在计算机系统中的地位 3. 操作系统的基本概念:定义、特征 第一章 小 结 1. 存储程序式计算机的结构与特点 2. 操作系统在计算机系统中的地位 3. 操作系统的基本概念:定义、特征 4. 操作系统的基本功能 5. 操作系统的基本技术:多道程序设计技术、分时技术 6. 操作系统的基本类型