2操作系统硬件机制

合集下载

操作系统的工作原理

操作系统的工作原理

操作系统的工作原理操作系统是计算机系统中的一个重要组成部分,它负责管理和协调计算机的硬件和软件资源,为用户提供方便、高效和稳定的计算环境。

操作系统通常通过以下几个方面来实现其工作原理。

1. 进程管理:操作系统将计算机的内存空间划分为若干个进程,每个进程都有自己的地址空间和执行状态。

操作系统通过进程调度算法,控制进程的创建、终止、挂起和恢复操作,实现进程的合理运行和资源的分配。

2. 内存管理:操作系统负责管理计算机的物理内存和虚拟内存空间。

物理内存管理涉及内存的分配和回收,以及页面置换算法的选择和实现。

虚拟内存管理利用辅存作为缓存区域,将进程的内存分为若干页,并进行页面的映射,提供了更大的地址空间和更高的内存利用率。

3. 文件系统:操作系统通过文件系统为用户提供对文件和目录的管理。

文件系统包括文件的创建、删除、读取和写入等操作,通过目录结构和文件控制块来维护文件的元信息。

操作系统还提供了文件权限管理和数据备份等功能,保证文件的安全性和可靠性。

4. 设备管理:操作系统用于管理和控制各种硬件设备,包括输入输出设备、存储设备和网络设备。

设备管理涉及设备的初始化、分配和释放,以及设备的中断处理和驱动程序的调度。

操作系统通过设备驱动程序和中断处理程序,完成与硬件设备的交互。

5. 用户界面:操作系统为用户提供了不同的用户界面,包括命令行界面和图形界面等。

命令行界面通过命令解释器解析用户的命令,并执行相应的操作。

图形界面通过窗口系统和图形用户界面库,提供了更加直观、友好和多样化的操作方式。

操作系统的工作原理可以总结为对计算机资源的有效管理和合理调度,以提高计算机的性能和可靠性。

通过进程管理、内存管理、文件系统、设备管理和用户界面等功能的实现,操作系统为用户提供了一个良好的计算环境,使其能够方便地利用计算机完成各种任务。

计算机操作系统的基本原理

计算机操作系统的基本原理

《计算机操作系统的基本原理》计算机操作系统是管理计算机硬件与软件资源的程序,是计算机系统的核心组成部分。

它为用户和应用程序提供了一个方便、高效、安全的操作环境。

本文将深入探讨计算机操作系统的基本原理。

一、操作系统的定义和功能操作系统是一种系统软件,它管理计算机的硬件资源和软件资源,控制程序的执行,提供用户与计算机之间的接口。

操作系统的主要功能包括以下几个方面:1. 处理器管理处理器是计算机系统的核心资源,操作系统负责合理地分配处理器时间,以提高系统的性能和效率。

它通过进程调度算法,决定哪个进程可以占用处理器,以及何时进行进程切换。

2. 内存管理内存是计算机系统中用于存储程序和数据的重要资源。

操作系统负责管理内存的分配和回收,确保各个进程能够安全地访问内存。

它还可以采用虚拟内存技术,将部分硬盘空间作为内存的扩展,以满足大型程序的运行需求。

3. 设备管理计算机系统中通常连接着各种外部设备,如硬盘、打印机、显示器等。

操作系统负责管理这些设备的驱动程序,实现设备的分配和回收,以及设备的输入输出操作。

它还可以提供设备的抽象接口,使得应用程序可以方便地使用各种设备。

4. 文件管理文件是计算机系统中存储信息的基本单位。

操作系统负责管理文件的存储、检索、更新和保护。

它提供了文件系统的结构和操作接口,使得用户和应用程序可以方便地创建、删除、读取和写入文件。

5. 用户接口操作系统为用户提供了两种类型的接口:命令行接口和图形用户接口。

命令行接口允许用户通过输入命令来操作计算机系统,而图形用户接口则提供了直观、方便的操作方式,用户可以通过鼠标和键盘来操作各种图形化的对象。

二、操作系统的结构操作系统的结构可以分为单体结构、层次结构和微内核结构等。

1. 单体结构单体结构是将操作系统的所有功能模块都集成在一个程序中,形成一个庞大的单体系统。

这种结构的优点是简单、高效,但是缺点也很明显,如可维护性差、扩展性差等。

2. 层次结构层次结构是将操作系统的功能模块按照层次进行划分,每个层次都提供特定的服务,并且只依赖于更低层次的服务。

操作系统工作原理

操作系统工作原理

操作系统工作原理操作系统是计算机系统的核心软件,负责协调和管理计算机硬件、软件和用户之间的交互。

操作系统的工作原理主要包括以下几个方面:1.进程管理:操作系统通过进程管理来实现对计算机中运行的各个程序的控制和调度。

操作系统为每个程序创建一个进程,并分配资源给进程。

它通过调度算法来决定进程的执行顺序,保证资源的合理利用和进程的公平竞争。

2.内存管理:操作系统负责管理计算机的内存资源。

它通过内存管理单元(MMU)将物理地址转换为逻辑地址,并进行地址映射和页表管理。

操作系统还负责内存的分配和回收,保证进程之间的内存隔离和互不干扰。

3.文件系统:操作系统提供文件系统来管理计算机中的文件和文件夹。

文件系统通过文件描述符和目录结构来组织文件,并提供文件的创建、读取、写入、删除等操作。

它还负责文件的保护和安全性管理,实现对文件的共享和访问控制。

4.设备驱动程序:操作系统通过设备驱动程序来管理计算机中的硬件设备。

设备驱动程序负责与硬件之间的交互,并提供统一的接口供应用程序进行访问。

操作系统通过设备驱动程序对硬件进行控制和管理,保证硬件的正常运行。

5.用户界面:操作系统提供用户界面供用户与计算机进行交互。

用户界面可以分为命令行界面和图形用户界面两种形式,用户可以通过输入命令或者操作图形界面来进行与计算机的交互。

操作系统负责解析用户的输入,并将指令传递给相应的模块进行处理。

6.系统调用:操作系统通过系统调用来提供一系列的服务供应用程序调用。

系统调用是操作系统与应用程序之间的纽带,它提供了一组接口,供应用程序进行文件操作、进程控制、内存管理等操作。

应用程序通过系统调用请求操作系统提供的服务,从而完成各种功能。

7.中断处理:操作系统通过中断处理来响应外部硬件的请求。

中断是一种特殊的事件,例如硬件故障、时钟中断等,当发生这些事件时,操作系统会立即响应并进行相应的处理。

中断处理程序会保存当前进程的状态,切换到中断服务例程进行处理,然后恢复中断之前的状态。

操作系统的原理与功能解析

操作系统的原理与功能解析

操作系统的原理与功能解析操作系统是计算机系统中非常重要的一个组成部分,它起着各种功能性的作用来管理计算机的硬件和软件资源,并提供给用户一个友好的界面来操作和控制计算机。

本文将对操作系统的原理与功能进行解析,希望能够帮助读者更好地理解操作系统的工作原理和各种功能。

一、操作系统的原理解析1.1 内核操作系统的核心部分被称为内核,它是操作系统的灵魂和核心,负责管理系统资源、调度任务和处理各种硬件设备。

内核是操作系统与硬件之间的接口,它通过与硬件设备的交互,实现了对计算机硬件的控制和管理。

1.2 进程管理操作系统通过进程管理来实现对计算机资源的合理分配和利用。

进程是指计算机中正在运行的程序的实例,它拥有自己的地址空间、寄存器状态和执行上下文。

操作系统通过调度算法,对进程进行管理,实现对资源的分配和进程间的切换。

1.3 内存管理计算机的内存是操作系统管理的一个重要资源,它用来存储程序和数据。

操作系统通过内存管理来管理内存的分配和回收,保证各个进程能够正常运行。

内存管理还包括虚拟内存的管理,通过将部分内容保存在硬盘上,从而扩展可用内存的大小。

1.4 文件系统操作系统通过文件系统来管理存储设备上的文件和数据。

文件系统提供了对文件的创建、读取、写入和删除等操作,用户可以通过文件系统来操作文件,并在文件系统中组织文件的存储和管理。

文件系统还提供了对文件权限和安全性的控制,保证文件的机密性和完整性。

二、操作系统的功能解析2.1 用户界面操作系统通过用户界面为用户提供了与计算机系统交互的方式。

用户界面可以分为命令行界面和图形用户界面两种形式。

命令行界面通常通过命令行输入和输出来实现用户与计算机的交互,而图形用户界面则提供了更加直观友好的操作方式,用户可以通过鼠标和图形界面进行各种操作。

2.2 设备驱动程序操作系统通过设备驱动程序来管理计算机的各种硬件设备。

设备驱动程序提供了对硬件设备的控制接口,操作系统可以通过调用相应的设备驱动程序来管理硬件的读写、中断处理和错误检测等功能。

计算机操作系统控制硬件的大脑

计算机操作系统控制硬件的大脑

计算机操作系统控制硬件的大脑计算机操作系统(Computer Operating System)是一种管理和控制计算机硬件资源、提供应用程序运行环境的软件系统。

就像人类大脑控制身体各个部分的协调运作一样,计算机操作系统扮演相似的角色。

它通过与计算机硬件进行交互,协调和管理系统中的各个组件,使得计算机能够高效地工作和执行任务。

一、操作系统的基本功能计算机操作系统的基本功能包括:处理器管理、内存管理、设备管理和文件管理。

1. 处理器管理处理器是计算机系统的核心部分,负责执行指令和进行计算。

操作系统管理处理器的分配和调度,确保系统资源的高效利用。

它分配任务给不同的进程,并按照优先级和调度算法进行调度,以保证每个进程都能获得适当的处理时间。

2. 内存管理内存是计算机用于存储指令和数据的部分,操作系统负责管理内存的分配和回收。

它将内存划分为不同的区域,包括操作系统区域、用户程序区域和缓存区域等。

操作系统还负责内存的虚拟化,将物理内存扩展为更大的虚拟内存,以便同时运行多个程序。

3. 设备管理设备管理是操作系统对计算机外部设备的管理和控制。

操作系统通过设备驱动程序与硬件设备进行交互,并提供统一的接口供应用程序使用。

它管理设备的分配、调度和控制,确保设备的可靠性和高效性。

4. 文件管理文件管理是操作系统对计算机文件的组织、存储和访问的管理。

操作系统通过文件系统来管理文件,并提供文件的读取、写入和删除等操作。

它负责实现文件的逻辑结构和物理存储,确保数据的安全性和一致性。

二、操作系统与硬件之间的交互操作系统与硬件之间通过中断、驱动程序和系统调用等方式进行交互。

1. 中断中断是计算机硬件向操作系统报告事件的一种机制。

当硬件设备发生特定的事件,如输入输出完成、时钟中断等,它会发出中断信号,通知操作系统进行相应的处理。

操作系统根据中断的类型和优先级,调用相应的中断处理程序进行处理。

2. 驱动程序驱动程序是连接操作系统和硬件设备的桥梁。

操作系统的原理和功能解析

操作系统的原理和功能解析

操作系统的原理和功能解析操作系统是计算机系统中非常重要的一部分,它负责管理和控制计算机硬件资源,并提供各种功能和服务,使得计算机能够高效地运行。

本文将对操作系统的原理和功能进行解析,帮助读者更好地理解和应用操作系统。

一、操作系统的原理1. 中断机制:操作系统通过中断机制来处理外部设备和应用程序的请求,例如键盘输入、鼠标点击等。

当发生中断事件时,操作系统会立即响应,并进行相应的处理和调度。

2. 进程管理:操作系统通过进程管理来实现程序的并发执行。

它将程序划分为多个进程,并分配CPU时间片给不同的进程,以实现多任务处理。

3. 内存管理:操作系统负责管理计算机的内存资源,包括内存分配、内存回收和内存保护等。

它通过虚拟内存机制来扩充实际物理内存的容量,提高内存利用率。

4. 文件系统:操作系统提供文件系统来管理计算机中的文件和文件夹。

它定义了文件的组织结构、访问权限以及文件的存储和检索等操作。

5. 设备管理:操作系统负责管理计算机的各种设备,如硬盘、打印机、网络接口等。

它通过设备驱动程序来控制设备的运行和数据传输。

二、操作系统的功能1. 用户接口:操作系统提供用户接口,方便用户与计算机进行交互。

常见的用户接口有命令行界面和图形界面,用户可以通过输入命令或者点击图标来操作计算机。

2. 进程调度:操作系统负责调度和管理计算机中的进程。

它根据进程的优先级、进程状态和CPU繁忙程度等因素,决定哪些进程能够获得CPU的执行时间。

3. 内存管理:操作系统管理计算机的内存资源,包括内存分配、内存回收和内存保护等。

它通过页面置换算法和内存分页机制来优化内存的使用效率。

4. 文件管理:操作系统提供文件管理功能,方便用户创建、编辑、复制和删除文件。

它通过目录结构来组织文件,并提供文件权限和文件访问控制等功能。

5. 设备管理:操作系统管理计算机的各种设备,包括硬盘、打印机、鼠标等。

它通过设备驱动程序来控制设备的运行和数据的传输,保证设备的正常工作。

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

操作系统的基本组成与架构解析操作系统是计算机系统中的核心软件之一,负责管理和控制计算机硬件资源,提供给用户和应用程序一个友好、高效的运行环境。

它由多个模块和组件组成,构建了一个复杂而高效的软件体系结构。

本文将对操作系统的基本组成和架构进行解析,以加深对操作系统的理解。

一、引言在计算机科学领域,操作系统是一种中间软件,对计算机的硬件进行管理和控制。

操作系统的主要任务包括进程管理、内存管理、文件系统管理、输入输出设备管理等。

通过这些管理和控制,操作系统为用户提供了一个高效、安全以及友好的计算机使用环境。

二、操作系统的基本组成1. 内核(Kernel)内核是操作系统的核心组件,负责管理和分配计算机的各种资源。

它提供了一个统一的接口,使得其他软件和硬件能够与操作系统进行交互。

内核包括两个主要部分:核心内核(Core Kernel)和外围内核(Periphery Kernel)。

核心内核管理计算机的主要资源,如CPU、内存和硬盘;外围内核则管理与计算机外部设备(如打印机、鼠标等)的交互。

2. 进程管理进程是指计算机中正在运行的程序。

进程管理是操作系统最重要的功能之一,它负责在计算机的CPU上分配不同的进程,以确保每个进程都能得到充分的运行时间。

进程管理包括进程调度、进程同步和进程通信等。

3. 内存管理内存管理是操作系统的另一个重要组成部分,它负责对计算机的内存资源进行分配和管理。

内存管理的主要任务包括内存分配、内存回收和虚拟内存管理等。

通过有效地管理内存,操作系统可以提高计算机的运行效率和资源利用率。

4. 文件系统管理文件系统管理是操作系统的一个重要功能,它负责对计算机中的文件进行组织和管理。

文件系统管理包括文件存储和检索、文件保护和权限控制、文件共享和备份等。

通过文件系统管理,操作系统可以提供一种统一的文件访问方式,使得用户和应用程序可以方便地对文件进行操作。

5. 输入输出设备管理输入输出设备管理是操作系统的另一个重要组成部分,它负责管理计算机与外部设备(如键盘、鼠标、显示器等)之间的数据传输和交互。

操作系统与硬件的关系

操作系统与硬件的关系概述:操作系统与硬件之间存在着密不可分的关系。

操作系统是计算机系统中的核心组件,为硬件提供了抽象层和管理机制,使得硬件能够高效地运行,并为用户和应用程序提供良好的使用体验。

一、操作系统的定义及作用操作系统是计算机系统中运行在计算机硬件上的软件,它负责管理和控制计算机系统的各种硬件资源,并向用户和应用程序提供服务。

操作系统承担着以下几个重要的作用:1. 资源管理:操作系统管理和分配计算机系统中的硬件资源,如处理器、内存、硬盘、输入输出设备等,以提高资源的利用效率。

2. 控制:操作系统对计算机系统的各种硬件进行控制和协调,确保系统各部分的正常运行。

3. 用户接口:操作系统提供了用户与计算机系统之间的接口,使得用户能够方便地与计算机进行交互。

4. 文件管理:操作系统负责管理和控制计算机系统中的各种文件,包括文件存储、文件传输和文件共享等功能。

5. 进程管理:操作系统管理和控制计算机系统中的各个进程,确保它们能够有效地执行,并按照一定的调度算法进行资源分配和任务调度。

二、操作系统与硬件之间的交互操作系统与硬件之间的交互是通过系统调用和中断机制来实现的。

1. 系统调用:系统调用是用户程序与操作系统之间进行交互的接口。

用户程序通过系统调用向操作系统提出请求,操作系统根据请求来完成相应的操作。

系统调用包括了许多操作,如文件读写、进程创建和销毁、资源分配等。

2. 中断机制:中断是一种硬件发出的请求,用来打断当前正在执行的程序,并跳转到相应的中断处理程序进行处理。

操作系统通过中断机制可以对硬件进行实时的监控和控制,以应对硬件故障、外部设备请求等情况。

三、操作系统对硬件的管理和控制操作系统对计算机系统中的各种硬件资源进行管理和控制,以提高系统的性能和稳定性。

1. 处理器管理:操作系统负责对计算机系统中的处理器进行管理和调度,保证进程能够有效地协同工作,同时提高处理器的利用率。

2. 内存管理:操作系统管理计算机系统中的内存资源,包括内存分配、内存回收和内存保护等功能,以满足应用程序对内存的需求。

操作系统的安全机制


5. 可信通路
在计算机系统中,用户是通过不可信的中间应 用层和操作系统相互作用的。但用户登录、定义 其安全属性、改变文件的安全级别等操作,必须 确定是在与安全核心通信,而不是与一个特洛伊 木马进行通信。操作系统必须防止特洛伊木马模 仿登录过程,窃取用户的口令。
特权用户在进行特权操作时,也要有办法证实 从终端上输出的信息是正确的,而不是来自特洛 伊木马。这些都需要一个机制保障用户和内核的 通信,这种机制就是由可信通路提供的。
操作系统的安全机制
3. 访问控制
访问控制是操作系统安全的核心内容和基 本要求。当操作系统主体(进程或用户)对 客体(如文件、目录、特殊设备文件等)进 行访问时,应按照一定的机制判定访问请求 和访问方式是否合法,进而决定是否支持访 问请求和执行访问操作。访问方式通常包括 自主访问控制和强制访问控制两种方式。
操作系统的安全机制
操作系统是连接硬件与其他应用软件之间的 桥梁,因此它的安全性是计算机系统安全的基石。
随着计算机技术、通信技术、体系结构、存 储系统以及软件设计等方面的发展,计算机系统 已经形成了多种安全机制,以确保可信地自动执 行系统安全策略,从而保护操作系统的信息资源、 能力资源不受破坏,为操作系统提供相应的安全 服务。
操作系统的安全机制
4. 最小特权管理
最小特权管理机制根据敏感操作类型进 行特权细分,基于职责关联一组特权指令 集,同时建立特权传递及计算机制,并保证 任何企图超越强制访问控制和自主访问控制 的特权任务都必须通过特权机制的检查,从 而减少由于特权用户口令丢失、恶意软件、 误操作所引起的损失。
操作系统的安全机制
7. 安全审计
安全审计是对操作系统中有关安全的活动进行 记录、检查及审核。它是一种事后追查的安全机 制,其主要目标是检测和判定非法用户对系统的渗 透或入侵,识别误操作并记录进程基于特定安全级 活动的详细情况,并显示合法用户的误操作。安全 审计为操作系统进行事故原因的查询、定位,事故 发生前的预测、报警以及事故发生之后的实时处理 提供详细、可靠的依据和证据支持,以备在违反系 统安全规则的事件发生后能够有效地追查事件发生 的地点、过程和责任人。

计算机系统的底层架构与工作原理

计算机系统的底层架构与工作原理计算机系统的底层架构与工作原理涵盖了计算机硬件、操作系统和底层软件之间的相互关系和交互方式。

它主要由计算机硬件、操作系统和底层软件组成,并通过各个层级的交流和协调,完成各种任务和功能。

下面将详细介绍计算机系统的底层架构和工作原理。

1.计算机硬件:计算机硬件是计算机系统的基础部分,主要包括中央处理器(CPU)、内存(RAM)、硬盘、输入输出设备和总线等。

CPU是计算机的"大脑",负责执行各种计算和控制指令。

内存是用来存储程序和数据的地方,程序在被CPU执行之前需要被加载到内存中。

硬盘用于长期存储数据和程序,输入输出设备用于与外部世界进行交互,总线则用于连接所有硬件组件,传输数据和控制信号。

2.操作系统:操作系统是计算机系统的核心部分,它负责协调和管理计算机硬件和其他软件的工作,为应用程序提供运行环境。

操作系统提供了一系列的服务和接口,用于管理内存、处理器和I/O设备等资源。

它还负责进程管理、文件系统管理、网络通信等功能。

操作系统通过与硬件和软件的交互,为应用程序提供了高效的运行环境。

3.底层软件:底层软件是指位于操作系统之上的系统软件,包括编译器、链接器、加载器和驱动程序等。

编译器将高级语言程序转换为机器码,链接器将多个模块的目标文件合并为一个可执行文件,加载器将可执行文件加载到内存中执行。

驱动程序用于与硬件设备进行通信和控制,使得操作系统能够与硬件进行交互。

计算机系统的工作原理可以简单地概括为以下几个步骤:1.启动和初始化:当计算机开机时,计算机硬件会先进行自检和初始化工作,包括检测硬件状态、设置中断向量表和初始化各个硬件设备等。

接下来,计算机会加载操作系统到内存中,并执行操作系统的启动代码。

2.运行应用程序:操作系统启动之后,会先初始化系统资源,并创建一个或多个进程来运行应用程序。

每个进程都由操作系统进行管理和调度,操作系统负责分配处理器的时间片、管理进程的状态和资源、提供进程间通信等功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CPU检测到的异常,包括:错误Fault、 陷阱Trap和中止Abort,例如:算术溢出、 被零除、用户态下使用了特权指令等;
程序设定的异常,即程序员通过int、int3等 指令来发出的中断请求,也称为软中断,主 要用来实现系统调用服务。
20
20
• 异步中断:指由其他的硬件设备在任意的时刻 所发出的中断,简称为“中断” ;
流和任务切换
23
中断优先级
• 中断优先级是中断响应的优先级别。 • 当多个中断发生时,系统根据优先级决
定响应中断的次序,优先响应高优先级 的中断,同级中断则按硬件规定的次序 响应。 • 中断优先级由高到低的顺序为:硬件故 障中断、访管中断、程序性中断、外部 中断、输入/输出中断。
24
中断屏蔽
• 中断屏蔽表示暂时封锁对中断的响应,待屏 蔽消除后再响应。
操作系统硬件机制
1. 处理器状态、特权指令、非特权指 令;
2. 中断概念、中断系统、中断向量表、 中断响应处理过程;
3. 系统调用、处理过程、分类
1
操作系统的硬件环境
任何系统软件都是对硬件功能的延伸,都是 建立在硬件基础上的,离不开硬件设施的支 持。而操作系统更是直接依赖于硬件,与硬 件的关系尤为密切。
int sys_fork(); int sys_read();
创建进程 读文件
int sys_write(); int sys_open(); int sys_execve(); int sys_time(); int sys_chdir(); int sys_mount();
写文件 打开文件 执行程序 取当前时间 更改当前目录 安装文件系统
那么用户程序如何才能去做一些带有“特权”的 事情(如I/O)呢? 解决之道是 ————
பைடு நூலகம்11
11
二、系统调用
用户程序通过特殊的访管指令,来请求操作系统 为其提供某种功能的服务。系统调用指令的实现 过程一般是:
当CPU执行访管指令时,即引起访管中断;
处理器保存中断点的程序执行上下文环境(PSW, PC和其他的一些寄存器),CPU切换到管态。
中断处理程序开始工作,调用相应的系统服务;
中断处理结束后,恢复被中断程序的上下文环境, CPU恢复为目态,回到中断点继续执行。
12
12
中断处理程序
陷入到 管态
OS内核
系统服务程序
恢复到 目态
管态(系统态) 目态(用户态)
系统调用(汇编指令)
用户程序
13
13
Linux0.11版本中的系统调用(72个)


数组sys_call_table[]记录了每个系统调用函数的入 口地址,系统调用中断int 0x80,eax中是调用号。14
14
OS需要的硬件特性
✓ 受保护的指令; ✓ 系统调用;
内存保护; 中断机制; I/O系统; 时钟操作。
15
15
三、内存保护
Why 内存保护?
You can’t hurt me, I can’t hurt you
26
中断响应流程图
取 执行一条指令

指令结束?

Y

有中断请求? N 令
Y
Y 响应中断
开中断?
N
27
中断响应过程
• 中断响应过程一般包含以下几步:
– 发现中断源 – 保护现场 – 引出中断处理程序
28
发现中断源
• 发现中断源:通过扫描中断寄存器检查有无 中断请求。
– 中断装置:发现中断源而产生中断过程的设备 称为中断装置。中断由软硬件协同完成,软硬 件部分合称中断系统。中断系统的职能是实现 中断进入。
17
17
四、中断机制
中断对于操作系统的重要性 就像机器中的驱动齿轮一样
有人把操作系统称为是由 “中断驱动”或者 “(中断)事件驱动”
18
18
什么是中断(interrupt)? • 指的是由于某个事件的发生,改变了正在CPU上
执行的指令的顺序; • 这种事件对应于CPU芯片内部或外部的硬件电路
所生成的电信号。
访问某些硬件资源的指令,这些硬件资源 禁止用户程序直接访问;
对I/O设备的直接访问指令,如磁盘、打印 机等;
对内存管理状态进行操作的指令(页表指 针、刷新TLB等); 某些特殊的状态位的设置指令;
停机指令。 5 5
如何从硬件上实现OS的这个要求?
处理器的状态
根据运行程序对资源和机器指令的使用权限, 把处理器设置为不同状态。 多数系统将处理器工作状态划分为管态和目态。
31
中断处理过程
• 中断处理功能由硬件和软件配合完成。 硬件负责中断的发现及进入,软件负责 中断的分析处理及恢复工作。
• 软件中断处理过程主要有三项工作:
– 保护被中断程序的现场并传递参数 – 执行相应的中断服务程序 – 恢复被中断程序的现场并退出中断
32
中断处理例程简介1
• 硬件故障中断的处理:这类故障一般需要人工
– 断点及恢复点:发现中断时刚执行完的那条指 令所在的单元号称为断点,断点的逻辑后继指 令的单元号称为恢复点。
29
保护现场
• 保护现场:当中断发生时,将现场信息保存 到内存中。
– 现场:指中断那一刻能确保程序继续运行的信 息,主要包括:后继指令单元号、程序运行时 CPU状态、指令执行情况、程序执行中间结果 。
21
21
中断嵌套
• 在处理一个中断事件时,系统又响应了 新的中断事件。
程序执行 中断处理 嵌套中断处理
中断
再次中断
返回
返回
22
中断的作用
• CPU与I/O设备并行工作:设备传输结束发中断 • 硬件故障处理:出现故障发中断 • 实现人机联系:干预机器运行,了解机器状态,下达临时命

• 实现多道程序和分时系统:切换 • 实现实时处理:以中断方式传送实时信号 • 实现应用程序与OS联系:如软中断 • 多处理机间的联系:以中断方式实现多处理机间的信息交
可屏蔽中断,即I/O中断,它是当外部设备 或通道操作正常结束或发生错误时所发生 的中断。例如:打印机打印完成、缺纸, 读磁盘时驱动器中没有磁盘等;
不可屏蔽中断,例如:由掉电、存储器校 验错等硬件故障引起的硬件中断;
• 每一个中断或异常都用一个0-255之间的整数 来标识,称为中断向量,系统根据中断向量, 来为每一个中断或异常指定相应的处理程序。
– 恢复现场:被中断程序恢复运行之前,将保存 的现场信息恢复到内存中。
30
引出中断处理程序
• 引出中断处理程序:中断发生时,中断系统 将程序状态字的内容保存到主存约定单元中 ,再将中断处理程序的程序状态字送入相应 的寄存器,于是引出了中断处理程序。
– 中断响应的本质是交换程序状态字的内容以保 留程序断点信息、自动转入相应的中断处理程 序。
33
中断处理例程简介2
• 外部中断的处理:对不同中断分别进行处理。
如时钟中断完成增加时钟计数。
• 外部设备中断的处理:分为以下情况
– 传输结束:决定传输是否结束。若未结束则启 动下一次传输,否则置设备状态为空闲。
– 传输错误:置设备空闲,报告传输错误。 – 故障:置设备空闲,报告设备错误。
• 访管中断的处理:根据系统调用号查得系统 调用程序的入口地址,并转入执行。
管态:操作系统的管理程序运行时的状态,较高的
特权级别,又称为特权态、系统态、内核态
处理器处于管态时:可以执行所有的指令(包括特权 指令)、使用所有的资源,并具有改变处理器状态的 能力。
Supervisor mode == “Superuser” privileg6e ?
6
目态:用户程序运行时的状态,较低的特权级别,
现有基于x86处理器的操作系统,多数UNIX、Linux以 及Windows系列大都只用了R0和R3两个特权级别
9
9
问题一:CPU怎么来判断当前运行的程序是 系统程序还是用户程序呢?
程序状态字PSW
一个专门的寄存器,用来指示处理器的状态, PSW (Program Status Word ),通常包括:
• CPU的工作状态码——指明管态还是目态,用来 说明当前在CPU上执行的是操作系统还是一般用 户,从而决定其是否可以使用特权指令或拥有其
它的特殊权力;
• 条件码——反映指令执行后的结果特征;
• 中断屏蔽码——指出是否允许中断
10
10
问题二:状态之间如何转换?
管态 → 目态 通过设置PSW(修改程序状态字)来实现; 目态 → 管态 用户程序无法直接修改程序状态字;
干预,OS所做工作是:保护现场、防止事故蔓延 、向操作员报告并提供故障信息。
• 程序性中断的处理:大体有以下处理方法
– 对纯程序性错误,如地址越界,OS将出错程序 名、出错地址、错误性质报告给操作员
– 对其他程序性错,如溢出,可交给用户自行处理 ,若用户没有提出处理办法, 则OS将出错程序 名、出错地址、错误性质报告给操作员。
防止一个用户程序去访问其他用户 程序的数据; 保护操作系统免受用户程序的破坏。
16
16
在硬件上如何支持? 最简单的做法:基址寄存器和边界寄存器
内存 程序C 程序A 程序B
基址寄存器 边界寄存器
在开始运行一 个程序时,由 操作系统负责 给基址寄存器 和边界寄存器 设置相应的值
虚拟存储技术:把内存和外存结合起来使用,硬件 提供虚、实地址映射的机制。
又称为普通态(普态)、用户态。 在此状态下禁止使用特权指令,不能直接使用系统 资源与改变CPU状态,并且只能访问用户程序所在 的存储空间。 有些系统将处理器状态划分核心状态,管理状态和 用户程序状态(目标状态)三种。
相关文档
最新文档