赞
踩
2.1 操作系统的目标和功能
操作系统是控制应用程序执行的程序,是应用程序和计算机硬件间的接口,它有三个目标:
计算机系统中的三种重要接口
指令系统体系结构(ISA):定义了计算机遵循的机器语言指令系统,该接口是硬件和软件的分界线。注意,应用程序和使用程序都可直接访问ISA,这些程序使用指令系统的一个子集(用户级ISA)。操作系统能使用其他一些操作系统资源的机器语言指令(系统级ISA)。
应用程序二进制接口(ABI):这种接口定义了程序间二进制可移植性的标准。ABI定义了操作系统的系统调用接口,以及在系统中通过ISA能使用的硬件资源和服务。
应用程序编程接口(API):API允许应用程序访问系统的硬件资源和服务,这些服务由用户级ISA和高级语言库(HLL)调用来提供。使用API能让应用软件更容易重新编译并移植到具有相同API的其他系统中。
2.1.2作为资源管理器的操作系统
一台计算机就是一组资源,这些资源用于移动,存储和处理数据,并对这些功能进行控制,而操作系统负责管理这些资源。
操作系统作为控制机制有两个独特的特点:
操作系统与普通计算机软件的作用相同,即它是由处理器执行的一段程序或一组程序
操作系统经常会释放控制,而且必须依赖处理器才能恢复控制
操作系统与其它计算机程序的比较:
操作系统的一部分在内存中,包括内核程序(kernel或nucleus)和当前正在使用的其他操作系统程序,内核程序包含操作系统中最常使用的功能。
2.1.3操作系统的易扩展性
硬件升级和新型硬件的出现
新的服务
纠正错误
2.2操作系统的发展史
2.2.1串行处理
监控程序角度:监控程序控制事件的顺序。监控程序每次从输入设备中读取一个作业。读入后,当前作业呗放置在用户程序区域,并且把控制权交给这个作业。作业完成后,它将控制权返回给监控程序,监控程序立即读取下一个作业。每个作业的结果被发送到输出设备,交付给用户。
处理器角度:处理器执行内存中存储的监控程序中的指令,这些指令读入下一个作业并存储到内存中的另一部分,这些指令读入下一个作业并存储到内存中的另一部分。读入一个作业后,处理器将会遇到监控程序的分支指令,引导处理器在用户程序的开始处继续执行。处理器继而执行用户程序中的指令,直到遇到一个结束指令或错误条件。
监控程序的功能:
监控程序或批处理操作系统,只是一个简单的计算机程序,它依赖于处理器可从内存的不同部分取指令的能力,交替的获取或释放控制权。此外,还考虑了其他硬件功能:
批处理多道程序设计 | 分时 | |
---|---|---|
主要目标 | 充分利用处理器 | 减小响应时间 |
操作系统 | 作业控制语言命令,作业提供的命令 | 终端键入的命令 |
2.3主要成就
2.3.1进程
关于进程的定义有很多,例如:
进程由三部分组成:
一段可执行的程序
程序所需要的相关数据(变量、工作空间、缓冲区等)
程序的执行上下文(也称为进程状态)
关于执行上下文(又称进程状态):是操作系统用来管理和控制进程所需的内部数据。包括操作系统管理进程以及处理器正确执行进程所需的所有信息。包括各种处理器寄存器的内容,如程序计数器和数据寄存器。还包括操作系统使用的信息,如进程优先级及进程是否在等待特定I/O事件的发生。
线程:本质上,一个分配了资源的进程可分解为多个并发的进程,这些线程相互协作执行,完成进程的工作
2.3.2内存管理
操作系统为有效且有条理地控制存储器分配,需要完成下面5项工作:
进程隔离:操作系统必须保护独立的进程,防止互相干扰各自的存储空间,包括数据和指令;
自动分配和管理:程序应该根据需要在存储层次间动态地分配,分配对程序员是透明的。
支持模块化程序设计:程序员应该能够定义程序模块,并动态的创建、销毁模块,动态的改变模块的大小。
保护和访问控制:不论在存储层次中的哪一级,存储器的共享都会产生一个程序访问另一个程序存储空间的潜在可能性。因此,操作系统必须允许一部分内存可以由各种用户以各种方式进程访问。
长期存储:许多应用程序需要在计算机关机后长时间地保存信息。
典型情况下,操作系统使用虚存和文件系统机制来满足这些要求。其中,文件系统实现 长期存储。
2.3.3信息保护和安全
与操作系统相关的大多数安全和保护问题可分为4类:
可用性:保护系统不被中断
保密性:保证用户不能读取未被授权访问的数据
数据完整性:保护数据不被未授权修改
认证:设计用户身份的正确认证和消息或数据的合法性
2.3.4调度和资源管理
操作系统的一个关键任务是管理各种可用资源(内存空间、I/O设备、处理器),并调度各种活动进程来使用这些资源。
任何资源分配和调度策略都需考虑3个因素:
公平性:通常希望给竞争使用某一特定资源的所有京城提供几乎同等和公平的访问机会。对同一类作业,即有类似请求的作业,更需要如此
有差别的响应性:另一方面,操作系统可能需要区分具有不同服务要求的不同作业类别。操作系统将试图做出满足所有要求的分配和调度策略。
有效性:操作系统希望获得最大的吞吐量和最小的响应时间,并在分时情形下,能够容纳尽可能多的用户。
2.4现代操作系统的特征
多线程技术是指把执行一个应用程序的进程划分为可以同时运行的多个线程。
线程和进程的区别如下:
线程(thread):可分派的工作单元。包括处理器上下文环境(包含程序技术阿奇和栈指针)和栈中自身的数据区域(目的是启动程序分支)。线程顺序执行且可以中断,因此处理器可以转到另一个线程。
进程(process):一个或多个线程和相关系统资源(如包含数据和代码的存储器空间、打开的文件和设备)的集合。它严格对应于一个正在执行的程序的概念。通过把一个应用程序分解成多个线程,程序员可以在很大程度上控制应用程序的木块性及相关事件的时间安排。
在同一个进程中运行多个线程时,在线程间来回切换所涉及的处理器开销要比在不同进程间进行切换的开销小。
2.5容错性
2.5.1基本概念
容错性是指系统或部件在发生软/硬件错误时,能够继续正常运行的能力。这种能力通常会涉及一定程度的冗余,但是可以提高系统的可靠性。
与容错性相关的系统运行质量的基本度量指标是可靠性、平均失效时间和可用性
2.5.2错误
IEEE标准将错误定义为一个不正确的硬件或软件状态,这种状态由环境、设计错误、程序错误、数据结构错误所导致的组件错误、操作错误、物理干扰造成。该标准还国定故障表现为:(1)硬件设备或组件缺陷,如短路或线路损坏;(2)计算机程序中不正确的步骤、过程或数据定义。
错误分为以下几类:
永久性错误:错误在故障部分替换或修复前将一直存在。如硬盘磁头损坏、软件错误、通信部件损坏
临时性错误:分为瞬时性错误和间歇性错误
一般而言,系统的容错性是通过增加冗余度来实现的。冗余的实现有以下几种方法:
空间(物理)冗余:物理冗余包括使用多个组件同时执行相同的功能,或设置一个可用组件作为备份,以防止灵异组件出现错误的情况
时间冗余:时间冗余指检测到错误时重复某一功能或操作,该方法对于临时性错误有效,但对永久性错误无效
信息冗余:信息冗余通过复制或编码数据的方式来检测和修复位数据,进而提高容错性。例如存储系统所用的差错控制编码电路和RAID磁盘所用的纠错技术。
2.5.3操作系统机制
操作系统软件中采用了许多技术来提高容错性,常见的如下:
进程隔离:操作系统为进程管理所提供的这一结构,可为其他进程不受产生错误进程的影响提供一定的保护。例如,进程在内存、文件存取和执行过程中通常是相互隔离的。
并发控制:提供一种可以保证正确操作以及从错误状态(如死锁)中恢复的技术。
虚拟机:提供了更高的应用隔离和错误隔离。
检测点和回滚机制:检测点是应用程序状态的一个副本,该副本在可考虑范围内保存于对错误免疫的存储介质中,回滚则是从先前存储的检测点重新开始执行。发生错误时,应用程序的状态回滚到检测点并从那里开始重新执行。
2.6多处理器和多核操作系统设计考虑因素
2.6.1对称多处理器操作系统设计考虑因素
并发进程或线程
调度
同步
内存管理
可靠性和容错性
2.6.2多核操作系统设计考虑因素
前述对称多核处理器操作系统设计考虑因素
每个核内部的硬件并行,即指令并行
处理器层次上的潜在并行能力
在多核上一个应用程序以并发多次进程或多线程形式执行的潜在并行能力
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。