第一章 操作系统引论【操作系统】3

简介: 第一章 操作系统引论【操作系统】3

1.5 OS结构设计

OS结构设计

操作系统原理学习笔记(四)-OS结构设计

1.5.1 传统操作系统结构

传统操作系统结构

  • 早期的无结构OS、模块化结构OS、分层式结构OS统称为传统结构OS,微内核结构OS称为现代结构OS。

1.无结构OS

  • 无结构OS:
  • 只注重功能实现与提高效率的设计思想。

2.模块化结构OS

模块化结构OS:

模块化程序设计技术的基本概念:

使用“模块-接口法”的设计方法,将OS分成若干个具有一定独立性和大小的模块,并规定好模块间接口。

例如,将OS分成进程管理模块、存储器管理模块、文件管理模块等,再将进程管理模块分成进程控制子模块、进程调度子模块等。

模块独立性:

模块划分过小会使得模块间联系繁多,系统混乱;模块划分过大,又会增加模块内部复杂性,内部联系增加。因此需要衡量。

衡量模块独立性有两个标准:

内聚性:模块内部的联系紧密程度,内聚性越高,独立性越强。

耦合度:模块间联系与影响程度,耦合度越低,独立性越好。

模块-接口法的优缺点:

优点:

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

增强OS的可适应性。

加速OS的开发过程。

不足:

模块间接口规定难以满足模块设计完成后的实际需求。

模块化设计中,各模块设计齐头并进,造成决定的“无序性”,难以使得设计步骤都是建立在可靠的基础上。

因此模块-接口法又被称为“无序模块法”。

3.分层式结构OS

分层式结构的基本概念:

  • 在目标系统An与裸机系统A0之间设计若干层的软件A1、A2…,使得An通过An-1、An-2…A2、A1层在A0上能运行。
  • 常用自底向上法铺设中间层。
  • 设计原则:每步设计建立在可靠基础上。
  • 每层仅能使用其底层所提供的功能和服务。

优缺点:

  • 优点:
  • 易保证系统的正确性。
  • 易扩充和易维护性。
  • 缺点:
  • 效率低,每次调用功能都需要穿越多个层次。

1.5.2 客户/服务器模式(Client/Server Model)简介

1.客户/服务器模式(C/S模式)的由来、组成、类型
客户/服务器模式(C/S模式)的由来、组成、类型:

客户机:在一个LAN网络上连接有多台网路工作站(客户机),每台客户机都是一台计算机,有处理能力,客户进程在其上运行,处理业务,并能发送消息给服务器以请求某服务。

服务器:规模较大的机器,驻留有网络文件系统或数据库系统等,能为网上所有用户提供一种或多种服务,并一直处于工作状态,被动等待来自客户机的消息。收到客户机的服务请求后,进行处理并反馈给客户机。

网络系统:实现客户机与服务器间的通信与网络资源共享。

2.客户/服务器间的交互

  • 客户/服务器间的交互:
    客户发送请求消息:

客户机要请求服务器时,先输入相应命令及参数,由客户机上的发送进程将这些信息装配成请求信息,再发送给服务器,接受进程等待服务器的响应。

服务器接受消息:

服务器的接受进程平时处于等待状态,当客户发来请求,接受进程激活,根据请求内容发送给相应软件进行处理。

服务器会送消息:

服务器软件处理后,将结果装配成响应消息,由发送进程发给客户机。

客户机接受消息:

客户机接受进程将响应转交给客户机软件,软件处理后发送给提出请求的客户。

3.客户/服务器模式的优缺点

  • 客户/服务器模式的优缺点:
    优点:
  • 数据分布处理与存储。
  • 便于集中管理、
  • 灵活性与可扩充性。
  • 易于改编应用程序。
  • 不足:
  • 不可靠性与瓶颈问题:系统若只有一个服务器,则服务器故障,系统就会故障,性能也受这个服务器的影响。

1.5.3 面向对象的程序设计(Object-Orientated Programming)技术简介

1.面向对象技术的基本概念

基于“抽象”与“隐蔽”原则来控制大型程序的复杂度。

对象:

对象是具有相同的属性、或服从一定规则的一系列事物的抽象,具体事物被称为对象的实例。

利用被封装的数据结构和一组对它进行操作的过程(方法)来表示系统中某个对象。

对象的变量(数据)称为属性,对象的操作称为方法。

对象的变量对外隐蔽,外界需要通过对象中的方法才能操作它。

对象类:

拥有相同特点的对象可以分成一类,他们具备相似的方法或属性,通过对象类来定义一组相似的对象,可以简化操作。

类是对象的抽象,对象是类的实例。

继承:

类细化出子类,子类具备父类的属性与方法,但同时具有自己独特的属性与方法。

2.面向对象技术的优点

  • 面向对象技术的优点:
  • 通过“重用”提高产品质量和生产率。
  • 更好的易修改性和易扩展性。
  • 保证系统的正确性和可靠性。

1.5.4 微内核OS结构

1.微内核OS的基本概念

  • 微内核OS的基本概念:
  • 足够小的内核:
    只将OS中最基本的部分放入微内核中,通常包含:

与硬件处理紧密相关的部分。

基本功能。

客户机与服务器间的通信。

基于客户/服务器模式:

将OS基本功能放入内核,OS的其他大部分功能放在微内核外的一组服务器中实现。

例如,提供对进程进行管理的进程服务器等,以进程方式实现功能,运行在用户态。

客户与服务器间通过微内核提供的消息传递机制来实现信息交互。

应用“机制与策略分离”原理:

机制处于系统基层,是实现某一功能的具体执行机构。

策略处于系统高层,在机制的基础上借助参数和算法实现该功能的优化。

传统OS中,机制放在OS的内核较低层,策略放在内核较高层。

微内核OS中,机制放在OS的微内核中。

采用面向对象技术:

基于面向对象技术的“抽象”和“隐蔽”原则控制OS复杂性。

利用“对象”、“封装”、“继承”等概念确保OS的“正确性”、“可靠性”、“易修改性”、“易扩展性”等。

提高OS的设计速度。

2.微内核的基本功能

  • 微内核的基本功能:
  • 进程(线程)管理
  • 低级存储器管理
  • 中断和陷入处理

3.微内核OS的优点

  • 微内核OS的优点:
  • 提高可扩展性。
  • 增强系统可靠性。
  • 可移植性强。
  • 提供对分布式系统的支持。
  • 融入面向对象技术。

4.微内核OS存在的问题

  • 微内核OS存在的问题:
  • 效率低:
  • 客户对OS提出服务请求时,需要进行多次交换和进行用户/内核模式与上下文的多次切换。
  • 早期OS仅需要两次,一次用户态转向系统态,一次系统态转向用户态。

————————————————

习题

计算机操作系统(第四版)课后习题答案(完整版)

计算机操作系统(第四版)课后习题答案西电版

课堂练习

【操作系统】操作系统中“hello world!”的输出

CPU,主存,外设I/O读写速度不匹配的解决

经典例题


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
存储 算法 Unix
《Linux操作系统编程》第一章 操作系统引论:了解操作系统的发展、特征、功能以及操作系统结构
《Linux操作系统编程》第一章 操作系统引论:了解操作系统的发展、特征、功能以及操作系统结构
48 0
|
6月前
|
Unix Shell Linux
===第一章操作系统引论======(1)
引言   大多数读者都会 Windows、Linux、FreeBSD或OS X 等某个操作系统有些体验,但是表面现象是会骗人的。用户与之交互的程序,基于文本的通常是 shell,基于图标的则称为:图形化用户界面,实际上他们并不是操作系统的一部分,尽管这些程序使用操作系统来完成工作。
62 0
|
6月前
|
存储 安全
===第一章操作系统引论======(4)
1.5.2 客户/服务器模式(C/S)简介
62 0
|
6月前
|
存储 安全 调度
===第一章操作系统引论======(3)
1.4.2 存储器管理功能   存储器管理的主要任务,是为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内存。为此,存储器管理应具有内存分配和回收、内存保护、地址映射和内存扩充等功能。
70 0
|
6月前
|
消息中间件 存储 Unix
===第一章操作系统引论======(2)
1.2.4 分时系统   推动分时系统形成和发展的主要动力是为了满足用户对人机交互的需求。用户的需求具体表现在一下几个方面:
106 0
|
消息中间件 存储 算法
操作系统(1.2)--引论
在多道程序环境下,每道程序不可能都从“0”地址开始装入(内存),这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。使程序能正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。
64 0
|
算法 人机交互 数据处理
操作系统(1.1)--引论
OS作为用户与计算机硬件系统之间接口的含义是: OS处于用户与计算机硬件系统之 间,用户通过OS来使用计算机系统。
63 0
|
存储 算法 安全
[计算机操作系统(慕课版)]第一章 操作系统引论(学习笔记)
[计算机操作系统(慕课版)]第一章 操作系统引论(学习笔记)
|
存储 安全 算法
第一章 操作系统引论【操作系统】2
第一章 操作系统引论【操作系统】2
99 0
|
算法 Unix 程序员
第一章 操作系统引论【操作系统】1
第一章 操作系统引论【操作系统】1
111 0