全面认识计算机操作系统(二)

目录

一、操作系统的诞生

相关概念:

1. 手工操作阶段

2. 脱机输入 / 输出阶段

(1)脱机输入技术

(2)脱机输出技术

3. 单道批处理阶段

4. 多道批处理阶段

5. 分时技术产生

6. 实时系统产生

二、现代操作系统的新功能

1. 系统安全

(1)认证技术。

(2)密码技术。

(3) 访问控制技术。

(4)反病毒技才。

2. 网络的功能和服务

3. 支持多媒体

三、传统的操作系统结构

1. 无结构操作系统

2. 模块化OS结构

3. 分层式OS结构 

四、面向对象的程序设计技术(Object-Orientated Programming)

五、微内核OS结构

1. 基本概念

(1)足够小的内核

(2)基于客户/服务器模式

(3)应用“机制与策略分离”原理

(4)采用面向对象技术

2. 基本功能

(1)进程(线程)管理。

(2)低级存储器管理。

(3)中断和陷入处理。

3. 微内核操作系统的优点


一、操作系统的诞生

相关概念:

    ① 作业:指 用户程序 及 其所需数据 和 相关操作命令的 集合

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

    ③ 平均周转时间长:从 昨夜被 提交到 系统开始,到 作业完成 为止的 这段时间 间隔。

    ④ 单道程序:主存储器中 只存放一个程序。当该 程序发生 某种条件 等待时,CPU暂停 当前程序的 运行,处于 空闲状态

    ⑤ 批处理:将作业 组织成批,依次 将该批作业的 所有信息 全部输入计算机,计算机 按照作业 进入的 先后顺序依次 自动执行。

    ⑥ 时间片:一段很短的时间(e.g. 30ms)。

1. 手工操作阶段

        第一代计算机 并没有操作系统,也没 有任何软件,用户直接用 机器语言 和 符号语言 编制程序,并在 上机时独占 全部计算机资源。那时构 成计算机的 主要元件是 电子管,计算机 的运算速度只有 几千次 / 秒,速度 很慢。那时的 用户既是 程序员又是 操作员,上机 完全是 手工操作。

        操作员 先把装有 程序和 数据的 纸带(或卡片)装上 输入机,接着 通知输入 设备接受卡片,输入的程序 放在 存储器的 某个具体位置,紧接着 通知运算器 运行程序 并处理数据。计算完毕,通知 输出设备打印机 输出结果。用户取走 并卸下 纸带(或卡片)

        第二个程序上机,依次执行 上述过程。操作员 通过控制台的 各种开关来 指挥以上 各个部分的运行。这个 时期只有 操作员才能实现 对计算机的控制。

存在的几个突出问题:

    (1)用户独占全机。一台计算机 的所有资源 都归一个 用户独占,造成 资源浪费

    (2)用户必须 熟悉计算机的 各个部分细节。用户 既是操作员 又是 程序员,要求 用户要熟悉计算机 内部的 每个细节,操作员 是非常专业的,只有他们 才能对 计算机 实行控制。

    (3)等待人工操作。操作员 的手动 速度永远 无法与计算机 的速度 相比,当用户 进行装卸纸带(或卡片)等手工操作 时,机器是空闲的,降低了 CPU 的使用效率

2. 脱机输入 / 输出阶段

        输入/输出操作 在主机控制下 进行则称为 联机输入 / 输出。采用 脱机 输入 / 输出 技术后,低速 I/O 设备上数据的 输入 / 输出 都在外围机的控制下进行,而 CPU 只与高速的 磁带机打交道,从而有效地减少了 CPU 等待慢速设备 输入 / 输出的 时间。 

(1)脱机输入技术

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

(2)脱机输出技术

        当程序运行完毕或 告一段落,CPU 需要输出时,只需 高速地把结果送到 磁带上,然后在外围机 的控制下,把 磁带上的 计算结果由 相应的输出 设备 输出。

3. 单道批处理阶段

        20世纪50年代早期,为了尽量 减少计算机运行中的 人工干预,提高 CPU 的利用率,人们设想使 用户程序在 运行完成后 自动过渡到 另一个 用户程序,实现 程序运行的 自动化。这不仅 可以克服手工操作 的缺点,实现了 作业自动 过渡,还改善了 主机、CPU 和 输入 / 输出设备 的使用情况,提高了 计算机系统的 处理能力

        早期批处理系统中,操作员把 用户提交的 若干个 作业,有选择 的合成一批,按 先后 次序通过输入 设备(纸带输入机 或 读卡机)读入 内存缓冲区,再 存到磁带上。然后在 监督程序的 监督下从磁带 读入一个作业,通过 汇编程序和编译程序,将一个用户 作业翻译成 目标代码,开始处理。处理完后又 读入下一个作业,直至 处理完磁带上的 所有作业。由于 系统对作业的 处理都是分批 进行的,且内存中始终只保持一个作业,故称为单道批处理

工作过程描述:

    ① 操作员将 收到的 一批作业 信息存入 辅助存储器中 等待处理。

    ② 单道批处理 操作系统从 辅助存储器中依次 选择作业,按其作业 说明书的 规定自动控制它的 运行,并将 运行结果 存入 辅助存储器。

    ③ 操作员将该 批作业的 运行结果 打印输出,并分 发给用户。

        问题:当系统内只 有一道程序工作 时,计算机系统 的各部件 不一定能 并行操作,它们的 效能没有 得到 充分发挥。

特点:

    ① 单路性:每次只 允许一个 用户程序 进入内存。

    ② 独占性:整个系统资源 被进入 内存的 一个程序 独占使用,因此 资源利用率 不高。

    ③ 自动性:作业 一个一个地 自动接受 处理,期间 任何用户 不得对系统的 工作进行干预。由于没有 了作业上、下机时用户 手工操作耗费的 时间,提高了 系统的 吞吐量

    ④ 封闭性:在一批 作业处理过程中,用户 不得干预系统 的工作。即便 是某个程序 执行中出现一个 很小的错误,也只能 等到这 一批作业全部 处理完毕后,才能 进行修改,这给用户带来不便。

4. 多道批处理阶段

        不管是 脱机处理,还是早期批处理,它们都是 单道顺序的执行过程,即 一个用户程序 执行完毕,才允许启动 另一个用户程序。这种系统经常出现 资源使用不充分和不均衡的现象,影响了系统的效率。

        于是人们 想到在内存中 驻留 几道程序,当一个 程序因 某种原因 不能执行而暂停时,能 将另一道程序 投入运行,使 硬件资源得到充分利用。于是出现了多道程序技术

        多道程序设计技术 是指 在内存中驻留 多个作业,外存 中存放的 作业形成 等待队列。当某作业处理结束 或 因某种原因 不能运行时,系统 根据一定的 调度原则 从外存中调入 几个作业进入 内存,让它们 交替进行,使得处理机充分利用。

        通道,实质是 一台功能单一、结构简单的 I/O 处理机,它独立于 CPU,并 直接控制外部设备与主机之间的 信息传送。当需要进行 I/O 时,CPU 启动通道,之后 CPU 继续执行 其他程序,通道就 可以独立工作。

        通道执行 通道程序,完成 外部设备的启动、关闭以及信息传输 等操作;在传送规定的 数据后,它才向 CPU 发出一次中断请求,CPU 终止正在 运行的程序,进行 中断处理,处理完后,返回 中断点 继续工作。

        这种处理方式在 单处理机系统中,从微观上来看只能 交替运行,而 宏观上可以认为它们是 并行的。将多道程序技术 引入批处理系统就形成了 一个 多道批处理系统

        上图中,用户程序 A 首先在处理机 上运行,当它 需要 输入数据时,系统为 它启动 输入机进行输入 工作,并调度 用户程序 B 开始运行。当程序 B 请求输出 时,系 统又启动 相应的 外部设备进行工作。当程序 A 的 I/O 处理结束 时,程序 B 仍在 CPU 上运行,则程序 A 等待,直到程序 B 计算结束请求输出时,才转入程序 A 的执行。

工作过程描述:

    ①  操作员 将收到的 一批作业信息存入 辅助存储器中 等待处理。

    ② 多道批 处理操作系统 中的 作业调度程序 从辅助存储器里 的该 批作业中选出 若干合适的作业 装入内存,使它们 不断地 轮流占用 CPU 来执行,使用 各自所需的 外部设备。若内存中 有作业 运行结束,再从 辅助存储器 的后备作业 中选择 对象装入 内存执行。

    ③ 操作员 将该 批作业的 运行结果 打印输出,分发给用户。

特点:

    ① 多道性:计算机 内存中 同时存放 几道相互独立的 程序。

    ② 并行性:同时 进入系统的 几道程序都 处于运行过程中,即它们 都开始运行,但都 未运行完毕。从而有效地 提高了 资源利用率 和 系统的 吞吐量

    ③ 串行性:从微观 上看,主存中 的多道程序 轮流或分 时地 占有处理机,交替 执行。

    ④ 无序性:多道程序执行的 先后顺序 与它们 进入内存的 时间 无严格的 对应性,也许先进入 内存的程序 后完成,而后 进入内存的 程序先完成。

        现代计算机上的批处理系统,多为多道批处理系统

5. 分时技术产生

        20世纪60年代中期,主机速度的不断提高,使 一台计算机同时为 多个终端 用户服务成为可能。采用 分时技术,使每个 终端用户在 自己的终端设备上都以 联机方式 使用 计算机, 好像自己独占机器 一样。

        分时技术,就是 把处理机时间 划分 成很短的 时间片(如几百毫秒) 轮流地分配给各个用户程序使用,如果 某个用户程序 在分配的时间片 用完之前 还未完成计算,该程序 就暂停 执行,等待 下一轮继续计算,此时 处理机让给 另一个用户 程序使用。这样,每个用户 的各次 要求都 能得到 快速响应,给 每个用户的印象是 独占一台计算机。

特点:

    ① 多路性:在一台主机 上连接 多个用户终端。从 宏观上看,多个 用户同时工作,共享 系统的 资源;从 微观上看,各 终端程序是 轮流使用 一个 时间片的。多路 性提高了系统资源的整体利用率

    ② 交互性:用户 在终端上 能随时 通过键盘 与计算机进行 “ 会话 ” ,从而获 得系统的 各种服务,并 控制作业程序的 运行。交互性 使用户 能随时 掌握自己作业 程序的 执行情况,为 用户调试、修改以 及 控制程序的 执行提供 了极大的 便利。

    ③ 独立性:每个 用户在自己的 终端上 独立操作,互不 干扰,感觉 不到其他 用户的存在,就如同自己 “ 独占 ” 该系统似的。

    ④ 及时性:用户 程序轮流 执行 CPU 的一个 时间片,但由于 计算机的 高速处理能力,能保证在 较短和 可容忍的时间 内,响应 和 处理用户请求

6. 实时系统产生

        其主要特征,是将时间 作为 关键参数,它必须 对所 接受的某些信号做出 “及时” 或 “实时” 的反应。由此得知,实时系统是指 系统能及时响应 外部事件的 请求,在规定的 时间内 完成对该事件的 处理,并控制 所有事实任务 协调一致地运行。

        实时系统的 响应时间 是由 被控对象的 要求决定的,一般要求秒级、毫秒级、微秒级甚至更快的响应时间。

类型:

    ① 工业(武器)控制系统。

    ② 信息查询系统。

    ③ 多媒体系统。

    ④ 嵌入式系统。

特点:

    ① 实时性:分时系统的 “ 及时性 ” ,是一种 在用户 可以容忍 的时间 内响应 用户请求 的时间 性能。对于 实时系统 而言,这种 及时性应该 表现为 更高,对外部事件 信号的 接收、分析处理 以及 给出反馈信号 进行 控制,都必须在 严格的 时间限度内 完成。因此,这时的及时性称为 “ 实时性 ” 。

    ② 可靠性:无论 是实时控制 系统 还是 实时信息处理 系统,都必须有 高度的 可靠性。例如对于 后者,计算机 在接收到 远程终端发来 的服务 请求后,系统 应该根据 用户 提出的 问题,对信息 进行检索和处理,并在 有限的时间 内做出正确的 回答。

二、现代操作系统的新功能

1. 系统安全

(1)认证技术。
(2)密码技术。
(3) 访问控制技术。
(4)反病毒技才。

2. 网络的功能和服务

3. 支持多媒体

三、传统的操作系统结构

1. 无结构操作系统

        在 早期 开发操作系统 时,设计者 只是把 他的注意力 放在 功能的实现 和 获得高的 效率上,缺乏 首尾一致的 设计思想。 此时的 OS 是为数 众多的 一组过程 的集合,各过程 之间 可以 相互调用,在 操作系统 内部 不存在 任何结构,因此,这种 OS 是 无结构的,也有 人把它 称为整体系统结构。

        此时 程序设计的 技巧,只是 如何编制 紧凑的 程序,以便于 有效地 利用内存、对GOTO语句的使用 不加任何限制,所设 计出的操作 系统既 庞大又杂乱,缺乏 清晰的程序结构。这一方面会使所编制出的 程序错误很多,给调试 工作带来 很多困难;另一方面 也使程序难 以阅读和理解,增加了 维护 人员的负担。

2. 模块化OS结构

        模块化程序 设计 技术,是最早(20世纪60年代)出现的一种 程序设计技术。该技术是基于 “分解”和 “模块化” 原则 来控制 大型软件的 复杂度的。为使 OS 具有 较清晰的 结构,OS 不再是由众多的 过程直接 构成,而是将 OS 按其 功能划分为若干个 具有一 定独立性和大小的 模块。每个模块具有 某方面的 管理功能,如 进程管理模块、存储器管理模块、I/O 设备管理模块 和 文件管理模块等,并 规定好各 模块间的 接口, 使各 模块之间 能通过 该接口 实现交互。

        然后 再进一步将各模块细分为若干个具有一定管理功能的 子模块,如把 进程管理模块又分为进程控制、进程同步、进程通信和进程调度 等子模块,同样也要 规定各子 模块之间的 接口。若子模块 较大时,再进一步 将它细分。

模块化OS的优点:

    ① 提高了OS设计的 正确性、 可理解性 和 可维护性。 

    ② 增强了OS的 可适应性。 

    ③ 加速了OS的 开发过程。

模块化结构设计的缺点:

    ① 在开始设计OS时,对模块 的 划分及 对 接口的规定 并不精确,而且还可能 存在错误,因而 很难保证 按此规定 所设计出的 模块 会完全 正确,这将使 在把 这些模块装配成 OS 时发生 困难。

    ② 从功能 观点来 划分模块时,未能 将共享资源 和 独占资源 加以区别。由于 管理上的差异,又会使 模块间 存在着复杂的 依赖关系使 OS 结构 变得不清晰。

3. 分层式OS结构 

        从改进设计方式上说,应使我们的 每一步设计都 是建立在 可靠的 基础上

        我们可以从物理机器开始, 在其上面 先添加一层 具有一定功能的软件 A1,由于 A1 是建立在完全确定 的物理机器 上的,在经过 精心设计和几乎 是穷尽无遗 的测试后,可以认为 A1 是正确的;然后再在 A1 上添加一层新软件 A2,……,如此一层一层地自底向上 增添软件层,每一层都实现 若干功能,最后总能构成一个能满足需要的 OS。

        分层式结构 设计的 基本原则是:每一层都仅使用其底层所提供的功能和服务,这样可使系统的调试和验证都变得容易,这样,一旦发现Ai出现错误时,通常该错误只会局限于Ai,因为它与所有其高层的软件无关,而Ai层以下的各层软件,又都经过仔细的调试。

分层结构的优点:

    ① 易保证系统的 正确性。

    ② 易扩充 和 易维护性

分层结构的缺点:

    系统效率降低。 

四、面向对象的程序设计技术(Object-Orientated Programming)

        面向对象技术是 20世纪80年代初 提出并很快流行起来 的。该技术是 基于 “抽象”和“隐蔽” 原则来控制大型软件的复杂度的

        所谓 对象,是指在现实世界中具有相同属性、服从相同规则的 一系列事物的 抽象,而把其中的具体事物 称为 对象的实例。OS 中的各类实体如 进程、线程、消息、存储器等,都使用了对象这一概念,相应地,便有进程对象线程 对象、存储器对象 等。

面向对象技术的优点:

    ① 可修改性和可扩充性。由于 隐蔽了表示实体的 数据 和 操作,因而 可以改变 对象的 表示而不会影响 其它部分, 从而 可以方便地改变老 的对象 和 增加新的 对象。

    ② 继承性。继承性 是面向 对象技术所 具有的 重要特性。继承性 是 指子 对象可以 继承父对象的 属性,这样,在创建一个新的对象时, 便可减少大量的时空开销。

    ③ 正确性和可靠性。由于对象 是构成 操作系统的 基本单元,可以 独立地对 它进行测试,这样,比较易 于保证其 正确性 和 可靠性,从而 比较容易 保证整个系统的 正确性和可靠性。 

五、微内核OS结构

1. 基本概念

(1)足够小的内核

        在微内核的操作系统中,内核是指精心设计的、能实现现代 OS 最基本 核心功能的 小型内核,它 并非是一个完整的 OS,而只是将 OS 中最基本 的部分 放入微内核,为构建 通用 OS 提供一个 重要基础

        它与一般的 OS(程序)不同, 它 更小更精炼,它不仅 运行在核心态,而且 开机后常驻内存, 它不会 因内 存紧张而 被换出 内存。

(2)基于客户/服务器模式
(3)应用“机制与策略分离”原理

① 机制:实现某一功能的 具体执行机构。( “需要提供什么功能”)

② 策略:在机制的基础 上借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。(“如何使用这些功能”)

(4)采用面向对象技术

2. 基本功能

(1)进程(线程)管理。
(2)低级存储器管理。
(3)中断和陷入处理。(中断是指CPU对 I/O设备发来的中断信号的一种响应。陷入是指由CPU内部事件所引起的中断。)

3. 微内核操作系统的优点

(1)提高了系统的可扩展性。

(2)增强了系统的可靠性。

(3)可移植性强。

(4)提供了对分布式系统的支持。

(5)融入了面向对象技术。


                                        后期再进行补充。


可以结合这篇文章:                        全面认识计算机操作系统(一)

http://t.csdnimg.cn/orLmcicon-default.png?t=N7T8http://t.csdnimg.cn/orLmc

  • 14
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值