操作系统引论

操作系统的定义

操作系统是一种适合管理计算机系统的硬件和软件资源,合理的组织计算机工作流程以及方便用户的程序集合
操作系统

操作系统的作用

  1. 从计算机系统组成观点—操作系统是系统软件
    计算机系统组成:
    • 软件:应用软件、系统软件(操作系统、语言处理系统和常用的例行服务程序)
    • 硬件:输入输出(I/O)设备、处理器
  2. 从资源管理观点—操作系统是系统资源管理者
    • 操作系统是资源管理程序:用于控制和管理计算机系统的硬件和软件资源
    • 计算机系统资源:
      • 软件资源:信息(数据和程序)
      • 硬件资源:I/O设备、存储器、处理器
    • 操作系统管理:文件系统管理、设备管理、存储器管理、处理器管理
  3. 从软件分层、允扩机器的观点—操作系统是扩充裸机的第一层系统软件
    • 虚拟机:计算机和软件结合变成了功能强大使用方便的机器
    • 固件:将操作系统中与硬件密切有关的部分软件通过微程序设计技术转化为硬件,也就是通常所说的固化,这些具有软件功能的硬件成为固件
  4. 从服务用户的观点—操作系统是用户与裸机之间的接口
    系统提供的接口有两种:
    • 作业级接口:提供一组系统命令,例如,命令行、菜单式、命令脚本式、图形用户接口GUI,供用户组织和控制自己的作业运行
    • 程序级接口:提供一组系统调用,即OS中某个模块功能,供用户程序和其它程序调用,例如windows中的API函数等
      在这里插入图片描述

操作系统的目标

  1. 有效性:管理和分配硬件和软件资源,合理的组织计算机的工作流程,提高系统资源的利用率和吞吐量
  2. 方便性:提供良好的一致的和易用的用户接口,弥补硬件系统的类型和数量差别
  3. 可扩充性:操作系统采用良好的设计方法和结构,可以方便的增加新功能和改进老功能
  4. 开放性:程序的可移植性要求OS具有开放性

操作系统的基本类型

按照支持的用户数划分

  • 单用户系统
  • 多用户系统

按照支持的任务数划分

  • 单任务系统/单道系统,例如MS-DOS
  • 多任务系统/多道系统,例如UNIX,WINDOWS

微机操作系统(配置在微机的OS称为微机操作系统)

  • 单用户单任务操作系统 MS-DOS
  • 多任务操作系统 MS Windows
  • 多用户多任务操作系统 SCO UNIX
  • linux操作系统

操作系统的类别

批处理系统

批处理技术:将一批作业通过脱机的方式输入到磁盘上,主机在监督程序的控制之下,根据卡片机读入作业的操作信息,逐个从磁带读入作业到内存之中,系统自动逐个处理作业,直至完成。批处理技术的出现解决了作业自动轮换,从而节省了作业建立和人工操作时间。
在这里插入图片描述

单道批处理系统

  • 联机批处理

    • 用户提交作业,以纸带或者卡片为介质
    • 操作员合成批作业,结果为磁带介质
    • 作业的构成:程序、程序使用的数据以及作业控制卡或者产品说明书
    • 用户使用系统提供的作业控制语言命令通过作业控制卡或者作业说明书的形式把对作业的控制意图提交给监控程序
    • 作业批处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出
    • 这时的问题:慢速的输入输出处理仍直接由主机来完成。输入输出时,CPU处于等待状态
  • 脱机批处理
    脱机批处理

    利用卫星机完成输入输出功能,主机完成计算,主机和卫星机可以并行工作

    • 卫星机:完成面向用户的输入输出,中间结果暂存在磁带或磁盘上
    • 作业控制命令由监督程序(monitor)来执行,完成如装入程序、编译、运行等操作
    • 优点:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量
    • 缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)

单道批处理的特点:

  • 优点:吞吐量大,资源利用率高
  • 缺点:作业周转时间长、用户无法实现对作业的控制
    单道批处理系统适合处理计算量大的,自动化程度高的成熟的作业

多道批处理系统

运行特征:

  • 多道:内存中同时存放几个作业
  • 宏观上并行运行:都处于运行状态,但是都未运行结束
  • 微观上串行运行:各作业交替使用CPU

优点:

  • 资源利用率高:CPU和内存利用率高
  • 作业吞吐量大:单位时间内完成的作业工作量大

缺点:

  • 用户交互性差:整个作业完成后或者中间出错时才能与用户交互,不利于调试和修改
  • 作业平均周转时间长:短作业的周转时间显著增长

Spooling技术(假脱机I/O或联机I/O)

是在联机的情况下与外围设备联机操作的技术,采用通道代替外围机,与CPU并行操作,控制外设完成输入输出的操作,在该系统中用户提交的作业经过Spooling系统联机输入到外存磁盘的输入井内,并排成一个后备作业队列,然后由作业调度程序按照一定的算法从后备队列选择若干个作业调入内存,并且这些作业按照一定的调度规则共享cpu和系统中各种I/O资源,以达到提高资源利用率和系统吞吐量的目的。

执行系统

通道:用于控制I/O设备与内存间的数据传输,启动后可独立于CPU运行,实现CPU与I/O的并行

中断:CPU在接收到外部中断信号之后,停止原来的工作,转去处理该中段事件,完毕之后回到原来断点继续工作,中断的处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(回复中断点的现场并继续原有任务)。监督程序发展为执行系统。

执行系统的构成:I/O系统,处理程序,管理程序

优点:

  • 主机和通道可以并行,即I/O和CPU可以并行运行
  • 用户采用委托方式使用系统,例如I/O交执行系统完成

缺点:

  • 用户常因不了解系统规则发生违例现象
  • 虽然主机和通道可以并行,但是不能完全消除处理机对外部传输的等待

分时系统

分数系统的形成和发展的动力是用户希望自己能直接控制程序运行及时进行人机交互,以便能方便地修改程序的错误,用户希望一台计算机能够为多用户共享,方便用户上机

分时的含义是指多个用户分享使用同一台计算机,将计算机的系统资源进行时间上的分割,分成一个个时间片,每个时间片分给一个用户使用,计算机中的多个程序分时共享硬件和软件资源

  • 多个用户分时:因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输—时走时停
  • 前台和后台程序(foreground & background)分时:后台程序不占用终端输入输出,不与用户交互--现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台
  • 通常按时间片(time slice)分配:各个程序在CPU上执行的轮换时间

分时系统的实现

  1. 采用调进/调出的单道分时系统
    在单道分时系统内存中只驻留一道程序,其他程序都在外存上,每当内存中一个程序运行一个时间片之后就调出到外存之中(调出),再从外存中选择一个程序调进内存(调进)并运行一个时间片

    所以在多个作业轮流运行的过程中,每个作业往往可能频繁地调进调出很多次,开销较大,系统性能较差

  2. 基于多道程序设计的多道分时系统
    现代计算机系统采用内存与磁盘对换技术扩充内存,在内存中存放多道作业,从而避免了从外存中调进作业的过程,减少了系统开销,计算机性能提高,并且直接将作业调入内存之中,作业调度算法可以不限于时间片不变,次序不变的简单轮转,从而在内存中调度作业可以采用动态优先级调度算法等,时间片和轮转次序可以发生变化,更加灵活

分时系统的特征:

  1. 多路性:允许一台主机上同时连接多台联机终端,系统按照分时原则为每个用户服务
  2. 独立性:每个用户各自占一个终端,彼此独立操作
  3. 交互性:用户可以通过终端与系统进行广泛的人机对话,用户可以请求系统提供多方面服务,如,文件编辑,数据处理和资源共享等
  4. 及时性:用户的请求能够在很短的时间内获得响应

响应时间是分时系统的重要指标

响应时间:用户发出终端命令到系统做出响应的时间间隔
系统的响应时间T = 用户数n * 时间片q
每个用户分到的时间片q由两部分组成:用于对换时间(调进调出)和真正处理时间(CPU处理时间)

UNIX系统就是一个典型的分时系统,UNIX系统是一个多用户,多任务的操作系统

实时系统

为了提高系统的响应时间,对随机发生的外部事件做出及时响应并且对其进行处理,用于工业过程控制、军事实时控制、金融等领域,包括实时控制、实时信息处理

特征:

  • 快速的响应时间

外部事件往往以中断的方式通知系统,系统对于外部事件的响应十分迅速

  • 有限的交互能力

用户只能访问某些特定的服务程序

  • 高可靠性

优点:

  • 响应时间短
  • 系统可靠性高

任务的类型:周期性实时任务、非周期性实时任务(截止时间,开始截止时间和完成截止时间)

实时系统与批处理系统和分时系统的区别:

  • 专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统
  • 实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机制
  • 高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统
  • 事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理
  • 可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业

网络操作系统

网络操作系统是使网络上各计算机能方便地进行网络通信、有效地共享网络资源,为网络用户提供所需各种服务的软件和有关规程的集合

功能:

  • 高效、可靠的网络通信
  • 对网络中共享资源(在LAN中有硬盘、打印机等)有效的管理
  • 提供电子邮件、文件传输、共享硬盘、打印机等服务
  • 网络安全管理
  • 提供互操作能力

模式:

  • 客户/服务器C/S(Client/Server)模式

服务器:它是网络的控制中心,其任务是向客户提供一种或多种服务,服务器可有多种类型,如提供文件/打印服务的文件服务器等
客户:这是用于本地处理和访问服务器的站点,在客户中包含了本地处理软件和访问服务器上服务程序的软件接口

  • 对等模式(peer-to-peer)模式

采用这种模式的操作系统网络中,各个站点是对等的。它既可作为客户去访问其它站点,又可作为服务器向其它站点提供服务,在网络中既无服务处理中心,也无控制中心,或者说,网络的服务和控制功能分布在各个站点上。可见该模式具有分布处理及分布控制的特征

内装网络:
现代操作系统已把网络功能包含到操作系统的内核中,作为操作系统核心功能的一个组成部分。微软公司的Windows NT,AT & T公司的UNIX System V、Sun公司的SunOS、HP公司的HP/OX、IBM公司的AIX、Linux等都已把TCP/IP网络功能包含在内核中

分布式操作系统

分布式计算机系统是为分散处理、协同完成任务而将多个分散的计算机经互连网络连接而成的计算机系统,分布式操作系统是在它上配置的操作系统。分布式操作系统是能直接对系统中各类资源进行动态分配和管理,有效控制和协调诸任务的并行执行,允许系统中的处理单元无主、次之分,并向系统提供统一的、有效的接口的软件集合

分布式操作系统和网络操作系统的区别

  • 分布性

处理上的分布性是分布式操作系统的最基本特征。网络虽有分布处理的功能,但网络的控制功能,则大多集中在某个主机或服务器上,它的控制方式集中的,分布式系统的处理分布是资源、功能、任务和控制都是分布的

  • 透明性

分布操作系统负责全系统的资源分配和调度、任务划分、信息传输协调工作,并为用户提供一个统一的界面,标准的接口,用户通过这一界面实现所需要的操作和使用系统资源。分布式OS通常很好地隐藏系统内部的实现细节,如对象的物理位置、并发控制、系统故障等对用户都是透明的, 网络操作系统要求网络用户在使用 网络资源时首先必须了解网络资源,网络用户必须知道网络中各个计算机的功能与配置、 软件资源、网络文件结构等情况,为非透明

  • 统一性

分布式系统要求一个统一的操作系统,实现系统操作的统一性,而网络系统一般是在各自操作系统基础上加上负责网络访问功能模块,网络各系统操作不一致

  • 健壮性

由于分布式系统的处理和控制功能是分布的,设备出现故障时,可通过容错技术实现系统重构,从而仍保持系统的正常运行,因而系统具有键壮性,即具有较好的可用性和可靠性。而网络系统其控制功能大多集中在主机和服务器中,使系统具有潜在的不可靠性

并行操作系统/多处理操作系统

多处理操作系统的出现是为了提高计算机系统性能和可靠性。提高性能有两条途径:提高各个组成部分的速度、增大处理的并行程度

特点:

  • 增加系统的吞吐量
  • 提高系统可靠性:故障时系统降级运行

类型:

  • 紧密耦合(tightly-coupled):各处理机之间通过快速总线或开关阵列相连,共享内存,整体系统由一个统一的OS管理(一个OS核心)
  • 松散耦合(loosely-coupled):各处理机带有各自的存储器、I/O设备和操作系统,通过通道或通信线路相连。每个处理机上独立运行OS
  • 非对称式多处理(Asymmetric Multiprocessing, ASMP):又称主从模式(Master-slave mode)
    • 主处理器:只有一个,运行OS。管理整个系统的资源,为从处理器分配任务
    • 从处理器:可有多个,执行应用程序或I/O处理
    • 特点:不同性质任务的负载不均,可靠性不够高,不易移植(通常要求硬件也是"非对称")
  • 对称式多处理(Symmetric Multiprocessing, SMP):OS交替在各个处理器上执行。任务负载较为平均,性能调节容易—“傻瓜式”
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值