操作系统原理-概论运行机制
Posted 人生苦短我用Python哈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统原理-概论运行机制相关的知识,希望对你有一定的参考价值。
一、操作系统概论
(一)操作系统概念
功能:资源管理、控制程序执行
特征:并发性、共享性(互斥共享:资源单独使用,称为临界资源,重要系统数据都是临界资源;同时共享:多程序同时使用,微观上有可能还是交替使用资源,典型为硬盘)、随机性
研究操作系统的观点:软件的观点、资源管理的观点、进程的观点、虚机器的观点、服务提供者的观点
操作系统的功能
(1)进程管理(管理CPU):进程控制(创建进程、撤销结束的进程、控制进程运行状态)、进程同步(互斥和同步)、进程间通信(保证协作进程之间的信息或数据的交换)、调度(进程调度、线程调度、作业调度)
(2)存储管理(内存):内存的分配与回收、存储保护(现代操作系统中,提供由硬件实现的存储保护机制)、内存扩充(借助于虚拟存储技术在逻辑上实现内存扩充,注:必须提供请求页面调入和页面置换功能)
(3)文件管理(任务:有效地支持文件存储、检索、修改等操作,解决文件共享、保密、保护问题,以使用户方便、安全地访问文件):
文件存储空间的管理,通过设置专门的数据结构记录文件存储空间的情况,空间分配采用离散分配方式,以512字节或者几千字节的块为基本单位;
目录管理,给出组织文件的方法
文件系统的安全性,文件读写权限的管理和存取控制。
(4)设备管理:除CPU和内存以外的所有设备的管理,负责所有外部设备的分配、启动和故障处理,采用中断技术、通道技术、虚拟设备技术和缓冲技术,具备中断处理、错误处理等功能
(5)用户接口
(二)操作系统的发展
手工系统:数值计算
监控程序(早期批处理,单道批处理):实现作业的转换处理,当时的程序语言:fortran、algol、cobol
多道批处理:多个程序同时执行,操作系统出现
分时系统:多终端共享一台计算机,特点:程序命令较短,使计算机能够为多用户提供交互式快速的服务
UNIX通用操作系统:20世纪60年代末,贝尔实验室的Ken Thompson和Dennis M.Ritchie设计,是现代操作系统的代表。使用C语言编写,是唯一能在笔记本计算机、个人计算机、工作站直至巨型机上运行的操作系统,是通用、多用户、多任务、分时操作系统。
个人计算机操作系统,
微软:20世纪70年代末,MS DOS 系统,属单用户单任务操作系统;1992年,交互式图形功能的操作系统windows3.1;1995年8月,windows95。
苹果操作系统,1984年,交互式图形功能。
Linus公司,1991年,Linux操作系统,遵从国际UNIX标准POSIX,继承UNIX全部优点,开源,UNIX操作系统家族中自由版权的较突出代表。
android操作系统:面向移动端,基于Linux内核的开源移动操作系统,包含Linux内核、中间件和关键移动应用;特点:开放性、可移植性。
(三)操作系统分类
批处理系统:对用户作业成批出来,在系统中形成一个连续、自动转接的作业流
(1)缺点:用户不能干预作业的运行,发现错误,无法及时改正,需重新修改作业,再次排队运行,适用于成熟的程序
(2)分类:简单批处理系统(监控程序)、多道批处理系统
(3)作业控制说明书:存放在被处理作业的前面,通过被监控程序读取,控制各个作业步的执行
(4)一般指令和特权指令:为防止用户错误影响系统,区分出用户模式(目态)和特权模式(管态),只有监控程序才能执行特权指令(输入输出指令、停机指令等),用户需使用特权指令时需通过系统调用(广义指令)向操作系统请求
(5)系统调用的过程:
第一,处理器通过特殊机制(通常是中断或者异常处理)将控制流程转移到监控程序内的特定位置,同时处理器模式转变成特权模式
第二,监控程序执行被请求的功能代码
第三,处理结束,恢复原状
(6)SPOOLing技术(假脱机技术):多道批处理系统的关键技术,为多到程序设计思想提供重要基础。通过合理的调度,多道程序交替使用处理器和外设资源
分时系统:提供交互式快速服务,一台主机连接多台终端,系统采用时间片轮转方式处理终端(用户)服务请求,并通过交互方式在终端上向用户显示结果
(1)设计思想:将CPU时间划分时间片,轮流为多个终端服务,提供计算机的使用效率
(2)特点:
多路性,宏观上多人同时使用,微观上轮流使用
交互性,用户根据系统响应的结果提出请求,可直接干预程序的运行
独占性,用户感觉不到计算机为多用户服务
及时性,系统对用户请求响应及时
(3)一般通用操作系统(典型:UNIX系统):结合了分时系统(运行状态:前台)和批处理系统(运行状态:后台)的优点,处理原则“分时优先,批处理在后”
实时操作系统:指使计算机能在规定的时间内及时响应外部事件的请求,同时完成对该事件的处理,并能够控制所有实时设备和实时任务协调一致地工作的操作系统
(1)目标:在严格的时间范围内,对外部请求做出反应,系统具体高度可靠性
(2)分类:
硬实时系统(火箭、导弹、机器人、核反应堆控制等典型领域):必须满足严格时间要求,否则会产生严重后果
软实时系统(视频处理、电信、银行等领域):对事件的响应和处理时间有一定的时间范围要求,但不能满足也不会产生灾难性后果
(3)需具备的能力(多道程序系统基本能力之外的)
实时时钟管理:实时系统的关键能力
过载防护:在大量突发实时任务中,迅速分析判断出最重要的实时任务,并通过抛弃或延后次要任务以保证最重要任务的成功执行
高可靠性:设计目标之一
嵌入式操作系统:运行在嵌入式芯片环境中,对整个芯片以及它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件
(1)优点:高可靠性、实时性、占用资源少、智能化能源管理、易于连接、低成本
个人计算机操作系统:单用户多任务操作系统
网络操作系统:为计算机网络配置的操作系统,基于计算机网络,在各种计算机操作系统之上按照网络体系结构协议标准开发的软件,包含网络管理、通信、安全、资源共享和各种网络应用。架构于不同的操作系统之上
目标:相互通信、资源共享
模式:集中式(主计算机复制运算处理,终端负责输入/输出设备的使用,通过连接主计算机构成计算机网络)、分布式(每台计算机都具备运算处理能力,通过网络交换数据、共享资源)
分布式操作系统:将大量计算机通过网络联结一起,提高运行能力和实现数据共享,这样的系统成为分布式系统。为分布式系统配置的操作系统成为分布式操作系统,是网络操作系统的更高级形式
特征:(网络操作系统各种功能之外的)
(1)在系统中所有的主机使用同一个操作系统
(2)资源深度共享,实现计算任务的主机间迁移执行
(3)透明性,屏蔽了主机的地理差异,没有网络操作系统中本地主机和非本地主机的区别
(4)自治性,分布式系统中各个主机地位平等,没有主从关系,单个主机失效不会影响到整个分布式系统
注:集群操作系统是分布式操作系统中的一种,集群通常由一群处理器密集构成
智能卡操作系统(片内操作系统):在智能卡中隐藏的微型操作系统,是目前获得商业应用的最小操作系统
智能卡:包含CPU的IC卡,是单片微机系统
基本功能:资源管理(管理卡的硬件资源(CPU、存储部件、通信接口)和数据资源)、通信管理、安全管理、应用管理
(四)操作系统结构
指操作系统各个部分程序的存在方式和相互关系
整体式结构:早期操作系统所采用的方式
(1)将操作系统的功能不断分解成为子功能,将实现子功能的程序成为模块,再将大模块不断分解,直至每个模块仅包含单一功能或者紧密联系的小功能,最后通过接口将所有模块连接起来,该结构称为模块组合结构
(2)优点:结构紧密、接口简单直接、系统效率较高
(3)特点:模块组合法(无序模块法、模块接口法),系统模块根据完成的功能划分,数据基本上做为全程量使用,模块调用和转移不加控制,信息传递方式可随意约定
(4)缺点:
第一,模块间转接随便,各模块相互牵连,独立性差,系统结构不清晰
第二,数据作为全程量,可随意存取、修改;更换、修改模块困难;信息格式随意约定,易产生循环调用
第三,模块组合结构常以大型表格为中心,为保证数据完整性,常常采用全局关中断办法,限制了系统的并发性;对存在的并发,缺乏明确概念和规格的描述方法,可适应性差
层次结构
(1)将功能模块,按功能流图的调用次序,进行排列分层,各层之间只能单向依赖/调用
(2)全序的层次关系:各层之间单向调用,同层模块间不存在互相调用关系,但是在大型操作系统实现全序的层次关系十分困难,只能尽量避免循环现象
(3)优点:结合模块接口法的优点,同时使各模块之间的组织结构和依赖关系清晰明了,增加了系统可读性和可适应性,增强系统可靠性,易于调试、易于扩充、易于维护、易于保证正确性
(4)分层原则:
与硬件相关性强的放在内层,逐步向外层扩充功能,便于操作系统移植
共性的基本部分放内层,依次向外扩充不同的部分
(5)演化层次式结构:进程分层结构、层次管程结构、虚拟机结构
微内核(客户机/服务器)结构
应用于网络环境下分布式处理的计算环境
(1)典型操作系统:卡内基·梅隆大学研制的Mach操作系统、Windows NT早期版本
(2)特点:
运行在核心态的内核:内核提供所有操作系统基本都具有的操作(线程调度、虚拟存储、消息传递、设备驱动、内核原语操作集和中断操作),这些采用层次结构并构成基本操作系统,此时内核只提供一个很小的功能集合,被称为微内核;
运行在用户态的并以客户机/服务器方式运行的进程层:除内核部分之外,操作系统所有的其他部分被分成若干相当独立的进程,每个进程实现一组服务,称为服务进程,内核起到消息中转站,可以控制所有服务进程
(3)优点:
可靠:每个分支是独立自包含的(分支间耦合最为松散),个别服务的崩溃不会影响系统中其他服务器的损坏或崩溃
灵活:自包含、接口规范,服务进程独立、可维护性好,便于操作系统增加新功能
适宜于分布式的计算环境:不同的服务可运行在不同的处理器
(4)缺点:效率较低,微内核成为系统瓶颈;对于通信频繁的系统中,微内核限制了效率
二、操作系统运行机制
(一)CPU
CPU的构成与基本工作方式
(1)CPU的构成
运算器:实现指令重点算术和逻辑运算,是计算机计算的核心
控制器:控制程序的运行流程,包括取指令、维护CPU状态、CPU与内存的交互
高速缓存:处于CPU与物理内存之间,由控制器中的内存管理单元管理,访问速度快于内存,低于寄存器;利用程序局部性原理,使得高速指令处理和低速内存访问得以匹配,提供CPU的效率
(2)处理器中的寄存器
数据寄存器(通用寄存器):用于各种算术逻辑指令和访存指令,对于具备浮点能力和多媒体能力的处理器来说,浮点处理过程的数据寄存器和整数处理过程时的数据寄存器一般是分离的
条件码寄存器:保存CPU操作结果的各种标记位,例如算术运算产生的溢出、符号等,这些标记在条件分支指令中被测试,以控制程序指令的流向。一般来说,条件码可以被隐式访问,但不能通过显式的方式修改
(2)指令执行的基本过程
指令的类型:
访问存储器指令:负责处理器和存储器之间的数据传送
I/O指令:负责处理器和I/O模块之间的数据传送和命令发送
算术逻辑指令(数据处理指令):执行有关数据的算术和逻辑操作
控制转移指令:指定一个新的指令的执行起点
处理器控制指令:修改处理器的状态,改变处理器工作方式
特权指令和非特权指令(多用户或多任务的多道程序设计操作系统)
特权指令:只能由操作系统使用;用户要想使用,需由处理器通过特殊机制将处理器状态切换至操作系统运行的特权状态(管态),然后将处理器移交给操作系统的一段特殊代码,这一过程被称为陷入
处理器的状态
(1)管态和目态
目态到管态的转换:转换途径是中断或异常,中断响应时交换中断向量,新的中断向量中的PSW的CPU状态位标志为管态
管态到目态的转换:通过设置PSW指令(修改程序状态字)实现。系统启动时,CPU的初始状态为管态,然后装入操作系统程序。操作系统退出执行时,让用户程序在目态执行。
程序状态字PSW:指示处理器的状态
(1)CPU的工作状态代码:指明管态还是目态
非特权指令:用户使用
执行不同的程序时,根据运行的程序对资源和机器指令的使用权限而将处理器设置为不同的状态,多数系统划分为管态(特权态(特态)、系统态)和目态(普通态(普态)、用户态),部分系统划分为核心状态、管理状态和用户程序状态(目标状态)
(2)CPU状态的转换
(3)限制用户程序执行特权指令
当用户程序占用CPU时,CPU状态为目态,当取到特权指令,CPU拒绝执行,并形成一个“非法操作”事件,中断机制识别到该事件后,转交操作系统处理,由操作系统通知用户:“程序中有非法指令”
(2)条件码:反映指令执行后的结果特征
(3)中断屏蔽码:指出是否允许中断
(二)存储体系
存储器的层次结构
(1)容量、速度和成本匹配
采用层次化存储体系,沿着层级下降,价格下降、容量提高、速度变慢而处理器的访问频率随之降低
存储保护:保障操作系统和运行中的程序正确运行的基本条件之一
(2)存储访问局部性原理:提高存储系统性能的关键
现代程序设计注重代码的复用,使程序中产生大量循环和子程序的调用,会形成重复存取相同的指令集合,该指令集合短时间内能比较稳定地保持在存储器的局部区域。应用该原理设计多级存储结构
需有硬件支持,存储保护结构是操作系统运行环境的重要组成部分。
(2)存储键:部分计算机上设置
在每个存储块上附加一个与其相关的由二进制位组成的存储保护键。
操作系统给每个用户作业和分配给该作业的存储块的存储键分配一个唯一的存储键号,同时操作系统将该存储键号存放到程序状态字PSW的存储键(“钥匙”)域中,通过键号L匹配,实现存储保护
(三)中断与异常机制:处理各种外部事件,依靠硬件支持和中断软件实现,消除了主机和外设并行工作的问题
中断与异常的概念
(1)中断指CPU对系统中或系统外发生的异步事件(无一定时序关系的随机事件)的响应,发生异步事件时,CPU中断对当前程序的执行,转而去处理异步事件,处理完毕后再返回原程序的中断点继续执行。
中断字:计算机系统中提供的中断源的有序集合,是一个逻辑结构。
能充分发挥处理器的使用效率
提高系统的实时能力
中断系统:现代计算机系统的核心机制之一
(1)中断系统的组成部分
硬件中断装置:负责捕获中断源发出的中断请求,并响应中断源,然后将处理器的控制权移交给特定的中断处理程序。
软件中断处理程序:针对中断事件的性质执行相应的一系列操作
中断逻辑线路:接收中断信号,并寄存在线路中的硬件触发器中,每个触发器被称为一个中断位,值为1表示接收到中断信号,值为0反之
中断寄存器:触发器的全体
处理器接收中断信号
保护现场,将中断断点的程序状态字PSW和程序计数器PC值存入系统堆栈
调用中断程序
中断优先级与中断屏蔽
(1)多级中断与中断优先级
固定优先法:给每个设备接口安排不同、固定的优先顺序
轮转法:用一个表格,依次响应
中断的作用:
(2)异常:由正在执行的指令引发的异常
(3)中断与异常的分类
(2)中断请求的接收
(3)中断响应
(4)中断处理:软件处理过程
检查I/O相关的状态信息,操作I/O设备或者在设备和主存之间传送数据等,具体依据中断请求的类别和要求而不同;中断处理程序结束后,处理器监测到中断返回指令,恢复原工作状态
(5)几种典型的中断处理
多根中断请求线从不同设备连接到中断逻辑线路构成多级中断。
多个设备同时请求中断且优先级相同时,采用的方法:
(2)中断屏蔽
通过程序状态字PSW中的中断屏蔽位实现,被屏蔽的中断信号,通常任然保存在中断寄存器中,有的可以后续响应,有的被抛弃。
机器故障中断类的信号不可被屏蔽。
(四)系统调用
系统调用的简介
用户在程序中调用操作系统所提供的一些子功能,是一种特殊的过程调用,由特殊的机器指令实现。还可将系统转入特权模式,只能由汇编语言之间访问,是操作系统提供给编程人员的唯一接口。对用户屏蔽了操作系统的具体动作而只提供有关的功能。
运行在不同的系统状态:一般调用(调用程序和被调用程序都运行相同的状态)、系统调用(调用程序运行在用户态,被调用程序运行在系统态)
状态的转换:系统调用需进行状态转换
返回问题:在采用强占式调度方式的系统中,被调用过程执行完后,系统重新进行优先级分析,根据优先级进行调度
嵌套调用:均可进行嵌套调用
系统调用的处理过程
本质是应用程序请求操作系统核心完成某一特定功能的一种过程调用
(1)系统调用与一般调用的区别
(2)系统调用的分类
(五)I/O技术
I/O结构
每台外部设备都有各自的设备控制器,负责控制外部设备运行。
早期计算机系统中,外部设备的控制器通过I/O硬件结构直接与CPU相连,CPU定期轮询各个I/O设备控制器状态,直接控制,该结构效率低,已被淘汰。
通道(I/O处理机)
独立于CPU,是专门负责数据I/O传输工作的处理单元。各个设备控制器通过通道连接在计算机系统的公共系统总线上。由通道对外部设备统一管理,代替CPU进行控制,从而使CPU和外部设备可以并行工作。
CPU执行到“启动外设”(“启动I/O”)的指令时,按指令的参数启动指定的设备
设备启动后,设备的控制权转移到通道,由通道控制相关操作
外部设备工作结束后,形成“输入输出设备操作结束”的I/O中断事件,由操作系统的处理程序对该事件进行处理,操作系统分析后,可知道外部设备的具体工作情况
DMA技术(直接存储器访问技术)
缓冲技术
工作原理:
当CPU和外部设备同时申请访问主存储器时,需要竞争存储周期,由主存储器的控制线路处理这些竞争。
通道技术常应用于大型机系统和对I/O处理能力要求严格的系统,一般低档次微机中没有通道
(六)时钟
以上是关于操作系统原理-概论运行机制的主要内容,如果未能解决你的问题,请参考以下文章