操作系统概述
操作系统为应用程序提供与硬件交互的接口。它的主要功能是为运行中的程序动态地分配可共享的系统资源,与之相关的研究主要涉及内存,进程及外设的管理和调度。相邻层次间的接口不断改变:一方面,原来由操作系统负责的部分功能被迁移到硬件中;另一方面,一些与应用程序解决的问题无关的程序化函数也被加入操作系统中。
2.1操作系统的目标和功能
操作系统是控制应用程序执行的程序,并充当应用程序和计算机硬件之间的接口。它有下面三个目标:
1:方便:操作系统使计算机更易于使用。
2:有效:操作系统允许以更有效的方式使用计算机资源。
3:扩展能力:在构造操作系统时,应该允许在不妨碍服务的前提下有效地开发、测试和引进新的系统功能。
2.1.1 作为用户/计算机接口的操作系统
最重要的系统程序是操作系统,操作系统为程序员屏蔽了硬件细节,并为程序员使用系统提供方便的接口。它可以作为中介,使用程序员和应用程序更容易地访问和使用这些功能与服务。
简单地说,操作系统通常提供了以下几个方面的服务:
1:程序开发:操作系统提供各种各样的工具和服务,如编辑器和调试器,用于帮助程序员开发程序。通常,这些服务以实用工具的形式出现,严格来说并不属于操作系统核心的一部分;它们由操作系统提供,称为应用程序开发工具。
2:程序运行:运行一个程序需要很多步骤,必须把指令和数据加载到内存、初始化IO设备和文件、准备其它一些资源。操作系统为用户处理这些调度问题。
3:IO设备访问:每个IO设备的操作都需要自己特有的指令集或控制信号,操作系统隐藏这些细节,并提供了统一的接口,因此程序员可以使用简单的读和写操作来访问这些设备。
4:文件访问控制:对操作系统而言,关于文件的控制不仅必须详细了解IO设备(磁盘驱动器、磁带驱动器)的特性,而且必须详细了解存储介质中文件数据的结构。此外,对有多个用户的系统,操作系统还可以提供保护机制来控制对文件的访问。
5:系统访问:对于共享或公共系统,操作系统控制对整个系统的访问以及对某个特殊系统资源的访问。访问功能模块必须提供对资源和数据的保护,以避免未授权用户的访问,还必须解决资源竞争时的冲突问题
6:错误检测和响应:计算机系统运行时可能发生各种各校的错误,包括内部和外部硬件错误,如存储器错误、设备失败或故障,以及各种软件错误,如算术溢出、方略访问被禁止的存储器单元、操作系统无法满足应用程序的请求等。对每种情况,操作系统都必须提供响应以清除错误条件,使其对正在运行应用程序的影响最小。响应可以是终止引起错误的程序、重试操作或简单地给应用程序报告错误。
7:记账:一个好的操作系统可以收集对各种资源的利用率统计数据,监控诸如响应时间之间的性能参数。在任何系统中, 这个信息对于预测将来增强功能的需求以调整系统以提高性能都是很有用的。对多用户系统,这个信息还可用于记账。
2.1.2作为资源管理器的操作系统
一台计算机就是一组资源,这些资源用于对数据的移动、存储和处理,以及对这些功能的控制。而操作系统负责管理这些资源。
作为控制机制,它有两方面特点:
1:操作系统与普通的计算机软件作用相同,也就是说,它是由处理器执行的一段程序或一组程序。
2:操作系统经常会释放控制,而且必须依赖处理器才能恢复控制。
操作系统实际上不过是一组计算机程序,与其他计算机程序类似,它们都给处理器提供指令,主要区别在于程序的意图。操作系统控制处理器使用其他系统资源,并控制其他程序的执行时机。但是,处理器要做任何一件这类事情,都必须停止执行操作系统程序,而去执行其他程序。因此,这时操作系统释放对处理器的控制,让处理器去做其他一些有用的工作,然后用足够长的时间恢复控制权,让处理器准备好做下一件工作。
操作系统中有一部分在内存中,其中包括内核程序和当前正在使用的其他操作系统程序,内核程序包含操作系统中最常使用的功能。内存的其余部分包含用户程序和数据,它的分配由操作系统和处理器中的存储管理硬件联合控制完成。操作系统决定在程序运行过程中何时使用IO设备,并控制文件的访问和使用。处理器自身也是一个资源,操作系统必须决定在运行一个特定的用户程序时,可以分配多少处理器时间。在多处理器系统中,这个决定要传到所有的处理器。
2.3主要的成就
2.3.1 进程
系统程序员在开发早期的多道程序和多用户交互系统时使用的主要工具是中断。一个已定义事件(如IO完成)的发生可以暂停任何作业的活动。处理器保存某些上下文(如程序计数器和其他寄存器),然后跳转到中断处理程序中,处理中断,然后恢复用户被中断的作业或其他作业的处理。
设计出一个能够协调各种不同活动的系统软件是非常困难的。在任何时刻都有许多作业在运行中,每个作业都包括 要求按顺序执行的很多步骤,因此,分析事件序列的所有组合几乎是不可能的。由于缺乏能够在所有活动中进行协调和合作的系统级的方法,程序员只能基于他们对操作系统所控制的环境的理解,采用自己的特殊方法,然而,这种方法是很脆弱的,尤其对于一些程序设计中的小错误,因为这些错误只在很少见的事件序列发生时才会出现。由于需要从应用程序软件错误和硬件错误中区分出这些错误,因而诊断工作是很困难的。即使检测出错误了 很难确定其原因,因为很难再现错误产生的精确场景。
解决问题需要一种系统级的方法监控处理器中不同的程序的执行。进程的概念为此提供了基础。进程可以视为由三部分组成:
1:一段可执行的程序。
2:程序所需要的相关数据(变量、工作空间、缓冲区等)。
3:程序的执行上下文。
最后一部分是根本。执行上下文又称进程状态,是操作系统用来管理和控制进程所需的内部数据。这种内部信息和进程是分开的,因为操作系统信息不允许被进程直接访问。上下文包括操作系统管理进程及处理器正确执行进程所需要的所有信息:包括各种处理器寄存器的内容,如程序计数器和数据寄存哭 还包括操作系统使用的信息,如进程优先级及进程是否在等待特定IO事件完成
2.3.2内存管理
通过支持模块化程序设计的计算环境和数据的灵活使用,可以很好地满足用户的要求。系统管理员需要有效且条理地控制存储器分配。操作系统为满足这些要求,担负着5个基本的存储器管理责任:
1:进程隔离:操作系统必须保护独立的进程,防止互相干涉各自的存储空间,包括数据和指令。
2:自动分配和管理:程序应该根据需要在存储层次间动态地分配 ,分配对程序员是透明的。因此,程序员无须关心与存储限制有关的问题,操作系统有效地实现分配问题,可以仅在需要时才给作业分配存储空间。
3:支持模块化程序设计:程序员应该能够定义程序模块,并且动态地创建、销毁模块、动态地改变模块大小。
4:保护和访问控制:不论在的哪一级,存储器的共享都会产生一个程序访问另一个程序存储空间的潜在可能性。当一个特定的应用程序需要共享时,这是可取的。但在别的时候,它可能会威胁到程序的完整性,甚至威胁到操作系统自身。操作系统必须允许一部分内存可以由各种用户以各种方式进行访问。
5:长期存储:许多应用程序需要在计算机关机后长时间保存信息。
2.3.3信息保护和安全
信息保护是在使用分时系统时提出的,近年来计算机网络进一步关注和发展了这个问题。由于环境不同,涉及一个组织的威胁的本质也不同。但是,有一些通用工具可以嵌入运行各种保护和安全机制的计算机和操作系统内部。总之,我们关心对计算机系统的控制访问和其中保存的信息。
大多数与操作系统相关的安全和保护问题可以分为四类:
1:可用性:保护系统不被打断。
2:保密性:保证用户不能读到未授权访问的数据。
3:数据完整性:保护数据不被未授权修改。
4:认证:涉及用户身份的正确谁和消息或数据的合法性。
2.3.4调度和资源管理
操作系统的一个关键任务是管理各种可用资源(内存空间、IO设备、处理器),并调度各种活动进程使用这些资源。
相关推荐
#### 一、操作系统概述 **操作系统定义:** 操作系统是一种复杂的系统软件,是不同程序代码、数据结构、初始化文件的集合,具备可执行特性。它是连接计算机硬件与用户的桥梁,负责管理计算机硬件和软件资源,并简化...
### 操作系统概论核心知识点解析 #### 一、计算机系统概述 计算机系统,作为20世纪人类的重大发明,深刻地改变了现代社会的运作方式。它不仅在科学计算、过程控制、信息传递和数据处理等领域发挥着重要作用,还...
"自考之操作系统概论.zip"这个压缩包文件显然是为了帮助自考人群准备操作系统概论的考试而精心编排的资料集合。下面我们将详细探讨操作系统的一些关键知识点。 1. **操作系统定义**:操作系统是管理计算机硬件与...
《操作系统概论历年真题及答案》这个压缩包文件集合了多年的自学考试题目和答案,旨在帮助备考者系统性地复习和理解操作系统的基本概念、原理和应用。 在这些文件中,我们可以看到不同年份的考试题目,如2006年、...
操作系统概论真题解析 本文档将对操作系统概论真题进行详细的解析和知识点总结,涵盖了操作系统的基本概念、进程管理、内存管理、文件系统、输入/输出系统等方面的知识点。 一、操作系统基本概念 操作系统是...
操作系统概论是计算机科学中的关键课程,它探讨了如何有效地管理和协调计算机硬件与软件资源,以提供高效、安全、可靠的计算环境。对于自考本科专业的学生来说,掌握操作系统的基本概念和原理至关重要。本课程的通关...
《02323操作系统概论》这门课程深入探讨了操作系统的各个方面,包括进程管理、内存管理、文件系统、设备管理以及作业调度等核心概念。这个压缩包包含了从2004年至2021年的历年真题,对于学习和准备这门课程的学生来...
操作系统概论串讲笔记 本资源摘要信息是关于操作系统概论的串讲笔记,涵盖了操作系统的定义、作用和功能、分类、处理器的工作状态、程序状态字、系统功能调用等知识点。 一、计算机系统 计算机系统包括计算机硬件...
操作系统概论主要涉及操作系统的基本概念、设计原理、功能模块以及在实际应用中的运作机制。以下是一些操作系统概论中的关键知识点: 1. **操作系统定义**:操作系统是控制计算机硬件并管理软件资源的程序集合,它...
自考操作系统概论是对这一领域的系统性学习和掌握,旨在帮助考生理解和运用操作系统的基本概念、原理和设计方法。历年自考操作系统概论的汇总资料,对于备考者来说,是极其宝贵的资源。 这些文档涵盖了不同年份的...
在"操作系统概论"这个主题中,我们将深入探讨操作系统的基本概念、功能以及其在现代计算机系统中的重要作用。 首先,操作系统(Operating System,简称OS)的主要职责之一就是管理计算机资源。这包括对中央处理器...
武汉大学的“操作系统概论”课程主要涵盖了操作系统的基本概念、发展历史、功能以及管理的计算机资源。本课程不仅介绍了操作系统如何作为用户与硬件之间的接口,还强调了它在管理和优化资源利用方面的重要性。 首先...
《02323操作系统概论》是全国高等院校自学考试的一本教材,由谭耀铭编著,旨在帮助学生深入理解操作系统的原理、设计与实现。以下是该教材可能涵盖的一些关键知识点: 1. **操作系统定义**:操作系统(Operating ...
综上所述,操作系统概论涵盖了操作系统的基本概念、发展历史、类型、功能以及与硬件和软件的交互机制,是理解计算机系统运行核心的关键知识点。通过深入学习这些内容,可以为后续的计算机科学和技术研究打下坚实的...
《操作系统概论》第六版是该领域的经典教材,它深入浅出地介绍了操作系统的基本概念、设计原理和实现技术。翻译版的出现,无疑为那些在阅读英文原版时遇到困难的读者提供了极大的便利,省去了频繁查阅字典的困扰,...
### 自考02323操作系统概论 串讲笔记 #### 引论与考情分析 本章节作为自考《操作系统概论》的基础部分,旨在帮助考生掌握操作系统的基本概念和核心原理,以便更好地理解后续章节的内容。根据历年考试情况来看,这...
操作系统概论通常包括以下几个核心知识点: 1. **操作系统定义**:操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的程序,它是计算机系统的核心,为用户和其他软件提供接口和服务。 2. **操作...