操作系统概述
Posted H_Cisco
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统概述相关的知识,希望对你有一定的参考价值。
第一章 操作系统概述
2021年9月6日 16:40
目录
1.2.4 多道批处理系统(multiprogramming system)
1.2.5 分时系统(time-sharing system)
1.2.6 实时系统(real-time system)(及时性,可靠性)
1.3.1 批处理操作系统(Batch Processing Operation System)
1.3.2 分时操作系统(Time Sharing Operating System)
1.3.3 实时操作系统(Real Time Operating System)
1.3.5 网络操作系统(NOS, Network Operating System)
1.3.6 分布式操作系统(Distributed Operating System)
1.3.7 个人计算机操作系统(Personal Computer Operating System)
1.1 什么是操作系统
1.1.1 操作系统的地位和目标
操作系统的地位:紧贴系统硬件之上,所有其他软件之下(是其他软件的共同环境)
系统调用 == 系统调用命令 == 广义指令
操作系统的功能和目标——作为系统资源的管理者
操作系统的功能和目标——作为用户和计算机硬件之间的接口
操作系统的功能和目标——作为最接近硬件的层次
引入操作系统的目标:
-
- 有效性(系统管理人员的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程
- 方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别
- 可扩充性(开放的观点):硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作
1.1.2 操作系统的作用和组成
操作系统的作用:
OS是计算机硬件、软件资源的管理者。
OS是用户使用系统硬件、软件的接口。
OS是扩展机(extended machine)/虚拟机(virtual machine)。
-
- 管理对象包括:CPU、存储器、外部设备、信息(数据和软件);
- 管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)。
- 系统命令(命令行、菜单式、命令脚本式、图形用户接口GUI);
- 系统调用(形式上类似于过程调用,在应用编程中使用)。
- 在裸机上添加:设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对CPU);
- 另外,为合理组织工作流程:作业管理、进程管理。
操作系统的非形式化定义(关键点):系统软件,程序模块的集合,资源管理和用户接口功能
1.1.3 操作系统举例
-
- MS OS: MS DOS, MS Windows 3.x, Windows 95, Windows NT, Windows 2000
- UNIX: BSD, SRV4, OSF1, SCO UNIX, AIX, Solaris, Linux
- NOS: Novell Netware
- RTOS: VxWorks, pSoS, Nucleus
1.2 操作系统的发展历史
1.2.1 推动操作系统发展的主要动力
(1) 提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算
(2) 方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭)
(3) 器件的发展:CPU的位宽度(指令和数据)、快速外存
1.2.2 手工操作
1946 ~ 50年代(电子管),集中计算(计算中心),计算机资源昂贵;
-
- 工作方式
- 用户:用户既是程序员,又是操作员;用户是计算机专业人员;
- 编程语言:为机器语言;
- 输入输出:纸带或卡片;
- 计算机的工作特点
- 用户独占全机:不出现资源被其他用户占用,资源利用率低;
- CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;
- 主要矛盾
- 计算机处理能力的提高,手工操作的低效率(造成浪费);
- 用户独占全机的所有资源;
- 提高效率的途径
- 专门的操作员,批处理
- 工作方式
1.2.3 单道批处理系统(simple batch processing)(引入脱机输入/输出技术(用磁带完成),并监督程序负责控制作业的输入、输出)
50年代末 ~ 60年代中(晶体管):利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理。可使用汇编语言开发。
-
- 批处理中的作业的组成:
- 用户程序
- 数据
- 作业说明书(作业控制语言)
- 批:
- 供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)
- 批处理中的作业的组成:
两种批处理方式(1)
联机批处理
-
- 用户提交作业:以纸带或卡片为介质;
- 操作员合成批作业:结果为磁带介质;
- 批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出。
- 这时的问题:慢速的输入输出处理仍直接由主机来完成。输入输出时,CPU处于等待状态。
两种批处理方式(2)
脱机批处理
利用卫星机完成输入输出功能。主机与卫星机可并行工作。
-
- 卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。
- 作业控制命令由监督程序(monitor)来执行,完成如装入程序、编译、运行等操作。
- 优点:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。
- 缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)。
通道和中断技术
60年代初,发展了通道技术和中断技术,这些技术的出现使监督程序在负责作业运行的同时提供I/O控制功能。
-
- 通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。
- 通道有专用的I/O处理器,可与CPU并行工作
- 可实现 I/O联机处理
- 中断是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。
- 中断处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务
- 可处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定)
- 监督程序发展为执行系统(executive system),常驻内存
- 通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。
单道批处理的主要问题
-
- CPU和I/O设备使用忙闲不均(取决于当前作业的特性)。
- 对计算为主的作业,外设空闲;
- 对I/O为主的作业,CPU空闲;
- CPU和I/O设备使用忙闲不均(取决于当前作业的特性)。
1.2.4 多道批处理系统(multiprogramming system)
60年代中 ~ 70年代中(集成电路),利用多道批处理提高资源的利用率。
-
- 多道批处理的运行特征
- 多道:内存中同时存放几个作业;
- 宏观上并行运行:都处于运行状态,但都未运行完;
- 微观上串行运行:各作业交替使用CPU;
- 优点:
- 资源利用率高:CPU和内存利用率较高,多道程序并发执行,共享计算机资源;
- 作业吞吐量大:单位时间内完成的工作总量大;
- 缺点:
- 用户交互性差:(相当于不提供人机交互的能力)整个作业完成后或中间出错时,才与用户交互,不利于调试和修改,用户响应时间长;
- 作业平均周转时间长:短作业的周转时间显著增长;
- 多道批处理的运行特征
1.2.5 分时系统(time-sharing system)
-
- 分时技术是把处理机的时间分成很短的时间片,这些时间片轮流地分配给各个联机的各作业使用。如果某作业在分配给它的时间片用完时仍未完成,则该作业就暂时中断,等待下一轮运行,并把处理机的控制权让给另一个作业使用。这样在一个相对较短的时间间隔内,每个用户作业都能得到快速响应,以实现人机交互。
- 主要优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
- 主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性。
- 抢先式和非抢先式(preemptive & non-preemptive):出让CPU是OS强迫或程序主动
- 抢先式:OS强近出让CPU;
- 非抢先式:程序主动出让CPU;
- 分时系统的特点
- 交互性:在调试和运行程序时由用户自己操作。
- 多用户同时性:多个用户同时使用。
- 独立性:对每个用户而言好象独占主机。
1.2.6 实时系统(real-time system)(及时性,可靠性)
用于工业过程控制、军事实时控制、金融等领域,包括实时控制、实时信息处理
-
- 要求:响应时间短,在一定范围之内;系统可靠性高
- 主要优点:能够优先相应一些紧急任务,某些紧急任务不需时间片排队
- 任务的类型:
- 周期性实时任务:
- 非周期性实时任务:截止时间(deadline),开始截止时间(最晚开始时间)和完成截止时间(最晚完成时间)
1.3 操作系统的分类
1.3.1 批处理操作系统(Batch Processing Operation System)
-
- 作业的处理流程
- 作业提交:作业的输入;
- 作业执行
- 作业完成:作业的输出;
- 批处理的主要特征
- 用户脱机使用计算机:作业提交后直到获得结果之前,用户无法与作业交互。
- 作业成批处理
- 多道程序并行:充分利用系统资源。
- 多道批处理系统上的技术
- 作业调度:作业的现场保存和恢复--上下文切换
- 资源共享:资源的竞争和同步--互斥(exclusion)和同步(synchronization)机制
- 内存使用:提高内存使用效率(为当前由CPU执行的程序提供足够的内存)--覆盖(overlay),交换(swap)和虚拟存储(virtual memory)
- 内存保护:系统存储区和各应用程序存储区不可冲突--存储保护
- 文件非顺序存放、随机存取
- 作业的处理流程
多道程序系统和多处理系统(multiprocessing system)的区别:前者指多个程序同时在内存中交替运行,后者指多个处理器。
1.3.2 分时操作系统(Time Sharing Operating System)
-
- 分时的定义
- 把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片(time slice),每个用户依次轮流使用时间片。
- 分时系统的特征
- 多用户同时性:多个用户同时工作。
- 共享系统资源,提高了资源利用率。节省维护开支,可靠性高:笨终端--至今仍在使用。促进了计算机的普遍应用,提高资源利用率:远地用户通过终端(较便宜)联机使用。
- 独立性:各用户独立操作,互不干扰。
- 交互性:系统能及时对用户的操作进行响应,显著提高调试和修改程序的效率:缩短了周转时间。
- 多用户同时性:多个用户同时工作。
- 分时系统的类型
- 单道分时:调入-调出(Roll-in/Roll-out),I/O开销太大(在有卫星机处理I/O时,单道分时是有用的)
- 前台后台分时:后台存放批处理作业,内存的划分是固定的,不灵活
- 多道分时:需要解决加载程序时地址空间重定位的问题
- 分时系统的主要问题
- 及时接受输入:多个I/O端口,设立多路缓冲区
- 及时响应:
- 提高对换速度(快速外存)、
- 限制用户数目、
- 缩短时间片(可能引起对换次数增多,开销增大,程序总运行时间增大)
- 减少对换信息量:
- 可重入代码(re-entrant code);
- 请求页式存储管理:只对换部分程序
-
1.3.3 实时操作系统(Real Time Operating System)
- 实时操作系统主要用于过程控制、事务处理等有实时要求的领域,其主要特征是实时性和可靠性。
- 实时系统的特征
- 实时时钟管理:提供系统日期和时间、定时和延时等时钟管理功能;
- 过载保护:缓冲区排队,丢弃某些任务,动态调整任务周期;
- 过载是指进入系统的任务数目超出系统的处理能力。
- 高度可靠性和安全性:容错能力(如故障自动复位)和冗余备份(双机,关键部件);
- 实时系统与批处理系统和分时系统的区别
- 专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统。
- 实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。
- 高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。
- 事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。
- 可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。
- 分时的定义
1.3.4 多处理操作系统
1.3.5 网络操作系统(NOS, Network Operating System)
网络操作系统是在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。网络操作系统为网上计算机进行方便而有效的网络资源共享,提供网络用户所需各种服务的软件和相关规程的集合。
网络功能与操作系统的结合程度是网络操作系统的重要性能指标。早期的作法是通常操作系统附加网络软件,过渡到网络功能成为操作系统的有机组成部分。它们的区别在于:网络功能的强弱、使用是否方便等。
-
- 网络操作系统的功能
- 通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等;
- 网络通信功能:通过网络协议进行高效、可靠的数据传输;
- 网络资源管理:协调各用户使用;
- 网络服务:文件和设备共享,信息发布;
- 网络管理:安全管理、故障管理、性能管理等;
- 互操作:直接控制对方比交换数据更为困难;
- 网络操作系统的功能
1.3.6 分布式操作系统(Distributed Operating System)
分布式系统:处理和控制的分散(相对于集中式系统)
分布式系统是以计算机网络为基础的,它的基本特征是处理上的分布,即功能和任务的分布。
分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载。
-
- 分布式操作系统与网络操作系统的比较
- 耦合程度:
- 分布式系统是紧密耦合系统:分布式OS是在各机上统一建立的"OS同质",直接管理CPU、存储器和外设;统一进行全系统的管理;
- 网络通常容许异种OS互连,各机上各种服务程序需按不同网络协议"协议同质"。
- 并行性:
- 分布式OS可以将一个进程分散在各机上并行执行"进程迁移";
- 网络则各机上的进程独立。
- 透明性:用户是否知道或指定资源在哪个机器上(如CPU、内存或外设)。
- 分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;
- 网络操作系统中对网络资源的使用要由用户明确指定;
- 健壮性:分布式系统要求更强的容错能力(工作时系统重构)
- 耦合程度:
- 分布式操作系统与网络操作系统的比较
1.3.7 个人计算机操作系统(Personal Computer Operating System)
针对单用户使用的个人计算机进行优化的操作系统。
-
- 个人计算机操作系统的特征
- 应用领域:事务处理、个人娱乐,
- 系统要求:使用方便、支持多种硬件和外部设备(多媒体设备、网络、远程通信)、效率不必很高。
- 常用的个人计算机操作系统
- 单用户单任务:MS DOS
- 单用户多任务:OS/2, MS Windows 3.x, Windows 95, Windows NT, Windows 2000 Professional
- 多用户多任务:UNIX(SCO UNIX, Solaris x86, Linux, FreeBSD)
- 个人计算机操作系统的特征
1.4 操作系统的特征
-
-
1.4.1 操作系统的特征
- 并发(concurrency)(并发和共享是两个最基本的特征,二者互为存在条件)
- 多个事件在同一时间间隔内发生(宏观上同时发生,微观上交替发生)。操作系统是一个并发系统,各进程间的并发,系统与应用间的并发。操作系统要完成这些并发过程的管理。并行(parallel)是指在同一时刻发生。
- 并行:指两个或多个事件在同一时刻同时发生
- 在多道程序处理时,宏观上并发,微观上交替执行(在单处理器情况下)。
- 程序的静态实体是可执行文件,而动态实体是进程(或称作任务),并发指的是进程。
- 共享(sharing)
- 多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用。
- 互斥共享(如音频设备):资源分配后到释放前,不能被其他进程所用。一个时间段内只允许一个进程访问该资源
- 同时共享:允许一个时间段内由多个进程“同时”对他们访问
- 同时访问(如可重入代码,磁盘文件)
- 资源分配难以达到最优化
- 虚拟(virtual)
- 一个物理实体映射为若干个对应的逻辑实体——分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。
- CPU--每个用户(进程)的"虚处理机"
- 存储器--每个进程都占有的地址空间(指令+数据+堆栈)
- 显示设备--多窗口或虚拟终端(virtual terminal)
- 异步性(asynchronism)
- 也称不确定性,指进程的执行顺序和执行时间的不确定性;
- 进程的运行速度不可预知:分时系统中,多个进程并发执行,"时走时停",不可预知每个进程的运行推进快慢
- 判据:无论快慢,应该结果相同--通过进程互斥和同步手段来保证
- 难以重现系统在某个时刻的状态(包括重现运行中的错误)
- 性能保证:实时系统与分时系统相似,但通过资源预留以保证性能
- 并发与共享的关系
- 并发(concurrency)(并发和共享是两个最基本的特征,二者互为存在条件)
-
并发性指计算机系统中同时存在着多个运行着的程序。
共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。
-
-
1.4.2 操作系统的服务
- 服务类型
- 程序执行和终止(包括分配和回收资源)
- I/O操作
- 文件系统操作
- 通信:本机内,计算机之间(通常通信服务的使用者为进程,而不是笼统说"主机")
- 配置管理:硬件、OS本身、其他软件
- 差错检测
- 服务提供方式:系统命令和系统调用
- 服务类型
-
1.5 操作系统的功能(系统资源的管理者)
-
-
1.5.1 处理机管理
-
完成处理机资源的分配调度等功能。处理机调度的单位可为进程或线程。
-
- 进程控制:创建、撤销、挂起、改变运行优先级等--主动改变进程的状态
- 进程同步:协调并发进程之间的推进步骤,以协调资源共享;--交换信息能力弱
- 进程通信:进程之间传送数据,以协调进程间的协作;--交换信息能力强,也可以用来协调进程之间的推进
- 进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能;--未必是进程控制操作所引起(可能是时间片轮转、I/O操作)
- 同一类型内的公平性、高效率(吞吐量大)、作业周转时间等
-
1.5.2 存储管理
管理目标:提高利用率、方便用户使用、提供足够的存储空间、方便进程并发运行。
-
- 存储分配与回收
- 存储保护:保证进程间互不干扰、相互保密;如:访问合法性检查、甚至要防止从"垃圾"中窃取其他进程的信息;
- 地址映射(变换):进程逻辑地址到内存物理地址的映射;
- 内存扩充(覆盖、交换和虚拟存储):提高内存利用率、扩大进程的内存空间;
-
1.5.3 设备管理
设备管理的目标是:方便的设备使用、提高CPU与I/O设备利用率;
-
- 设备操作:利用设备驱动程序(通常在内核中)完成对设备的操作。还需处理外设的IRQ。
- 设备独立性(device independence):提供统一的I/O设备接口,使应用程序独立于物理设备,提高可适应性;在同样的接口和操作下完成不同的内容(如FAX Modem作为Windows上的打印机设备)。
- 设备分配与回收:在多用户间共享I/O设备资源。
- 虚拟设备(virtual device):设备由多个进程共享,每个进程如同独占。
- 缓冲区管理:匹配CPU和外设的速度,提高两者的利用率(单缓冲区、双缓冲区和公用缓冲区)
-
1.5.4 信息管理(文件管理)
解决软件资源的存储、共享、保密和保护。
-
- 文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能。
- 目录管理:解决信息检索问题。文件的属性(如文件名)、单一副本赋予多文件名
- 文件的读写管理和存取控制:解决信息安全问题。系统设口令"哪个用户"、用户分类"哪个
以上是关于操作系统概述的主要内容,如果未能解决你的问题,请参考以下文章