第1章 操作系统概述-1

2018-09-24  本文已影响0人  盆栽木只

为什么学习操作系统?

1.加深对使用的OS的理解,有利于深入编程:用户为了开发应用程序必须与操作系统打交道; 

2.编程时借鉴操作系统的设计思想和算法: 操作系统中所用的许多概念和技巧可以推广应用到其他领域;比如对JAVA虚拟机的理解

3.设计操作系统或者修改现有的系统: 嵌入式系统(Embedded OS);

课程定位

地位:计算机相关各专业的一门重要的专业技术基础课程

涉及的内容:现代操作系统变化巨大,其层次,内涵,及在应用领域、技术领域、服务领域等涉及内容很多,没有必要也不可能完全学完,高等学校《操作系统》课程还是局限于其基本原理部分。

现代操作系统不断变化

应用在变:从核心与外围都有变化,信息处理多元、海量、高速、高性能,要求越来越高——可配置,可拆卸,可剪裁,可替换

软件结构在变:重用,安装、配置;工具箱、服务组件、虚拟件等支持

硬件结构和平台在变:单核,多核,重核

OS结构、功能、性能、组件、算法、机制、接口、界面、安全等都在变化,但核心问题和核心机制没有变。

操作系统逐渐走下神坛

从监控程序→OS→组件式OS

从OS→OS工具箱→OS平台

从计算机→智能信息终端(手机、pda,嵌入式平台等)

OS原有的理论、机制与技术已经广泛应用于数据库、信息系统、移动系统…

人们对OS的理解逐渐深入,基于OS的编程和应用开发蓬勃开展

操作系统家族庞大

高端系统(大型机、阵列机…)

专用系统(实时、分布…)

桌面系统(个人通用OS)

智能终端系统(个人移动终端、手机…)

嵌入系统(智能设备、仪器…)

操作系统课程教学的层次

研究生                                  本科生                                专科生

• OS结构                              • OS原理                            • OS原理适度

• OS新发展                          • OS资源管理                    • OS平台操作

• OS新技术                          • OS系统服务                    • OS系统服务

• OS组件设计                      • 基于OS编程                    • OS编程适度

• OS系统设计                      • 主流OS案例                    • 主流OS应用

操作系统课程教学的层次(IEEE,ACM)

科学型                            工程型                            应用型

• 并发、并行                  • 并发、并行                 • 原理适度

• 结构、模型                  • 原理、技术                 • 操作、实践

• 算法、分析                  • 资源利用管理             • OS系统维护

• 设计、替换                  • 服务调用编程             • OS编程适度

• 改进、优化                  • 主流OS案例               • 主流OS应用

• 新结构新技术              • OS安全防护               • OS安全保护

1.1 操作系统的目标、作用和模型

1.  OS的目标

方便性:用户无需了解底层硬件,无需用0、1机器语言操作。(可以说不用手,用工具,进入石器时代了。)

有效性:CPU、I/O、存储等的管理专门、合理地被组织管理起来,提高资源的利用率。

可扩充性:扩充应用软件;适应硬件和体系结构发展,扩充底层管理功能模块等。

开放性:网络环境,遵循开放互联标准。

2.  OS的作用

1) 作为用户与计算机硬件系统之间的接口

* 达成了方便性的目标。*

用户通过OS来使用计算机系统。或者说,用户在OS帮助下,能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。

提供三种供用户操作OS的方式,如下图:

2)OS作为计算机系统资源的管理者

* 达成有效性目标 *

                 处理器       ——》                         处理器管理                Os

            存储器      ——》                         存储器管理                 主要

            I/O设备     ——》                         I/O设备管理                管理

                 信息(数据和程序)     ——》       文件管理                      功能

3)OS用作扩充机器

* 系统软件以及更上层的用户应用软件在操作系统虚拟机上运行:计算机成为功能更强大的多层虚拟机。

* 操作系统附加在裸机上第一层,对裸机的首次扩充: “虚拟机”

* 最低层:

物理“裸机”

目标                                                      作用

方便性:                                                1) 作为用户与计算机硬件系统之间的接口

有效性:                                                2)OS作为计算机系统资源的管理者

可扩充性:                                            3)OS用作扩充机器

开放性:

1.2 操作系统的发展过程

推动OS萌芽、发展、变化的主要动力:

1.方便用户

2.提高计算机资源利用率

3.硬件器件不断更新换代:8bit ->16,32

4.计算机体系结构的不断发展:单CPU,多CPU,网络

1. 人工操作方式

1946-50年代中:电子管时代,计算机速度慢,无操作系统,计算机资源昂贵;

工作方式:

                    用户:既是程序员又是操作员;用户是计算机专业人员;

                    编程语言:机器语言;

                    输入输出:纸带或卡片;

计算机工作特点:

                    用户独占全机,资源利用率极低;

                    CPU等待用户,计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或         卡片;CPU利用率低;

主要矛盾:

                    人机矛盾----人工操作严重降低了计算机资源的利用率

提高效率的途径:

                    脱机输入/输出技术。

2. 脱机输入/输出(Off-Line I/O)方式:

等待人工操作纸带输入数据的不是CPU,而是外围机,一定程度上解决人机矛盾。

脱机I/O方式的主要优点:

                    减少了CPU的空闲时间

                    提高I/O速度

脱机I/O方式的主要缺点:

                    系统开销大!

3. 单道批处理系统(Simple Batch Processing System)

作业成批、脱机方式输入到磁带或磁盘上

进一步减少脱机I/O中装卸磁带等耗时操作

系统监督程序(Monitor)控制作业自动过渡,一个接一个的连续处理。

特征:

            单道性

            顺序性

            自动性

优点:

            一定程度解决人机矛盾,CPU与I/O速度矛盾;

            提高了资源利用率和系统吞吐量;

            算做OS的前身,但还不是现在所理解的OS;

4. 多道批处理系统

* 一个重要思想诞生:多道程序设计 *

用户作业、外存上排队,称为“后备队列”;

作业调度程序、按一定的算法、从后备队列中选择若干作业 调入内存

入内存的作业、共享CPU和系统中的各种资源,自动批量处理。


“多道”程序有什么好处?

CPU利用率提高:减少了CPU等待时间(正在运行的程序若因为I/O操作暂停,可调度其他程序执行,不必装卸。)

内存利用率提高:容量尽可能多的被利用

多种I/O设备并发被使用,也提高了利用率

总体->系统吞吐量增加(虽然CPU总是串行的,但一段时间内被运行的作业数相对要多)

1)多道批处理系统的特征:

多道性

无序性

                作业入内存由算法决定,不按提交顺序。入内存后顺序执行。

调度性

                包括作业调度、进程调度

2)多道批处理系统的优缺点:

优点

            资源利用率高:CPU和内存利用率较高;

            系统吞吐量大:单位时间内完成的工作总量大;

缺点:

            平均周转时间长:短作业的周转时间显著增长;

            无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;

3)多道批处理系统解决的五大问题:

a.处理机管理问题

b.内存管理问题

c.I/O设备管理问题

d.文件管理问题

e.作业管理问题

操作系统是:一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度(多道),方便用户使用的程序的集合。

5.分时系统(time-sharing system)

1)分时系统的产生

用户的新需求是主要动力:

A.人—机交互

B.共享主机

C.便于用户上机

2)分时系统实现中的关键问题

交互:当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。

共享:强调即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。

            (1)及时接收:多路卡,缓冲区

            (2)及时处理:终端请求作业直接进入内存,设置时间片

3)分时系统的实现方法

改变批处理系统的运行方式:

                多个用户连接主机

                请求的作业发送到主机后,直接进入主机内存以快速响应

                系统采用时间片轮转方式处理服务请求

响应时间RT(response time)≈时间片×用户数

时间片:就是分配给进程运行的一段时间(time slice)。

4)分时系统的特征:

                多路、独立、及时、交互

多路性:多个用户同时使用一台计算机,共享CPU和其他资源,充分利用系统资源。

宏观上:是多个人同时使用一个CPU

微观上:多个人在不同时刻轮流使用CPU

独立性:用户感觉不到计算机为其他人服务,各用户独立操作,互不干扰。

及时性:通过时间片技术和轮转调度算法保证及时响应。

交互性:系统及时响应用户的请求,显著提高调试和修改程序的效率:缩短了周转时间。

6. 实时系统(Real-Time System)

实时系统是指:系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

实时系统的引入

                (1)实时控制

                            如:火箭发射随时停止,实时根据采集数据进行处理

                (2)实时信息处理

                            订票系统等,短时间内为用户做出正确回答

实时系统的实现

                系统必修有能够保证其承担的多个任务在规定的时间完成,调度和能力是关键。

                            (1)按任务执行时是否呈现周期性来划分

                                        周期性实时任务

                                        非周期性实时任务——截止时间

                            (2)根据对截止时间的要求来划分

                                        硬实时任务

                                        软实时任务

操作系统分类

(1)单用户OS:一次只能支持一个用户作业的运行。

(2)批处理OS:用户作业以成批的方式提交给计算机。

(3)分时OS:允许多个用户同时与计算机系统交互。

(4)实时OS:能够及时响应随机发生的外部事件,并对外部事件做出快速处理,对来自外部的请求和信号在限定的时间范围内做出响应。实时性和可靠性是其重要特点。

(5)网络OS:面向网络上多用户,提供基本的网络操作所需要的功能,如文件共享,内存管理和进程任务调度等。

(6)分布式OS:是最高级的操作系统,管理整个系统(包括网络)中的所有资源,负责所有资源的分配和调度、任务的划分和具体安排、信息传递和控制。

(7)嵌入式OS:与应用紧密结合、专用性很强、可裁剪。

分布式操作系统的主要特点是各节点的自治性;资源共享的透明性;各节点间的协同性;系统的坚定性。

分布式OS与网络OS的比较

1、分布性(控制和处理都是分布的)

                分布式OS不是集中地驻留在某一个站点,而是较均匀地分布在系统的各个站点上,所以OS的处理和控制功能是分布式的。

                计算机网络也具有分布处理功能,但网络的控制功能,是集中在某个主机或网络服务器中,或说控制方式是集中式的。处理是分布的。

2、并行性

                分布式处理系统,具有多个处理单元,分布式OS的任务分配程序可将多个任务分配到多个处理单元上,使这些任务并行执行,从而加速了任务的执行。

                计算机网络中,每个用户的一个或多个任务通常都在自己(本地)的计算机上处理,所以,在网络OS中无任务分配功能。

3、透明性

                分布式OS能很好地隐藏系统内部的实现细节,如:对象的物理位置,并发控制,系统故障等,对用户都是透明的。

                当用户访问某个文件时,只需提供文件名而无须知道它是驻留在哪个站点上,即可对它进行访问,即物理位置是透明的。

                网络OS,也有一定的透明性,但主要是指在操作实现上的透明性。如:当用户要访问服务器上的文件时,只需发出相应的文件存取命令,而无须了解对该文件的存取是如何实现的。

4、共享性

                分布式系统中,分布在各个站点上的软、硬件资源,可供全系统中的所有用户共享,并能以透明方式对它们进行访问。

                网络OS也能提供资源共享,但所共享的资源大多是设置在主机或网络服务器中,而在其它机器上的资源,只能由使用该机的用户独占。

5、健壮性

                分布式系统的处理和控制功能是分布的,任何站上的故障,都不会给系统造成太大的影响,并且,当某设备出现故障时,可通过容错技术实现系统重构,使系统能正常运行,所以,系统具有健壮性,即具有较好的可用性和可靠性。

                网络OS中,其控制功能大多集中在主机或服务器中,使系统具有潜在的不可靠性,此外,系统的重构功能也较弱。

上一篇下一篇

猜你喜欢

热点阅读