操作系统概述

操作系统概述

计算机自上而下可分为四部分:硬件、操作系统、应用程序、用户程序。
操作系统(Operating System, OS):
是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。计算机操作系统是随着计算机研究和应用的发展逐步形成并发展起来的,它是计算机系统中最基本的系统软件。

操作系统的特征

操作系统的基本特征包括并发、共享、虚拟和异步

  • 并发
    并发是指两个或多个事件在同一时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行着的程序,因此它具有处理和调度多个程序同时执行的能力。在操作系统 中,引入进程的目的是使程序能并发执行。
    操作系统的并发性是通过分时得以实现的。
  • 共享
    资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。共享可分为以下两种资源共享方式:
  1. 互斥共享方式
    系统中的某些资源,如打印机、磁带机,虽然它们可以提供给多个进程使用,但为使所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程访问该资源
  2. 同时访问方式
    系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问即 “分时共享”。典型的可供多个进程“同时”访问的资源是磁盘设备,一些用重入码编写的文件也可以被“同时”共享,即若干个用户同时访问该文件
    并发和共享是操作系统两个最基本的特征,这两者之间又是互为存在条件的:
    • 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题;
    • 若系统不能对资源共享实施有效的管理,也必将影响到程序的并发执行,甚至根本无法并发执行
  • 虚拟
    虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的;而后者是虚的,是用户感觉上的事物。用于实现虚拟的技术,称为虚拟技术。在操作系统中利用了多种虚拟技术,分别用来实现虚拟处理器、虚拟内存和虚拟外部设备等。
    操作系统的虚拟技术可归纳为:时分复用技术,如处理器的分时共享;空分复用技术,如虚拟存储器
  • 异步
    在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

操作系统的目标和功能

操作系统应具有以下几方面的功能:处理机管理、 存储器管理、设备管理和文件管理。为了方便用户使用操作系统,还必须向用户提供接口。同时操作系统可用来扩充机器,以提供更方便的服务、更高的资源利用率。

操作系统作为计算机系统资源的管理者

  1. 处理机管理
    在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理可归结为对进程的管理。
    进程管理的主要功能有:进程控制、进程同步、进程通信、死锁处理、处理机调度等。
  2. 存储器管理
    主要包括内存分配、地址映射、内存保护与共享和内存扩充等功能。
  3. 文件管理
    文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等。
  4. 设备管理
    设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓冲管理、设备分配、设备处理和虛拟设备等功能。

操作系统作为用户与计算机硬件系统之间的接口

操作系统提供的接口主要分为两类:
一类是命令接口,用户利用这些操作命令来组织和控制作业的执行;另一类是程序接口,编程人员可以使用它们来请求操作系统服务

  1. 命令接口
    使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式。
  2. 程序接口
    程序接口由一组系统调用命会(简称系统调用,也称广义指令)组成

操作体统用做扩充机器

由操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、 使用更方便的机器,通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机。

操作系统的发展分类

操作体统的发展

  1. 手工阶段
  2. 批处理阶段(操作系统开始出现)
    为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,出现了批处理系统。其又分为一下两类
  • 单道批处理系统
    系统对作业的处理是成批进行的,但内存中始终保持一道作业。该系统是在解决人机矛盾和CPU与I/O设备速率不匹配的矛盾中形成的
    每次主机内存中仅存放一道作业,每当它运行期间(注意这里是“运行时”,并不是“完成后”)发出输入/输出请求后,高速的CPU便处于等待低速的I/O完成状态。为了进一步提高资源的利用率和系统的吞吐量,引入了多道程序技术。

  • 多道批处理系统
    多道程序设计技术允许多个程序同时进入内存并运行。即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种硬、软件资源
    多道程序设计的特点有:
    1.多道:计算机内存中同时存放多道相互独立的程序。
    2.宏观上并行:同时进入系统的多道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。
    3.微观上串行:内存中的多道程序轮流占有CPU,交替执行。
    多道程序设计技术的实现需要解决下列问题:
    1.如何分配处理器。
    2.多道程序的内存分配问题。
    3.I/O设备如何分配。
    4.如何组织和存放大量的程序和数据,以便于用户使用和保证其安全性与一致性

    优点:
    1.资源利用率高。
    2.多道程序共享计算机资源,资源得到充分利用。
    3.系统吞吐量大。
    缺点
    1.用户响应的时间较长。
    2.不提供人机交互能力

  1. 分时系统
    在操作系统中釆用分时技术就形成了分时系统。所谓分时技术就是把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时停止运行,把处理器让给其他作业使用,等待下一轮再继续运行。
    分时系统是实现人机交互的系统
    特征
    • 同时性,同时性也称多路性,指允许多个终端用户同时使用一台计算机。
    • 交互性,用户能够方便地与系统进行人-机对话。
    • 独立性,系统中多个用户可以彼此独立地进行操作,互不干扰。
    • 及时性,用户请求能在很短时间内获得响应

虽然分时操作系统比较好地解决了人机交互问题,但是在一些应用场合,需要系统能对外部的信息在规定的时间(比时间片的时间还短)内作出处理(比如飞机订票系统或导弹制导系统)。因此,实时系统应运而生。

  1. 实时系统
    为了能在某个时间限制内完成某些紧急任务而不需时间片排队,诞生了实时操作系统。
    实时橾作系统的主要特点是及时性可靠性
  2. 网络操作系统和分布式计算机系统
  • 网络操作系统把计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各个计算机之间的互相传送数据。网络操作系统最主要的特点是网络中各种资源的共享以及各台计算机之间的通信

  • 分布式计算机系统是由多台计算机组成并满足下列条件的系统:

    • 系统中任意两台计算机通过通信方式交换信息;
    • 系统中的每一台计算机都具有同等的地位,即没有主机也没有从机;
    • 每台计算机上的资源为所有用户共享;
    • 系统中的任意若千台计算机都可以构成一个子系统,并且还能重构;
    • 任何工作都可以分布在几台计算机上,由它们并行工作、协同完成。用于管理分布式计算机系统的操作系统称为分布式计算机系统。

    该系统的主要特点是:分布性和并行性。分布式操作系统与网络操作系统本质上的不同之处在于分布式操作系统中,若干台计算机相互协同完成同一任务。

  1. 个人计算机操作系统
    个人计算机操作系统是目前使用最广泛的操作系统,广泛应用于文字处理、电子表格、 游戏等。常见的有Windows、Linux和Macintosh等

操作系统的运行机制

CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序或系统外层的应用程序。操作系统在具体实现上划分了用户态(目态)和核心态(管态),以严格区分两类程序。
操作系统的各项功能分别被设置在不同的层次上。一些与硬件关联较紧密的模块,诸如时钟管理、中断处理、设备驱动等处于最底层。其次是运行频率较髙的程序,诸如进程管理、存储器管理和设备管理等。这两部分内容构成了操作系统的内核。这部分内容的指令操作工作在核心态。
内核是计算机上配置的底层软件,是计算机功能的延伸,操作系统内核包括四个方面的内容。

  • 时钟管理
    时钟的第一功能是计时,操作系统需要通过时钟管理,向用户提供标准的系统时间。另外,通过时钟中断的管理,可以实现进程的切换。诸如,在分时操作系统中,釆用时间片轮转调度的实现;在实时系统中,按截止时间控制运行的实现;在批处理系统中,通过时钟管理来衡量一个作业的运行程度等。因此,系统管理的方方面面无不依赖于时钟。
  • 中断机制
    引入中断技术的初衷是提高多道程序运行环境中CPU的利用率,而且主要是针对外部设备的。
  • 原语
    按层次结构设计的操作系统,底层必然是一些可被调用的公用小程序,它们各自完成一个规定的操作。其特点是:
    1. 它们处于操作系统的最底层,是最接近硬件的部分。
    2. 这些程序的运行具有原子性——其操作只能一气呵成(这主要是从系统的安全性和便于管理考虑的)。
    3. 这些程序的运行时间都较短,而且调用频繁。

具有这些特点的程序称为原语(Atomic Operation)。定义原语的直接方法是关闭中断,让它的所有动作不可分割地进行完再打开中断。

  • 系统控制的数据结构及处理
    系统中用来登记状态信息的数据结构很多,比如作业控制块、进程控制块(PCB)、设备控制块、各类链表、消息队列、缓冲区、空闲区登记表、内存分配表等。为了实现有效的管理,系统需要一些基本的操作,常见的操作有以下三种:
    • 进程管理:进程状态管理、进程调度和分派、创建与撤销进程控制块等。
    • 存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序等。
    • 设备管理:缓冲区管理、设备分配和回收等。

中断和异常

中断和异常
操作系统中引入核心态和用户态这两种工作状态后,就需要考虑这两种状态之间如何切换。操作系统内核工作在核心态,而用户程序工作在用户态。但系统不允许用户程序实现核心态的功能,而它们又必须使用这些功能。
当中断或异常发生时,运行用户态的CPU会立即进入核心态。

  • 中断(Interruption),也称外中断,指来自CPU执行指令以外的事件的发生,如设备发出的I/O结束中断,表示设备输入/输出处理已经完成,希望处理机能够向设备发下一个输入 / 输出请求,同时让完成输入/输出后的程序继续运行。时钟中断,表示一个固定的时间片已到,让处理机处理计时、启动定时运行的任务等。
  • 异常(Exception),也称内中断、例外或陷入(Trap),指源自CPU执行指令内部的事件,如程序的非法操作码、 地址越界、算术溢出、虚存系统的缺页以及专门的陷入指令等引起的事件。对异常的处理一般要依赖于当前程序的运行现场,而且异常不能被屏蔽,一旦出现应立即处理

系统调用

所谓系统调用就是用户在程序中调用操作系统所提供的一些子功能。
在用户程序中,凡是与资源有关的操作(如存储分配、进行I/0传输以及管理文件等),都必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成。
系统调用运行在系统的核心态, 通过系统调用的方式来使用系统功能,可以保证系统的稳定性和安全性,防止用户随意更改或访问系统的数据或命令。系统调用命令是由操作系统提供的一个或多个子程序模块实现的。

操作系统的运行环境可以理解为:用户通过操作系统运行上层程序(如系统提供的命令解释程序或用户自编程序),而这个上层程序的运行依赖于操作系统的底层管理程序提供服务支持,当需要管理程序服务时,系统则通过硬件中断机制进入核心态,运行管理程序;也可能是程序运行出现异常情况,被动地需要管理程序的服务,这时就通过异常处理来进入核心态。当管理程序运行结束时,用户程序需要继续运行,则通过相应的保存的程序现场退出中断处理程序或异常处理程序,返回断点处继续执行

由用户态转向核心态的例子:

  • 用户程序要求操作系统的服务,即系统调用。
  • 发生一次中断。
  • 用户程序中产生了一个错误状态。
  • 用户程序中企图执行一条特权指令。
  • 从核心态转向用户态由一条指令实现,这条指令也是特权命令。一般是中断返回指令。
    由用户态进入核心态,不仅仅是状态需要切换。而且,所使用的堆栈也可能需要由用户堆栈切换为系统堆栈,但这个系统堆栈也是属于该进程的。

并行性与并发性的区别和联系
在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理器系统中每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理器,则这些可以并发执行的程序便被分配到多个处理器上,实现并行执行,即利用每个处理器来处理一个可并发执行的程序。

特权指令与非特权指令
所谓特权指令是指有特殊权限的指令,特权指令必须在核心态执行,即CPU在核心态下可以执行指令系统的全集
用户态下使用特权指令时,将产生中断以阻止用户使用特权指令。所以把用户程序放在用户态下运行,而操作系统中必须使用特权指令的那部分程序在核心态下运行,保证了计算机系统的安全可靠。从用户态转换为核心态的唯一途径是中断或异常

访管指令与访管中断
访管指令是一条可以在用户态下执行的指令
用户程序中,因要求操作系统提供服务而有意识地使用访管指令,从而产生一个中断事件(自愿中断),将操作系统转换为核心态,称为访管中断。访管中断由访管指令产生,程序员使用访管指令向操作系统请求服务。
基本功能是让程序拥有“自愿进管”的手段,从而引起访管中断。
用户态的用户程序使用访管指令时,系统根据访管指令的操作数执行访管中断处理程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值