计算机操作系统

第一章:操作系统引论

1.1操作系统的目标和作用
1.操作系统(OS)的目标

  • 方便性
  • 有效性
  • 可扩充性
  • 开放性

2.操作系统(OS)的作用

  • ①OS作为用户与计算机硬件系统之间的接口
  • ②OS作为计算机系统资源的管理者
  • ③OS实现了对计算机资源的抽象

3.推动操作系统发展的主要动力

  • ①不断提高计算机资源利用率
  • ②方便用户
  • ③器件的不断更新换代
  • ④计算机体系结构的不断发展
  • ⑤不断提出新的应用需求

1.2操作系统的发展过程
1.未配置操作系统的计算机系统

①人工操作方式:早期的操作方式是由程序员将事先已穿孔的纸带(或卡片),装入纸带输入机(或卡片输入机),再启动它们将纸带(或卡片)上的程序和数据输入计算机,然后启动计算机运行。仅当程序运行完毕并取走计算结果后,才允许下一个用户上机。

缺点:

  • (1)用户独占全机,即一台计算机的全部资源由上机用户所独占。
  • (2)CPU等待人工操作。当用户进行装带(卡)、卸带(卡)等人工操作时,CPU及内存等资源是空闲的。

2.单道批处理系统

1.单道批处理系统(Simple Batch Processing System)的处理过程:
为实现对作业的连续处理,需要先把一批作业以脱
机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下,使这批作业能一个接一个地连续处理。
在这里插入图片描述

2.单道批处理系统的缺点
单道批处理系统最主要的缺点是,系统中的资源得不到充分的利用 。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才继续运行。又因I/O设备的低速性,更使CPU的利用率显著降低。图1-5示出了单道程序的运行情况,从图可以看出:在t2 ~t3 t6~t7时间间隔内CPU空闲。
在这里插入图片描述

3.多道批处理系统

1.多道程序设计的基本概念
为了进一步提高资源的利用率和系统吞吐量,在20世纪60年代中期引入了多道程序设计技术,由此形成了多道批处理系统。图1-6示出了四道程序时的运行情况。
在这里插入图片描述

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

优点:
(1)资源利用率高。引入多道批处理能使多道程序交替运行,以保持CPU处于忙碌状态;在内存中装入多道程序可提高内存的利用率;此外还可以提高IO设备的利用率。
(2)系统吞吐量大。能提高系统吞吐量的主要原因可归结为:①CPU和其它资源保持“忙碌”状态;②仅当作业完成时或运行不下去时才进行切换,系统开销小。

缺点:
(3)平均周转时间长。由于作业要排队依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。
(4)无交互能力。用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,修改和调试程序极不方便。

多道批处理系统需要解决的问题

(1)处理机争用问题。既要能满足各道程序运行的需要,又要能提高处理机的利用率。
(2)内存分配和保护问题。系统应能为每道程序分配必要的内存空间,使它们“各得其所”,且不会因某道程序出现异常情况而破坏其它程序。
(3) IO设备分配问题。系统应采取适当的策略来分配系统中的I/O设备,以达到既能方便用户对设备的使用,又能提高设备利用率的目的。
(4)文件的组织和管理问题。系统应能有效地组织存放在系统中的大量的程序和数据,使它们既便于用户使用,又能保证数据的安全性。
(5)作业管理问题。系统中存在着各种作业(应用程序),系统应能对系统中所有的作业进行合理的组织,以满足这些作业用户的不同要求。
(6)用户与系统的接口问题。为使用户能方便的使用操作系统,OS还应提供用户与OS之间的接口。

4.分时系统

分时系统:在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。

1.分时系统的引入:是为了满足用户对人—机交互的需求,由此形成了一种新型OS。用户的需求具体表现在以下几个方面:

  • (1)人—机交互。
  • (2)共享主机。

2.分时系统实现中的关键问题
在多道批处理系统中,用户无法与自己的作业进行交互的主要原因是:作业都先驻留在外存上,即使以后被调入内存,也要经过较长时间的等待后方能运行,用户无法与自己的作业进行交互。

  • 1)及时接收
  • 2)及时处理

3.分时系统的特征
(1)多路性。
(2)独立性。
(3)及时性。
(4)交互性。

5.实时系统

1.实时系统的类型
(1)工业(武器)控制系统。
(2)信息查询系统。
(3)多媒体系统。
(4)嵌入式系统。

2.实时任务的类型
(1)周期性实时任务和非周期性实时任务。
(2)硬实时任务和软实时任务。

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

6.微机操作系统的发展
1.单用户单任务操作系统

最有代表的单用户单任务操作系统
(1).CP/M
(2).MS-DOS

2.单用户多任务操作系统

单用户多任务操作系统的含义是,只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善了系统的性能。

3.多用户多任务操作系统

多用户多任务操作系统的含义是,允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。

最有代表性的多用户多任务操作系统
(1).UNIX OS

1.3操作系统的基本特性

  1. 并发(Concurrence)

正是系统中的程序能并发执行这一特征,才使得OS能有效地提高系统中的资源利用率,增加系统的吞吐量。

1.并行与并发
并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生。而并发性是指两个或多个事件在同一时间间隔内发生。

  1. 引入进程
    在一个未引入进程的系统中,在属于同一个应用程序的计算程序和I/O程序之间只能是顺序执行,即只有在计算程序执行告一段落后,才允许IO程序执行;反之,在程序执行IO操作时,计算程序也不能执行。但在为计算程序和IO程序分别建立一个进程(Process)后,这两个进程便可并发执行。若对内存中的多个程序都分别建立一个进程,它们就可以并发执行,这样便能极大地提高系统资源的利用率,增加系统的吞吐量。

2.共享

目前主要实现资源共享的方式:

1.互斥共享方式
系统中的某些资源,如打印机、磁带机等,虽然可以提供给多个进程(线程)使用,但应规定在一段时间内,只允许一个进程访问该资源。为此,在系统中应建立一种机制,以保证多个进程对这类资源的互斥访问。
2.同时访问方式
系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”,在单处理机环境下是宏观意义上的,而在微观上,这些进程对该资源的访问是交替进行的。典型的可供多个进程“同时”访问的资源是磁盘设备。一些用重入码编写的文件也可以被“同时”共享,即允许若干个用户同时访问该文件。

3.虚拟

1.时分复用技术

(1).虚拟处理机技术
(2).虚拟设备技术

2.空分复用技术

4.异步

1.4操作系统的主要功能

1.处理机管理功能

1.进程控制
2.进程同步
3.进程通信
4.调度

(1)作业调度。
(2)进程调度。

2.存储器管理功能

1.内存分配

内存分配的主要任务是:
(1)为每道程序分配内存空间,使它们“各得其所”。(2)提高存储器的利用率,尽量减少不可用的内存空间(碎片)。
(3)允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。

OS实现内存分配的两种方式:
(1).静态分配:每个作业的内存空间是在作业装入
时确定的,在作业装入后的整个运行期间不允许该作业再申请新的内存空间,也不允许作业在内存中“移动
(2).动态分配:每个作业所要求的基本内存空间虽
然也是在装入时确定的,但允许作业在运行过程中继续申请新的附加内存空间,以适应程序和数据的动态增长,也允许作业在内存中“移动”

2.内存保护

内存保护的主要任务是:
①确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰。
②绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其它用户程序中去执行。

3.地址映射

在多道程序环境下,由于每道程序经编译和链接后所形成的可装入程序其地址都是从o开始的,但不可能将它们从“0”地址(物理)开始装入内存,致使(各程序段的)地址空间内的逻辑地址与其在内存空间中的物理地址并不相一致。为保证程序能正确运行,存储器管理必须提供地址映射功能,即能够将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。

4.内存扩充

内存扩充并非是从物理上去扩大内存的容量,而是借助于虚拟存储技术,从逻辑上扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多,以便让更多的用户程序能并发运行。这样既满足了用户的需要,又改善了系统的性能。为了能在逻辑.上扩充内存,系统必须设置内存扩充机制(包含少量的硬件),用于实现下述各功能:
(1)请求调入功能。
(2)置换功能。

3设备管理功能

设备管理的主要任务如下:
(1)完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作。
(2)提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。

为实现上述任务,设备管理应具有缓冲管理、设备分配和设备处理以及虚拟设备等功能。
1.缓冲管理
2.设备分配
3.设备处理

4 文件管理功能

1.文件存储空间的管理
2.目录管理
3.文件的读/写管理和保护
(1)文件的读/写管理。
(2)文件保护。

5 操作系统与用户之间的接口

1.用户接口
(1)联机用户接口。
(2)脱机用户接口。
(3)图形用户接口。
(2)文件保护。

6.现代操作系统的新功能

现代操作系统是在传统操作系统基础上发展起来的,它除了具有传统操作系统的功能外,还增加了面向安全、面向网络和面向多媒体等功能。

  • 1.系统安全
    (1)认证技术。
    (2)密码技术。
    (3)访问控制技术。
    (4)反病毒技术。
  • 2.网络的功能和服务
    (1)网络通信。
    (2)资源管理。
    (3)应用互操作。

5.OS 结构设计
1.传统操作系统结构

1.无结构操作系统
在早期开发操作系统时,设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。此时的OS是为数众多的一-组过程的集合,每个过程可以任意地相互调用其它过程,致使操作系统内部既复杂又混乱,因此,这种OS是无结构的,也有人把它称为整体系统结构。

2.模块化结构0S
1)模块化程序设计技术的基本概念
模块化程序设计技术是20世纪60年代出现的一-种结构化程序设计技术。该技术基于“分解”和“模块化”的原则来控制大型软件的复杂度。为使OS具有较清晰的结构,OS不再是由众多的过程直接构成的,而是按其功能精心地划分为若干个具有一定独立性和大小的模块。图1-7示出了由模块、子模块等组成的模块化OS结构。在这里插入图片描述
3)模块接口法的优缺点
利用模块-接口法开发的OS,较之无结构OS具有以下明
显的优点:
(1)提高OS设计的正确性、可理解性和可维护性。
(2)增强OS的可适应性。
(3)加速OS的开发过程。

模块化结构设计仍存在下述问题:
(1)在OS设计时,对各模块间的接口规定很难满足在模块设计完成后对接口的实际需求。
(2)在OS设计阶段,设计者必须做出一-系列的决定(决策),每一个决定必须建立在上一个决定的基础上,但模块化结构设计中,各模块的设计齐头并进,无法寻找一个可靠:的决定顺序,造成各种决定的“无序性",这将使程序人员很难做到“设计中的每一步决定”都是建立在可靠的基础上,因此模块-接口法又被称为“无序模块法”

  1. 分层式结构0S
    1)分层式结构的基本概念
    为了将模块-接口法中“决定顺序”的无序性变为有序
    性,引入了有序分层法,分层法的设计任务是,在目标系统An。和裸机系统(又称宿主系统)Ag之间,铺设若干个层次的软件A1、A2、A3、… Am-1, 使A。通过Am-1、 Am-2、 … A2、A1层,最终能在A上运行。在操作系统中,常采用自底向上法来铺设这些中间层。

2 .客户/服务器模式(CI ient/Server Model) 简介

1.客户/服务器模式的由来、组成和类型
客户/服务器系统主要由三部分组成。
(1)客户机:
(2)服务器:
(3)网络系统:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值