计算机操作系统 一图通
2024-03-04 18:26:16 0 举报
AI智能生成
计算机操作系统一图通是一种可视化、易于理解的方式来描述操作系统的关键概念和工作原理。这个图通过使用不同的图形、颜色和标注来展示操作系统的各个组件和功能,如处理器调度、内存管理、文件系统、设备驱动程序等。这种图形化方法使得操作系统的学习和理解变得更加直观和轻松,尤其适合初学者和有经验的用户。通过这种一图通的方式,人们可以更好地理解操作系统在各个方面的功能和工作原理。
作者其他创作
大纲/内容
1.1 操作系统的基本概念
1.1.1 操作系统的概念
操作系统自下而上可大致分为4部分:硬件、操作系统、应用程序和用户。
操作系统管理各种计算机硬件,为应用程序提供基础,并充当计算机硬件与用户之间的中介。
操作系统是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。
操作系统是计算机系统中最基本的系统软件。
1.1.2 操作系统的特征
并发
并发是指两个或多个事件在同一时间间隔内发生。
操作系统的并发性是通过分时得以实现。
共享
是指系统中的资源可供内存中多个并发执行的进程共同使用。
互斥共享方式
仅当进程A访问完并释放该资源后,才允许另一个进程对该资源进行访问。
把一段时间内只允许一个进程访问的资源成为临界资源(独占资源)。
同时访问方式
允许在一段时间内由多个进程“同时”访问。(“同时”通常是宏观的,微观上是交替的。)
虚拟
虚拟是指把一个物理上的实体变为若干逻辑上的对应物。
时分复用技术,如虚拟处理器(时分共享)。
空分复用技术,如虚拟存储器。
异步
多道程序环境允许多个程序并发执行,由于资源有限,进程执行并不是一贯到底的,而是走走停停,以不可预知的速度向前推进,即异步性。
只要运行环境相同,操作系统就须保证多次运行进程后都能获得相同的结果。
1.1.3 操作系统的目标和功能
功能:处理机管理、存储器管理、设备管理、文件管理、用户接口。
目标:操作系统可用来扩充机器,以提供更方便的服务,更高的资源利用率
操作系统作为资源管理者
处理机管理
存储器管理
文件管理
设备管理
操作系统作为用户、计算机硬件系统之间的接口
命令接口:用户利用这些操作命令来组织和控制作业的执行
联机控制方式
又称交互式命令接口,适用于分时或实时系统接口。
脱机控制方式
又称批处理命令接口,适用于批处理系统,它由一组作业控制命令组成。
程序接口:编程人员来请求操作系统服务
由一组系统调用组成。用户通过程序使用系统调用来请求操作系统为其提供服务(如图形用户界面)。
操作系统实现了对计算机资源的扩充
裸机在最里层,其外面是操作系统。
通常把覆盖了软件的机器称为扩充机器或虚拟机。
1.2 操作系统发展历程
1.2.1 手工操作阶段
所有工作都要人工干预,人机矛盾大(速度和资源利用)
突出缺点
①用户独占全机,不会出现因资源被其他用户占用,但资源利用率低。
②CPU等待手工操作,CPU的利用不充分。
1.2.2 批处理阶段
单道批处理系统
自动性
作业逐个完成,无须人工干预。
顺序性
先调入内存的先完成。
单通道
只调入一道程序进入内存运行。
多道批处理系统
允许多个程序同时进入内存并允许它们在CPU中交替地运行,这些程序共享系统中的各种硬/软件资源。
特点
多道
宏观上并行
微观上串行
需解决问题
如何分配处理器
多道程序内存分配问题
I/O设备如何分配
如何组织和存放大量的程序和数据,以方便用户使用并保证其安全性与一致性。
优缺点
优点
资源利用率高,多道程序共享计算机资源,从而使各种资源充分利用。
系统吞吐量大,CPU和其他资源保持“忙碌“状态。
缺点
用户响应时间较长。
不提供人机交互功能,用户不能了解程序运行情况,又不能控制计算机。
1.2.3 分时操作系统
把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用
分时系统也支持多道程序设计的系统,但它不同于多道批处理系统
分时系统的主要特征
同时性:也称多路性,终端上的多个用户可以同时或基本同时使用计算机。
交互性:用户通过终端采用人机对话方式直接控制程序运行,与程序进行交互。
独立性:系统中多个用户可以彼此独立进行操作。
及时性:分时系统采用时间片轮转方式使一台计算机同时为多个终端服务,使得系统及时反映。
1.2.4 实时操作系统
硬实时系统
如飞行自动控制系统,导弹系统。
软实时系统
如飞机订票系统、银行管理系统。
主要特点
及时性
可靠性
1.2.5 网络操作系统和分布式计算机系统
网络操作系统
把计算机网络中各台计算机有机地结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各台计算机之间数据的相互传送。
主要特点:网络中各种资源的共享及各台计算机之间的通信。
分布式计算机系统
系统中每台计算机都具有同等地位,既没有主机也没有从机。
系统中任两台计算机通过通信方式交换信息。
每台计算机上的资源为所有用户共享。
每台计算机都可以构成一个子系统,并且可以重构。
任何工作都可以分布在几台计算机上,并行、协同完成。
主要特点:分布性和并行性。
1.2.6 个人计算机操作系统
1.3 操作系统运行环境
1.3.1处理器运行模式
CPU中有一个小开关(相互切换为特权指令)
为 0 时,CPU处于核心态,可以执行特权指令。
为 1 时,CPU处于用户态,只能执行非特权指令。
应用程序运行在用户态,操作系统内核程序运行在核心态。
系统不允许用户程序实现核心态的功能,而又必须使用这些功能。因此需要在核心态建立一些“门”,以便用户态进入核心态。
内核是计算机上配置的底层软件,管理着系统的各种资源,连接应用程序和硬件的一座桥梁。
时钟管理
时钟是最关键的设备
计时,向用户提供标准的系统时间。
通过时钟中断的管理,可以实现进程的切换
分时操作系统中时间片轮转调度
实时系统中按截止时间控制运行
批处理系统中衡量一个作业的运行程度
中断机制
初衷是提高多道程序运行环境中CPU利用率,而且主要针对外部设备的。
逐步发展形成了多种类型,成为操作系统各项操作的基础。
键盘鼠标信息的输入
进程的管理和调用
设备驱动
文件访问
只有一小部分功能属于内核,负责保护恢复中断现场的信息,转移控制权到相关的处理程序。可以减少中断的处理时间,提高系统并行处理能力。
原语
按层次结构设计的操作系统,底层必然是一些可被调用的公用小程序,各自完成一个规定的操作。
通常把具有这些特点的程序成为原语
处于操作系统的最底层,是最接近硬件的部分。
这些程序的运行具有原子性,其操作只能一气呵成(出于系统安全性和便于管理考虑)。
这些程序的运行时间都较短,而且调用频繁。
定义原语(指的是操作系统中的原子操作)的直接方式是在执行原语时关闭终端,确保其所有动作都以不可分割的方式完成后再打开中断。这样可以保证原语的执行过程不会被中断,从而确保原语的完整性和正确性。
设备驱动、CPU切换、进程通信等功能中部分操作都可定义为原语,使它们成为内核的组成部分。
系统控制的数据结构及处理
系统中用来登记状态信息的数据结构很多
作业控制块
进程控制块
设备控制块
...
为了有效管理,系统需要基本操作
进程管理
进程状态管理
进程调度和分派
创建与撤销进程控制块
存储器管理
存储器地空间分配和回收
内存信息保护程序
代码对换程序
设备管理
缓冲区管理
设备分配和回收
1.3.2 中断和异常的概念
操作系统的发展就是不断提高资源利用率的过程,而提高资源利用率就需要在程序未
使用某种资源时,把它对那种资源的占有权释放,而这一行为就需要通过中断实现。
使用某种资源时,把它对那种资源的占有权释放,而这一行为就需要通过中断实现。
中断和异常的定义
中断(外中断),指来自CPU执行指令外部的事件,通常用于信息输入/输出,
如设备发出的I/O结束中断,表示输入/输出处理完成;时钟中断,表示固定时间片已到。
如设备发出的I/O结束中断,表示输入/输出处理完成;时钟中断,表示固定时间片已到。
异常(内中断),指来自CPU执行指令内部的事件,如程序的非法操作码、地址越界、运算溢出等。
异常不能屏蔽,一旦出现,就应立即处理。
异常不能屏蔽,一旦出现,就应立即处理。
中断和异常的分类
中断(外中断)
可屏蔽中断:指通过INTR线发出的中断请求,通过改变屏蔽字可以实现多重中断,从而使中断处理更加灵活。
不可屏蔽中断:指通过NMI线发出的中断请求,通常是紧急的硬件故障,如电源掉电等。
异常(内中断)
故障
通常是由指令执行引起的异常,如非法操作码、缺页故障、除数为0、运算溢出等。
自陷
是一种事先安排的“异常”事件,用于在用户态下调用操作系统内核程序,如条件自陷指令。
终止
出现了使得CPU无法继续执行的硬件故障,如控制器出错、存储器校验。
中断和异常的处理过程
CPU执行用户程序时第 i 条指令时或在执行指令后发现一个中断请求信号,CPU打断当前用户程序,转到相应的中断或异常处理程序去执行。
发现中断请求信号,中断或异常处理程序解决相应问题
能够解决相应问题
CPU通过执行中断或异常返回指令,回到被打断的用户程序的第 i 条指令或 i+1 条指令继续执行。
发现是不可恢复的致命错误
终止用户程序。
1.3.3 系统调用
指用户在程序中调用操作系统所提供的一些子功能,系统调用可视为特殊的公共子程序。
一个操作系统调用命令有几十条乃至百条之多,功能大致可分为如下几类
设备管理
完成设备的请求和释放,以及设备启动等功能。
文件管理
完成文件的读、写、创建及删除等功能。
进程控制
完成进程的创建、撤销、阻塞及唤醒等功能。
进程通信
完成进程之间的消息传递或信号传递等功能。
内存管理
完成内存的分配、回收以及获取作业占用内存区大小及始址等功能。
用户程序可以执行陷入指令(访管指令或trap指令)来发起系统调用,请求操作系统提供服务。
用户程序执行“陷入指令”,相当于把CPU的使用权主动交给操作系统内核程序,处理完成后操作系统内核程序会把CPU的使用权还给用户程序。
1.4 操作系统结构
提供合理的结构,可以降低操作系统复杂度、提升操作系统安全和可靠性。
分层法
将操作系统分为若干层,最底层为硬件,最高层为用户接口,每层只能调用紧邻它的低层的功能和服务(单向依赖)。
优点
便于系统的调试和验证,简化了系统的设计和实现。第1层可先调试无须考虑系统的其他部分,因为只使用了基本硬件,验证正确之后如此向上。
易扩充和易维护。系统中增加、修改或替换一层中的模块或整层时,只要不改变层间的接口,就不会影响其他层。
缺点
合理定义各层比较困难。因为依赖关系固定后,往往显得不够灵活。
效率较差。每执行一个功能,通常要自上而下地穿越多层,各层之间都有相应地层间通信机制,增加额外开销,导致系统效率降低。
模块化
模块化是将操作系统按功能划分为若干具有一定独立性的模块
模块划分过小,虽然能降低模块本身的复杂性,但会使得模块之间得联系过多,造成系统比较混乱。
模块划分过大,会增加模块内部的复杂性。
划分模块时,要充分考虑模块的独立性问题,因为模块独立性越高,各模块间的交互越少,系统的结构也就越清晰。衡量模块独立性有两个标准
内聚性,模块内部各部分间联系的紧密程度。内聚性越高,模块独立性越好。
耦合度,模块间相互联系和相互影响的程度。耦合度越低,模块独立性越好。
模块化的优点
提高了操作系统设计的正确性、可理解性和可维护性
增强了操作系统的可适应性
加速了操作系统的开发过程
模块化的缺点
模块间的接口规定很难满足对接口的实际需求
各模块设计者齐头并进,每个决定无法建立在上一个已验证的正确决定的基础上,因此无法找到一个可靠的决定顺序
宏内核
也称但内核或大内核,是将系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为用户程序提供高性能的系统服务。
因为各管理模块之间共享信息,能有效利用相互之间的有效特性,所以具有无可比拟的性能优势。
如今主流的操作系统早已不是当年纯粹的宏内核架构了,而是广泛吸取微内核架构的优点而后揉合而成的混合内核。
微内核
基本概念
微内核架构是指将内核中最基本的功能保留在内核,而将那些不需要在核心态执行的功能移到用户态执行,从而降低内核的设计复杂性。
微内核结构将操作系统划分为两大部分:微内核和多个服务器
微内核是指精心设计的、能够实现操作系统最基本核心功能的小型内核
与硬件处理紧密相关的部分。
一些较基本的功能。
客户和服务器之间的通信
操作系统中的绝大部分功能都放在微内核外的一组服务器(进程)中实现,如用于提供对进程(线程)进行管理的进程(线程)服务器、提供虚拟存储器管理功能的虚拟存储器服务器等,它们都是作为进程来实现的,运行在用户态,客户与服务器之间是借助微内核提供的消息传递机制来实现交互的。
为了实现高可靠性,只有微内核运行在内核态,其余模块都运行在用户态,一个模块中的错误只会使这个模块崩溃,而不会使整个系统崩溃。
基本功能
通常利用“机制与策略分离”原理来构造OS结构,将机制部分以及与硬件紧密相关的部分放入微内核。
进程(线程)管理
进程(线程)之间的通信功能是微内核OS最基本的功能,此外还有进程的切换、进程的调度,以及多处理机之间的同步等功能。
低级存储器管理
只配置最基本的低级存储器管理机制,如用于实现将逻辑地址变换为物理地址等的页表机制和地址变换机制,这依赖于硬件,因此放入微内核。
中断和陷入处理
微内核OS将与硬件紧密相关的一小部分放入微内核,此时微内核的主要功能是捕获所发生的中断、陷入事件,并进行中断响应处理,再发送给相关的服务器来处理。
特点
优点
扩展性和灵活性
许多功能从内核中分离出来,当要修改某些功能或增加新功能时,只需在相应的服务器中修改或新增功能,或再增加一个专用的服务器,而无须改动内核代码。
可靠性和安全性
可移植性
与CPU和I/O硬件有关的代码均放在内核中,而其他各种服务器均与硬件平台无关,因而将操作系统一直到另一个平台所需做的修改是比较小的。
分布式计算
客户和服务器之间、服务器和服务器之间的通信采用消息传递机制,这就使得微内核系统能很好地支持分布式系统和网络系统。
缺点
性能问题:操作系统的执行开销偏大,因为需要频繁地在核心态和用户态之间进行切换。
具有高度可靠性,执行关键任务,在实时、工业、航空及军事应用中特别流行。
外核
一种称为外核的程序在内核态中运行,它的任务是为虚拟机分配资源,并检查使用这些资源的企图,以确保没有机器会使用他人的资源。每个用户层的虚拟机可以运行自己的操作系统,但限制只能使用已经申请并且获得分配的那部分资源。
优点
减少了映射层,只需要外核记录已经分配给各个虚拟机的有关资源即可。
将多道程序(在外核内)与用户操作系统代码(在用户空间内)加以分离,而且相应的负载并不重,因为外核所做的只是保持多个虚拟机彼此不发生冲突。
1.5 操作系统引导
操作系统是一种程序,程序以数据的形式存放在硬盘中,而硬盘分为多个区,一台计算机中又有多个或多种外部存储设备。操作系统引导是指计算机利用CPU运行他也顶程序,通过程序识别硬盘,识别硬盘分区,识别硬盘分区上的操作系统,最后通过程序启动操作系统,一环扣一环地完成上述过程。
常见引导过程
激活CPU
硬件自检
加载带有操作系统的硬盘
加载主引导记录MBR
扫描硬件分区表
加载分区引导记录PBR
加载启动管理器
加载操作系统
1.6 虚拟机
虚拟机的基本概念
虚拟机是一台逻辑计算机,是指利用特殊的虚拟化技术,通过隐藏特点计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境。
第一类虚拟机管理程序
从技术上讲,第一类虚拟机管理程序就像一个操作系统,因为它是唯一一个运行在最高特权级的程序。它在逻辑上运行并且具备多道程序功能。虚拟机管理程序向上层提供若干台虚拟机,这些虚拟机是裸机硬件的精确复制品。由于每台虚拟机都与逻辑相同,所以在不同的虚拟机上可以运行任何不同的操作系统。
第二类虚拟机管理程序
它是一个依赖与Windows、linux等操作系统分配和调度资源的程序,很像一个普通的进程。伪装成具有CPU和各种设备的完整计算机。VMware Workstation是首个X86平台上地第二类虚拟机管理程序。
收藏
0 条评论
下一页