操作系统结构 (1)

合集下载

操作系统结构

操作系统结构

1.2操作系统结构设计操作系统是一种大型、复杂的并发系统,为了研制操作系统,首先必须研究它的结构,力求设计出结构良好的程序。

操作系统的结构设计有两层含义:一是研究操作系统的整体结构,由程序的构成成分组成操作系统程序的构造过程和方法;二是研究操作系统程序的局部结构,包括数据结构和控制结构。

采用不同的构件和构造方法可组成不同结构的操作系统。

本节将在讨论操作系统构件之后,全面介绍各种操作系统的构造方法。

1.2.1 操作系统的组件通常把组成操作系统程序的基本单位称作操作系统的构件。

剖析现代操作系统,构成操作系统的基本单位除内核之外,主要还有进程、线程、类程和管程。

1.内核现代操作系统中大都采用了进程的概念,为了解决系统的并发性、共享性和随机性,并使进程能协调地工作,单靠计算机硬件提供的功能是十分不够的。

例如,进程调度工作目前就不能用硬件来实现;而进程自己调度自己也是困难的。

所以,系统必须有一个软件部分能对硬件处理器及有关资源进行首次改造,以便给进程的执行提供良好运行环境,这个部分就是操作系统的内核。

由于操作系统设计的目标和环境不同,内核的大小和功能有很大差别。

有些设计希望把内核做得尽量小仅具有极少的必需功能,称为微内核(microkernel),其他功能都在核外实现,通过微内核提供的消息传递机制完成其余功能模块间的联系;有些设计则希望内核具有较多的功能,虽然其内部也可划分成层次或模块,但运行时是一个大二进制映像,模块间的联系可通过函数或过程调用实现,称为单内核(monolithic kernel)。

操作系统的一个基本问题就是内核的功能设计。

微内核结构是现代操作系统的特征之一,这种方法把内核和核外服务程序的开发分离,可为特定应用程序或运行环境要求定制服务程序,具有较好的可伸缩性,简化了实现,提供了灵活性,很适合分布式系统的构造。

一般而言,内核必须提供以下3个方面的功能。

(1)中断处理。

中断处理是内核中最基本的功能,也是操作系统赖以活动的基础,为了缩短屏蔽中断的时间,增加系统内的并发性,通常它仅仅进行有限的、简短的处理,其余任务交给在内核之外的特殊用户态进程完成。

操作系统结构

操作系统结构
Chapter 2: Computer System and OS Structures
Chapter 2: Computer System and OS Structures
Computer-system structures

I/O structures Storage structures and hierarchy

e.g., only higher-priority interrupts may be handled

resumes the interrupted program
Most modern OSes are interrupt-driven
Operating System Concepts – 6th Edition
40-300 Gig. Jukeboxes; Sequential Access.
Operating System Concepts – 6th Edition 1.18
Caching
Important principle, performed at many levels in a computer

After I/O starts, control returns to user program without waiting for I/O completion
Triggered(触发) by devices outside the CPU Traps(陷阱) synchronous(同步)

通过系统总线中一独立控制单元——DMA控制器,自动控制 成块数据(blocks of data),在内存和I/O单元间的传送, without CPU intervention,大大提高处理I/O的效能

操作系统结构范文

操作系统结构范文

操作系统结构范文操作系统是计算机系统中最核心的软件之一,它负责协调和管理计算机硬件资源以及运行其他软件。

操作系统的设计和实现涉及到很多复杂的问题,其中一个重要的方面是操作系统的结构。

1. 单体结构(Monolithic Structure)单体结构是最早也是最简单的操作系统结构。

在单体结构中,整个操作系统被构建为单个大型的可执行文件。

所有的功能模块(如进程管理、文件系统等)都被包含在这个可执行文件中。

这种结构的优点是实现简单,效率也相对较高。

但是,当系统功能增多时,单体结构会变得越来越复杂,维护和升级也变得困难。

2. 层次结构(Layered Structure)层次结构将操作系统分为若干层,每一层提供一组相关的功能。

每一层只能调用更低一层的功能,而不需要关心更低层的实现细节。

这种结构的优点是模块化和可扩展性强,不同的层之间可以独立开发和测试,提高了开发效率。

但是,层次结构可能导致性能损失,因为每一层的调用都需要经过多个层次的处理。

3. 客户端-服务器结构(Client-Server Structure)客户端-服务器结构将操作系统划分为不同的服务,每一个服务都是一个独立的进程,提供特定的功能。

客户端进程通过与服务器进程进行通信来获取所需的服务。

这种结构的优点是模块化、灵活性好,不同的服务可以在不同的计算机上运行,提高了系统的可扩展性和可靠性。

但是,客户端-服务器通信可能引入额外的开销,影响系统性能。

4. 微内核结构(Microkernel Structure)微内核结构是一种极简的操作系统结构,它只包含最基本的功能,如进程管理和内存管理,而将其他功能移动到用户空间中的独立服务器进程中。

这种结构的优点是灵活性好,易于扩展和维护,同时也提高了系统的可靠性和安全性。

但是,微内核结构可能带来性能损失,因为需要频繁地进行内核态和用户态之间的切换。

5. 虚拟机结构(Virtual Machine Structure)虚拟机结构将操作系统划分为若干虚拟机,每一个虚拟机相当于一个独立的计算机系统,可以运行不同的操作系统。

简要说明操作系统的基本组成部分

简要说明操作系统的基本组成部分

操作系统的基本组成部分在计算机系统中,操作系统是一个核心的组成部分,它主要负责管理和控制计算机的硬件资源,为用户和应用程序提供一个友好的环境。

操作系统的基本组成部分可以分为以下几个方面:1. 内核(Kernel)在操作系统中,内核是非常重要的组成部分,它直接管理计算机的硬件资源,包括CPU、内存、磁盘等。

内核负责调度和管理这些资源的分配和使用,确保系统的正常运行,并提供对外部设备和应用程序的接口。

内核的设计和实现直接影响着操作系统的性能和稳定性。

2. 文件系统(File System)文件系统是操作系统中用于管理存储设备上文件和目录的一种机制。

它负责文件的创建、删除、读写操作,以及对文件和目录进行组织和管理。

文件系统的设计和实现对系统的存储管理效率和可靠性有着重要影响,不同的文件系统也会对数据的访问速度和容错性产生不同的影响。

3. 进程管理(Process Management)操作系统负责对计算机中正在运行的进程进行管理和调度。

它需要为每个进程分配资源,控制进程的执行和终止,以及处理进程之间的通信和同步。

进程管理是操作系统中非常重要的一部分,它直接决定了系统的并发执行能力和响应速度。

4. 内存管理(Memory Management)内存管理是操作系统中非常重要的一部分,它负责为应用程序和系统进程提供内存空间,管理内存的分配和释放,以及处理内存的共享和保护。

合理高效的内存管理对系统的性能和稳定性有着重要的影响。

5. 设备驱动程序(Device Drivers)设备驱动程序是操作系统中用于控制和管理外部设备的一种软件模块。

它负责和硬件设备进行通信,接受和发送数据,处理设备的状态和错误,以及提供统一的接口给应用程序使用。

设备驱动程序的质量和可靠性直接影响着外部设备和应用程序的运行效果。

总结回顾操作系统的基本组成部分包括内核、文件系统、进程管理、内存管理和设备驱动程序。

这些组成部分共同构成了一个完整的操作系统,它们相互配合,共同为计算机用户和应用程序提供良好的运行环境和服务。

操作系统的结构设计PPT教学课件

操作系统的结构设计PPT教学课件
➢ 对分布式系统提供有力支撑。
微内核结构的缺点:
➢ 运行效率低,因为进程之间必须通过内核的通信 机制才能进行通信。
操作系统的一个基本问题是内核的功能和结构设 计,总体的趋势是:内核应当运行在具有特权的 核心态,常驻内存,尽可能地小,仅确保操作系 统正确、有效运转所必备的功能。
➢ 内核很小,可以被精心分析和设计成准确按意 图执行的软件,称为可信软件。
③ 单内核操作系统有两种基本结构:整体式结构和层次式结 构。
二、整体式结构的操作系统 (1)
(a)整体式结构
操作系统的整体式结构又叫模块组合法,是基于结构化程序设 计的一种软件结构设计方法。早期操作系统(如IBM操作系统) 采用这种结构设计方法。
1.主要设计思想和步骤
把模块作为操作系统的基本单位,按照功能需要而不是根据程 序和数据的特性把整个系统分解为若干模块(还可再分成子模 块),每个模块具有一定独立功能,若干个关联模块协作完成 某个功能。明确各个模块之间的接口关系,各个模块间可以不 加控制,自由调用;然后,分别设计、编码、调试各个模块。 最后,把所有模块连结成一个完整的系统。
操作系统的结构设计概述(2)
2.操作系统结构设计有三层含义 一是研究操作系统的整体结构,由程序的构成成分组成
操作系统程序的构造过程和方法; 二是研究操作系统程序的局部结构,包括数据结构和控
制结构。 三是操作系统运行时的组织,如系统是组织成进程还是
线程,在系统空间还是用户空间运行等。
•采用不同的构件和构造方法可组成不同结构的操作系统。
Linux仍然使用整体式结构。
(b)层次式结构
•层次式结构是把操作系统划分为内核和若干模块(或进程), 这些模块(或进程)按功能的调用次序排列成若干层次,各层 之间只能是单向依赖或单向调用关系,即低层为高层服务,高 层可以调用低层的功能,反之则不能。这样不但系统结构清晰, 而且不构成循环调用。

操作系统的组成部分课件

操作系统的组成部分课件
作系统需要回收该进程所占用的资源。
03 内存管理
内存的分配与回收
内存的分配
操作系统负责将内存空间分配给各个程序,以便它们能够存储数据和代码。分配方式包括静态分配和 动态分配。
内存的回收
当程序完成其任务或不再需要内存时,操作系统负责回收这些内存,以便重新分配给其他程序使用。
内存的交换与覆盖
内存交换
文件锁定
对于共享文件,文件系统提供锁定机制以防止多个用户同时修改造成数据冲突。
文件的备份与恢复
数据备份
01
定期对重要文件进行备份,以防止数据丢失或损坏。
数据恢复
02
当数据出现问题时,通过备份数据进行恢复,保证数据的可用
性。
增量备份与差异备份
03
根据需要选择不同的备份策略,以减少备份时间和空间占用。
CLI 的优点是高效、灵活,适合于编程和系统管理。缺点是不适合初学者 ,需要一定的学习曲线。
图形用户界面
1
图形用户界面(GUI)是一种基于图形的用户界 面,用户通过点击图形元素来与操作系统交互。
2
GUI 使用窗口、图标、菜单和对话框等图形元素 来展示信息和提供操作选项。
3
GUI 的优点是直观、易于使用,适合于普通用户 。缺点是相对于 CLI 来说不够高效。
05 设备管理
设备的分类与识别
设备分类
根据设备类型、功能和用途,将设备分为不同的类别,如输入设备、输出设备、存储设备等。
设备识别
通过设备标识符(如设备名称、型号、序列号等)来识别和管理设备。
设备的分配与使用
设备分配
根据系统需求和资源限制,将设备分配 给用户或应用程序使用。
VS
设备使用
提供用户接口和应用程序编程接口(API ),使用户和应用程序能够与设备进行交 互。

操作系统结构

操作系统结构

层次结构
所谓的层次结构,就是把操作系统所有的功能模块按照功能调用次序分别排成若干层,各层之间的模块只有 单向调用关系(例如,只允许上层或外层模块调用下层或内层模块)。分层的优点是:
(1)把功能实现的无序性改成有序性,可显著提高设计的准确性。 (2)把模块间的复杂依赖关系改为单向依赖关系,即高层软件依赖于低层软件。 tra于1968年发表的THE多道程序设计系统第一次提出了操作系统的分层结构方法。整个THE系统分为6层。
整体式结构
整体式结构也叫简单结构或无结构,在早期设计开发操作系统时,设计者只是把注意力放在功能的实现和获 得高的效率上。整个操作系统的功能由一个一个的过程来实现,这些过程之间又可以相互调用,导致操作系统变 为一堆过程的集合,其内部结构复杂又混乱。因此这种操作系统没有结构可言。
这种早期的整体式结构的最大优点就是接口简单直接,系统效率高但是却有很多的缺点:没有可读性,也不 具备可维护性,一旦某一个过程出了问题,凡是与之存在调用关系的过程都要修改,所以给调试和维护人员带来 许多麻烦,有时为了修改系统中的错误还不如重新设计开发一个操作系统。因此,这种早期的整体式结构已经淘 汰不用了。
操作系统结构
操作系统的构成结构
目录
01 整体式结构
03 层次结构
02 模块化结构 04 微内核结构
操作系统结构是指操作系统的构成结构。在操作系统的发展过程中,产生了多种多样的系统结构,几乎每一 个操作系统在结构上都有自己的特点,从总体上看,根据出现的时间,操作系统结构依次可以分为整体式结构、 模块化结构、层次式结构和微内核结构。
感谢观看
模块化结构
模块化结构是指将整个操作系统按功能划分为若干个模块,每个模块实现一个特定的功能。模块之间的通信 只能通过预先定义的接口进行。或者说模块之间的相互关系仅限于接口参数的传递。

操作系统操作系统结构

操作系统操作系统结构

引言:操作系统是计算机中最重要的软件之一,它提供了对计算机硬件资源的管理和控制,使得用户能够方便地使用计算机。

操作系统的结构是指操作系统的组织形式和模块之间的关系。

本文将详细介绍操作系统的结构,包括操作系统的三层结构、微内核结构、分层结构、宏内核结构和虚拟机结构。

概述:操作系统的结构是为了将软件的各个组成部分有效地组织起来,以实现对硬件资源的管理和控制。

不同的操作系统结构有不同的优缺点,适用于不同的应用场景。

下面将详细介绍五种常见的操作系统结构。

正文:1.操作系统的三层结构1.1内核层1.1.1内核层的功能1.1.2内核的类型1.2基本服务层1.2.1基本服务层的功能1.2.2基本服务的实现方式1.3用户界面层1.3.1用户界面层的功能1.3.2用户界面的类型2.微内核结构2.1微内核的核心思想2.2微内核的功能2.3微内核的优缺点2.4微内核的实现方式3.分层结构3.1分层结构的原理3.2分层结构的功能3.3分层结构的优缺点3.4分层结构的实现方式4.宏内核结构4.1宏内核的核心思想4.2宏内核的功能4.3宏内核的优缺点4.4宏内核的实现方式5.虚拟机结构5.1虚拟机的原理5.2虚拟机的功能5.3虚拟机的优缺点5.4虚拟机的实现方式总结:操作系统的结构是为了将软件的各个组成部分有效地组织起来,以实现对硬件资源的管理和控制。

不同的操作系统结构有不同的优缺点,适用于不同的应用场景。

本文详细介绍了操作系统的三层结构、微内核结构、分层结构、宏内核结构和虚拟机结构。

根据具体的需求和要求,选择合适的操作系统结构可以提高系统的性能和稳定性。

对于未来的操作系统发展,应该结合实际情况,不断创新和改进操作系统的结构,以满足不断变化的需求。

操作系统结构

操作系统结构

操作系统结构操作系统是计算机系统中的核心组成部分,负责管理计算资源、提供用户接口以及协调和控制系统中各个程序的运行。

为了更好地理解和学习操作系统,了解其结构是至关重要的。

本文将介绍常见的操作系统结构,并探讨它们的特点和功能。

一、单体结构单体结构是最早出现的操作系统结构之一。

它将所有的操作系统功能都集中在一个大的程序中,这个程序包括了各种不同类型的系统功能,如文件管理、内存管理、进程调度等。

单体结构的最大特点是简单直观,易于开发和理解。

然而,由于所有功能都集中在一个程序中,当系统变得复杂时,单体结构容易导致代码紊乱、难以维护和扩展。

二、层次结构为了解决单体结构的问题,研究人员提出了层次结构的操作系统设计思想。

层次结构将操作系统划分为多个层次,每个层次都提供不同的功能接口,并且每个层次只依赖于更低层次的功能接口。

这样一来,系统变得更加模块化,每个层次可以独立开发、测试和维护。

常见的操作系统层次结构包括内核层、文件系统层、设备驱动层等。

层次结构的优势在于提高了系统的可维护性和可扩展性,但也带来了一定的性能开销。

三、微内核结构微内核结构是一种特殊的层次结构,它将操作系统划分为最小的核心和若干个可选的服务进程。

微内核只提供最基本的功能,如进程管理和内存管理,而其他功能则由服务进程来实现。

这种设计可以最大限度地减小内核的规模,提高系统的稳定性和可靠性。

微内核结构的一个重要特点是可扩展性,可以根据需要动态地加载和卸载服务进程,从而实现系统功能的动态扩展。

四、虚拟机结构虚拟机结构是一种基于虚拟化技术的操作系统结构。

它通过在物理机器上创建多个虚拟机来模拟多个独立的计算环境,每个虚拟机可以运行一个完整的操作系统。

虚拟机结构的优势在于提供了更好的资源隔离和资源管理能力,可以更灵活地配置和管理计算资源。

虚拟机结构广泛用于云计算和服务器虚拟化领域。

五、客户端-服务器结构客户端-服务器结构是一种常见的分布式操作系统结构。

它将操作系统划分为两个主要部分:客户端和服务器。

操作系统的逻辑结构课件

操作系统的逻辑结构课件

用户程序执行时机器所处的状态。在此状态下禁止使 用特权指令,不能直接取用资源与改机器状态,并且只允 许用户程序访问自己的存储区域。
管态
用户态
操作系统的程序执行
使用全部指令
(包括一组特权指令)
使用全部系统资源
(包括整个存储区域)
用户程序执行 禁止使用特权指令
只允许用户程序访问 自己的存储区域
处理机的状态不断变化, 它有时会处于用户态, 有时会处于管态。
是指在中断的那一时刻能确保程序继续运行的 有关信息。
主要包括——
后继指令所在主存的单元号 程序运行所处的状态 指令执行情况 以及程序执行的中间结果等
操作系统的逻辑结构
(2)保护现场
当中断发生时,必须立即把现场信息保存在主 存中,这一工作称之为保护现场。
(3)恢复现场
程序重新运行之前,把保留的该程序现场信息 从主存中送至相应的指令计数器、通用寄存器 或一些特殊的寄存器中。完成这些工作称为恢 复现场。
UNIX核心
裸机
操作系统的逻辑结构
UNIX系统核心结构
1. 进程控制子系统
进程同步、进程间 通信、进程调度和 存储管理
2.文件子系统
文件存储空间管理、 文件操作及存取控 制、高速缓冲机制
操作系统的逻辑结构
Windows操作系统的结构
操作系统的逻辑结构
(三) 处理机的状态
1. 设置处理机状态的目的
辅存储器(辅存、外存):
处理机不能直接访问的存储器,如磁盘、磁带、光盘等,用 来存放大量的数据信息。
操作系统的逻辑结构
时钟
时钟是操作系统运行时必不可少的硬设施,它以固 定的时间间隔产生中断信号,这对于实施进程调度、 计算系统资源的消耗、实时控制等功能是必不可少 的。

操作系统结构

操作系统结构
在这种模型中,内核只执行很少的任务,称为微核或微 内核 (Microkernel)。
操作系统结构
1.3 客户/服务器模型与微核结构
优点: (1) 简化了操作系统核心。 (2) 改进了独立性和可靠性。 (3) 完全适宜于分布式计算模型。
缺点:降低了运行效率
操作系统
操作系统结构
1.1 单体结构
单体结构又 叫模块组合法,是 基于结构化程序设 计的一种软件结构 设计方法。早期操 作系统大多采用这 种结构设计方法。 在单体结构的操作 系统中,允许任一 子程序调用其他子 程序。
操作系统结构
1.1 单体结构
单一整体结构的特点:模块由众多服务过程(模块 接口)组成,可以随意调用其他模块中的服务过程
操作系统结构
1.2 层次结构模型
优点: 功能明确,调用关系清晰(高层对低层单向依 赖),有利于保证设计和实现的正确性 低层和高层可分别实现(便于扩充);高层错 误不会影响到低层;避免递归调用
缺点:降低了运行效率
操作系统结构
1.3 客户/服务器模型与微核结构
把操作系统分成若干进程,其中每个进程实现一种服务, 例如内存服务、进程服务等。服务进程运行在用户态,它的 任务是检查是否有客户进程提出服务请求,若有,则将请求 的结果返回。而客户进程可以是另一个服务进程,也可以是 一个应用程序。客户进程与服务进程之间采用消息机制通信, 这是因为每个进程属于不同的虚拟地址空间,它们之间不能 直接通信,必须通过内核进行,而内核则是被映射到每个进 程的虚拟地址空间中,它可以操纵所有进程。客户进程发出 消息,内核将消息传给服务进程。服务进程执行相应的操作, 其结果又通过内核以发消息的方式返回给客户,这就是客户 机/服务器的运行模式。
操作系统

操作系统结构

操作系统结构
(2)提高了OS的可靠性:
-small microkernel can be rigorously tested.
(3)可运行于分布式系统中。
message are sent without knowing what the target machine is.
23
微内核 客户/服务器模式的优点
15
3.微内核结构
现代操作系统的一个趋势是将这种把代 码移到更高层次的思想进一步发展,从 操作系统中去掉尽可能多的东西,而只 留一个最小的核心。 通常的方法是将大多数操作系统功能由 用户进程来实现。过去已成为操作系统 传统的许多服务,现在成了与微内核交 互的外部子系统。
16
微内核思想
微内核用水平型代替传统的垂直型结构 操作系统。 微内核基本思想是:内核中仅存放那些 最基本的核心操作系统功能。其它服务 和应用则建立在微内核之外,在用户模 式下运行。
Monolithic (one unstruOS按其功能划分为若干个具有一定独 立性和大小的模块,每个模块具有某方 面的管理功能,并规定好各模块之间的 接口,使各模块间能通过该接口实现交 互。 关键问题是模块的划分和规定好模块之 间的接口
4
3.分层式结构OS
14
一道思考题
在计算机系统中,为什么要区分管态与目态? 【解答】操作系统是计算机系统中最重要的系 统软件,为了能正确地进行管理和控制,其本 身是不能被破坏的。因此,系统采用了区分处 理机状态的办法,为操作系统程序建立一个保 护环境。这样,用户程序只能在目态下运行, 只能执行非特权指令,只能访问自己的存储区, 从而保护了操作系统程序的正常运行。
这样,微内核起消息交换功能,它验证 消息,在构件之间传送消息,并授权存 取硬件。

计算机操作系统典型体系结构

计算机操作系统典型体系结构

计算机操作系统典型体系结构计算机的典型操作系统结构你知道有哪些吗?下面由店铺为大家整理了计算机操作系统典型体系结构的相关知识,希望对大家有帮助!计算机操作系统典型体系结构一、模块组合结构模块组合结构是在软件工程出现以前的早期操作系统以及目前一些小型操作系统最常用的组织方式。

操作系统刚开始发展时是以建立一个简单的小系统为目标来实现的,但是为了满足其他需求又陆续加入一些新的功能,其结构渐渐变得复杂而无法掌握。

以前我们使用的MS-DOS就是这种结构最典型的例子。

这种操作系统是一个有多种功能的系统程序,也可以看成是一个大的可执行体,即整个操作系统是一些过程的集合。

系统中的每一个过程模块根据它们要完成的功能进行划分,然后按照一定的结构方式组合起来,协同完成整个系统的功能。

如图1所示:在模块组合结构中,没有一致的系统调用界面,模块之间通过对外提供的接口传递信息,模块内部实现隐藏的程序单元,使其对其它过程模块来说是透明的。

但是,随着功能的增加,模块组合结构变得越来越复杂而难以控制,模块间不加控制地相互调用和转移,以及信息传递方式的随意性,使系统存在一定隐患。

计算机操作系统典型体系结构二、层次结构为了弥补模块组合结构中模块间调用存在的固有不足之处,就必须减少模块间毫无规则的相互调用、相互依赖的关系,尤其要清除模块间的循环调用。

从这一点出发,层次结构的设计采用了高层建筑结构的理念,将操作系统或软件系统中的全部构成模块进行分类:将基础的模块放在基层(或称底层、一层),在此基础上,再将某些模块放在二层,二层的模块在基础模块提供的环境中工作;它只能调用基层的模块为其工作,反之不行。

严格的层次结构,第N+l层只能在N层模块提供的基础上建立,只能在N层提供的环境中工作,也只能向N层的模块发调用请求。

在采用层次结构的操作系统中,各个模块都有相对固定的位置、相对固定的层次。

处在同一层次的各模块,其相对位置的概念可以不非常明确。

了解操作系统的基本组成与架构

了解操作系统的基本组成与架构

了解操作系统的基本组成与架构在现代科技的发展中,操作系统(Operating System,简称OS)成为了计算机的核心外壳,扮演着无可替代的角色。

操作系统通过提供资源管理、任务调度和用户界面等功能,实现了计算机的高效运行。

本文将介绍操作系统的基本组成与架构,以帮助读者更好地理解这个重要的软件系统。

一、操作系统的基本组成操作系统的基本组成包括:内核(Kernel)、文件系统(File System)、设备驱动程序(Device Driver)等。

内核是操作系统的核心部分,它负责管理计算机的各种资源,包括处理器、内存、硬盘、网络等。

内核控制着这些资源的分配和调度,使得多个任务可以同时运行,提高了计算机的利用率和效率。

文件系统是操作系统中的重要组成部分,它负责管理计算机存储设备上的文件和目录。

文件系统提供了文件的创建、读取、写入和删除等功能,使得用户可以方便地存储和获取数据。

常见的文件系统有FAT、NTFS、EXT4等。

设备驱动程序是操作系统中负责管理硬件设备的软件模块。

不同的硬件设备需要不同的驱动程序来完成与操作系统的交互,使得计算机可以正确地识别、访问和控制这些设备。

设备驱动程序是操作系统与硬件之间的桥梁,确保了计算机系统的稳定运行。

二、操作系统的架构操作系统的架构主要有单体内核(Monolithic Kernel)、微内核(Microkernel)和外壳式内核(Exokernel)等。

单体内核是最常见的操作系统架构,它将操作系统的各个组件集成在一个大内核中。

单体内核具有较高的性能和运行效率,但也存在一定的风险,一旦内核崩溃,整个系统将无法正常运行。

常见的单体内核操作系统有Windows、Linux等。

微内核采用了模块化的设计思想,将操作系统的核心功能放在一个最小的内核中,而将其他功能以服务的形式运行在内核外。

微内核的优点是系统稳定性较高,模块之间的隔离性好,但由于涉及到了进程间通信等复杂机制,性能相对较低。

操作系统结构

操作系统结构

3.1 系统调用-举例
例1: 文件管理:文件读写和文件控制(高级语言); Open 文件打开 Close 文件关闭 Read 读文件 Write 写文件 Creat 文件创建 例2. 利用系统调用实现硬盘文件内容读写 MOVE DX,OFFSETBUFF MOVE CX,BYTE MOVE BX,HANDLE MOVE AH,3FH INT 21H




3.1 系统调用-实现过程



设置系统调用号和参数。 调用号作为指令的一部分(如早期UNIX),或装入到特定 寄存器里(如:DOS的 int 21H,AH=调用号。) 参数装入到特定寄存器里,或内存区域 执行trap(INT)指令:入口的一般性处理,查入口跳转表, 跳转到相应功能的过程。 保护CPU现场(将PC与PSW入栈),改变CPU执行状态(处理 机状态字PSW切换,地址空间表切换) 将参数取到核心空间 执行操作系统内部代码; 执行iret指令:将执行结果装入适当位置(类似于参数带入 ),恢复CPU现场(以栈顶内容置PSW和PC)。
3.2.1 整体或模块结构
从资源管理观点出发, 将OS划分为若干层次。 在某一层次上代码只能 调用低层次上的代码, 使模块间的调用变为有 序性。有利于系统的维 护性和可靠性。
3.2.2 分层结构
3.2.2 分层结构-特点

分层原则


被调用功能在低层:如文件系统管理-设备管理-设备驱动程序 活跃功能在低层:提高运行效率 资源管理的公用模块放在最低层:如缓冲区队列、堆栈操作 最低层的硬件抽象层:与机器特点紧密相关的软件放在最低层。 如Windows NT中的HAL--单处理、多处理 资源分配策略放在最外层,便于修改或适应不同环境 功能明确,调用关系清晰(高层对低层单向依赖),有利于保证 设计和实现的正确性 低层和高层可分别实现(便于扩充);高层错误不会影响到低层 效率低。层次之间的调用开销。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统是一种大型、复杂的并发系统,为了研制操作系统,首先必须研究它的结构,力求设计出结构良好的程序。

操作系统的结构设计有两层含义:一是研究操作系统的整体结构,由程序的构成成分组成操作系统程序的构造过程和方法;二是研究操作系统程序的局部结构,包括数据结构和控制结构。

采用不同的构件和构造方法可组成不同结构的操作系统。

本节将在讨论操作系统构件之后,全面介绍各种操作系统的构造方法。

1.2.1 操作系统的组件通常把组成操作系统程序的基本单位称作操作系统的构件。

剖析现代操作系统,构成操作系统的基本单位除内核之外,主要还有进程、线程、类程和管程。

1.内核现代操作系统中大都采用了进程的概念,为了解决系统的并发性、共享性和随机性,并使进程能协调地工作,单靠计算机硬件提供的功能是十分不够的。

例如,进程调度工作目前就不能用硬件来实现;而进程自己调度自己也是困难的。

所以,系统必须有一个软件部分能对硬件处理器及有关资源进行首次改造,以便给进程的执行提供良好运行环境,这个部分就是操作系统的内核。

由于操作系统设计的目标和环境不同,内核的大小和功能有很大差别。

有些设计希望把内核做得尽量小仅具有极少的必需功能,称为微内核(microkernel),其他功能都在核外实现,通过微内核提供的消息传递机制完成其余功能模块间的联系;有些设计则希望内核具有较多的功能,虽然其内部也可划分成层次或模块,但运行时是一个大二进制映像,模块间的联系可通过函数或过程调用实现,称为单内核(monolithic kernel)。

操作系统的一个基本问题就是内核的功能设计。

微内核结构是现代操作系统的特征之一,这种方法把内核和核外服务程序的开发分离,可为特定应用程序或运行环境要求定制服务程序,具有较好的可伸缩性,简化了实现,提供了灵活性,很适合分布式系统的构造。

一般而言,内核必须提供以下3个方面的功能。

(1)中断处理。

中断处理是内核中最基本的功能,也是操作系统赖以活动的基础,为了缩短屏蔽中断的时间,增加系统内的并发性,通常它仅仅进行有限的、简短的处理,其余任务交给在内核之外的特殊用户态进程完成。

当中断事件产生时,先由内核截获并转向中断处理例行程序进行原则处理,它分析中断事件的类型和性质,进行必要的状态修改,然后交给内核之外的进程去处理。

例如,产生外围设备结束中断事件时,内核首先分析是否正常结束,如果是正常结束,那么,就应释放等待该外围传输的进程;否则启动相应设备管理进程进行出错或异常处理。

又如当操作员请求从控制台输入命令时,内核将把这一任务转交给命令管理进程去处理,以接收和执行命令。

(2)短程调度。

主要职能是分配处理器。

当系统中发生了一个事件之后,可能一个进程要让出处理器,而另一个进程又要获得处理器。

短程调度按照一定的策略管理处理器的转让,以及完成保护和恢复现场的工作。

由于它是协调进程竞争处理器资源的程序,所以它不是进程而是内核中的一个程序。

(3)原语管理。

原语是内核中实现某一功能的不可中断过程。

为了协调进程完成通信、并发执行和共享资源,各种原语是必不可少的。

通信原语为进程相互传递消息,同步原语能协调并发进程之间的种种制约关系。

此外,还有其他原语,如启动外围设备工作的启动原语,若启动不成功则请求启动者应等待,显然,这个启动过程应该是完整的,否则在成为等待状态时,可能外围设备已经空闲。

由于设备的操作与硬件密切相关,故通常设备驱动程序等功能都放在内核中完成。

内核是操作系统对裸机的首次改造,内核和裸机组成了一台虚拟机,进程就在这台虚拟机上运行,它比裸机的功能更强大,具有以下特性:(1)虚拟机没有中断,因而,进程的设计者不再需要有硬件中断的概念,用户进程执行中无须处理中断;(2)虚拟机为每个进程提供了一台虚拟处理器,每个进程就好像在各自的私有处理器上顺序地推进,实现了多个进程的并发执行;(3)虚拟机为进程提供了功能较强的指令系统,即它们能够使用机器非特权指令、系统调用和原语所组成的新的指令系统。

为了保证系统的有效性和灵活性,设计内核应遵循少而精的原则。

如果内核功能过强,则一方面在修改系统时可能牵动内核;另一方面它占用的内存容量和执行时间都会增大,且屏蔽中断的时间过长也会影响系统效率。

因而,设计内核时应注意:中断处理要简单;调度算法要有效;原语应灵活有力、数量适当。

这样就可以做到下次修改系统时,尽量少改动内核,执行时中断屏蔽时间缩短。

2.进程管理程序本身并不能做什么,只有在CPU执行它的指令时才能有所作为;因此,可以把进程看做是正在运行的程序。

但是当我们进一步研究时,对进程的定义将更为普遍。

例如:一个分时用户程序(如编译器)是一个进程,个人用户在PC 上运行的字处理程序是一个进程,一个系统任务(如输出到打印机)也是一个进程,并可以提供允许进程创建与其并发执行的子进程的系统调用。

进程需要特定的资源(包括CPU时间、内存、文件和I/O设备)来完成工作。

这些资源或者在进程创建时分配给它,或者在其运行时分配。

除了在进程创建时所获得的各种物理资源和逻辑资源以外,各种各样的初始化数据(或输入)也可能一同传送给进程。

例如,考虑一个能够在终端的显示屏上显示一个文件状态的进程。

这个进程将获得包含输入的文件名,将执行相应的指令和系统调用来获取所期望的信息并显示在终端上。

着重强调程序本身不是进程;程序是静态实体(passive entity)(好像是存储在磁盘中的文件的内容),而进程是动态实体(active entity),它用一个程序计数器来指明要执行的下一条指令。

进程必须要按顺序执行,CPU执行完进程的一条指令后再执行下一条,直到进程结束。

进一步地讲,一次最多执行一条代表该进程的指令。

这样,从来就不会出现两个独立运行的序列。

但一个程序在运行时创建多个进程是非常普遍的。

进程是并发程序设计的一个工具,并发程序设计支撑了多道程序设计,由于进程能确切、动态地刻画计算机系统内部的并发性,更好地解决系统资源的共享性,所以,在操作系统的发展史上,进程概念被较早地引入了系统。

它在操作系统的理论研究和设计实现上均发挥了重要作用。

采用进程概念使得操作系统结构变得清晰,主要表现如下。

(1)一个进程到另一个进程的控制转移由进程调度机构统一管理,不能杂乱无章,随意进行。

(2)进程之间的交互如信号发送、消息传递和同步互斥等活动由通信及同步机制完成,从而使进程无法有意或无意破坏其他进程的数据。

因此,每个进程相对独立,相互隔离,提高了系统的安全性和可靠性。

(3)进程结构较好地刻画了系统的并发性,动态地描述出系统的执行过程,因而具有进程结构的操作系统,结构清晰、整齐划一,可维护性好。

3.主存储器管理主存储器是现代计算机系统运行的核心。

主存储器是由字或字节组成的大型队列,每个字或字节都有它自己的地址。

主存储器是CPU 和I/O 设备共享的大容量快速存储器。

中央处理器在取指令周期中从主存储器中读取指令,而且在取数据周期中从主存储器中读/写数据。

通过DMA(动态内存存取),I/O操作也实现了对主存储器的数据读/写。

通常主存储器是CPU唯一能够直接寻址和访问的大容量存储空间。

例如,CPU要处理磁盘中的数据,那么CPU首先发出I/O调用将这些数据传送到主存储器中。

同样,指令必须在存储器中才能够由CPU执行。

必须要把程序映射到绝对地址并载入内存中才可以执行。

在程序运行时,它通过产生绝对地址来从内存中访问程序指令和数据。

最后,程序结束,释放所占的内存空间,方便下一个程序载入。

为了提高CPU利用率和计算机响应速度,必须在内存中保留多个程序。

有许多不同的内存管理策略,而且不同算法的效率取决于具体的环境。

为具体的系统选择内存管理策略要考虑许多因素——尤其是系统的硬件设计。

每种算法都需要自己的硬件支持。

操作系统要负责下列与内存管理相关的工作:跟踪内存使用情况,明确哪一部分正在使用和为谁所用;在内存空间有效时决定将哪个进程载入内存;根据需要分配和释放内存空间。

4.文件管理文件管理是操作系统中可视性最强的组件之一。

计算机能够将数据存储在各种类型的物理介质上。

磁带、磁盘和光盘是最常用的介质。

每种介质都有自己的特性和物理结构。

每个存储媒体由一个驱动器控制(如磁盘驱动器或磁带驱动器),这种驱动器也有自己的独有特性。

这些特性包括访问速度、容量、数据传输率和存取方式(顺序的或随机的)。

为了便于使用计算机系统,操作系统提供了一个计算机系统的整体逻辑层面。

操作系统把存储设备的物理属性抽象定义为一个逻辑存储单元——文件。

文件被映像到物理媒介中,通过存储设备来访问这些文件。

文件是由其创建者定义的相关信息的集合。

一般的文件表现为程序(源程序和目标代码)和数据。

数据文件可能是数字的、字母的或二者混合的。

文件可能是形式自由的(如文本文件),也可能有严格定义的格式(如固定字段)。

由字、字节、行或记录组成的文件结构是其创建者定义的。

文件概念具有相当广泛的含义。

操作系统通过管理大容量存储体(如由驱动器控制的磁盘和磁带)实现了文件的抽象概念。

另外,为了更简易地使用文件,通常将他们组织到目录中。

最后,如果有多个用户访问文件,可能需要控制谁以什么样的方式访问(例如:读、写、追加)。

操作系统要负责下列与文件管理相关的工作:创建和删除文件;创建和删除目录;将文件映像到辅助存储器中;将文件备份到永久(非易失性)存储体中。

5.I/O系统管理操作系统的目的之一就是要向用户隐藏具体的硬件特性。

例如,在UNIX 中,通过I/O 子系统向操作系统隐藏了I/O设备的特性。

I/O子系统由以下几个方面组成:一个内存管理模块,这包括Buffering、Caching 和SPOOLing;一个通用设备驱动程序接口;针对具体硬件设备的驱动程序。

6.辅助存储器管理操作系统的主要目的是执行程序。

这些程序在运行时(以及它们要访问的数据)都必须在主存储器中。

因为主存储器的容量太小不能存储所有的程序和数据,而且掉电后会丢失所有的存储信息,所以计算机系统必须要提供辅助存储器作为主存储器的后备。

大多数现代计算机系统使用磁盘作为存储程序和数据的主要联机存储体。

大多数程序(包括编译程序、汇编程序、排列程序、编辑程序和格式化程序)在载入内存之前存储在磁盘上,并且在运行时利用磁盘存储它们所处理的源文件和目标文件。

因此,合理的磁盘管理对一个计算机系统来说是至关重要的。

操作系统要负责下列与辅助存储器管理相关的工作:空闲空间管理;空间分配;磁盘调度。

因为频繁地使用辅助存储器,所以必须要能够高效运行。

而且计算机的整体运行速度取决于磁盘子系统的速度和该子系统实现算法的效率。

7.网络管理分布式系统是一个处理机的集合,这些处理机既不共享内存和外围设备,也不共享时钟。

而是每个处理机拥有自己的本地内存和时钟,并且这些处理机可以通过各种通信线路(如高速总线或网络)进行通信。

相关文档
最新文档