moluuser's Blog - 操作系统
type: channel
link: https://archive.moluuser.com/tag/操作系统/
items: 操作系统总结
items: 操作系统应试总结

操作系统总结
type: item
date: 2021-07-03T14:40:00+00:00
description: 1 概述定义负责管理协调硬件、软件等计算机资源的工作为上层用户、应用程序提供简单易用的服务是一种系统软件功能和目标资源的管理者处理机管理存储器管理文件管理设备管理向上层提供服务对于普通用户GUI图形界面命令接口联机命令接口(说一句做一句)脱机命令接口(批处理)对于软件和程序员程序接口(系统调用)对硬件机器的扩展扩充机器(虚拟机)特征并发并发指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的，但微观上是交替发生的。并行指两个或多个事件在同一时刻同时发生。操作系统的并发性指计算机系统中"同时"运行着多个程序，这些程序宏观上看是同时运行着的，而微观上看是交替运行的。操作系统就是伴随着"多道程序技术"而出现的。因此，操作系统和程序并发是一起诞生的。共享共享即资源共享，是指系统中的资源可供内存中多个并发执行的进程共同使用。并发和共享互为存在条件资源共享方式互斥共享方式系统中的某些资源，虽然可以提供给多个进程使用，但一个时间段内只允许一个进程访问该资源。同时共享方式系统中的某些资源，允许一个时间段内由多个进程"同时"对它们进行访问。虚拟虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的，而逻辑上对应物(后者)是用户感受到的。时分复用技术如虚拟存储器技术空分复用技术如虚拟处理器、虚拟设备技术异步异步是指，在多道程序环境下，允许多个程序并发执行，但由于资源有限，进程的执行不是一贯到底的，而是走走停停，以不可预知的速度向前推进，这就是进程的异步性。由于并发运行的程序会争抢着使用系统资源，而系统中的资源有限，因此进程的执行不是一贯到底的，而是走走停停的，以不可预知的速度向前推进。如果失去了并发性，即系统只能串行地运行各个程序，那么每个程序的执行会一贯到底。只有系统拥有并发性，才有可能导致异步性。发展与分类手工操作阶段缺点：人机速度矛盾批处理阶段单道批处理系统优点：缓解人机速度矛盾缺点：资源利用率低多道批处理系统优点：多道程序并发执行，资源利用率高缺点：不提供人机交互功能分时操作系统优点：提供人机交互功能缺点：不能优先处理紧急任务实时操作系统硬实时操作系统必须在绝对严格的规定时间内完成处理软实时操作系统能接受偶尔违反时间规定网络操作系统分布式操作系统个人计算机操作系统运行机制程序运行原理高级语言代码 -> 机器指令程序运行的过程就是CPU执行指令的过程两类程序内核程序应用程序两类指令特权指令非特权指令两种处理器状态内核态/核心态/管态用户态/目态CPU 中有一个寄存器叫 程序状态字寄存器(PSW)，其中有个二进制位，1表示"内核态"，0表示"用户态"内核内核(Kernel)是操作系统最核心最重要的部分由很多内核程序组成操作系统的内核如何变态内核态 -> 用户态一条修改PSW的特权指令用户态 -> 内核态由中断引起，硬件自动完成中断和异常中断的作用让操作系统内核强行夺回CPU的控制权使CPU从用户态变为内核态中断的分类内中断(异常)与当前执行的指令有关中断信号来自CPU内部陷阱、陷入(trap)由陷入指令引发，是应用程序故意引发的故障(fault)由错误条件引起的，可能被内核程序修复。内核程序修复故障后会把 CPU使用权还给应用程序，让它继续执行下去。如：缺页故障。终止(abort)由致命错误引起，内核程序无法修复该错误，因此一般不再将CPU使用权还给引发终止的应用程序，而是直接终止该应用程序。如：整数除0、非法使用特权指令外中断与当前执行的指令无关中断信号来自CPU外部时钟中断I/O中断中断机制的基本实现原理检查中断信号内中断：CPU在执行指令时会检查是否有异常发生外中断：每个指令周期末尾，CPU都会检查是否有外中断信号需要处理找到相应的中断处理程序通过"中断向量表"实现系统调用定义操作系统对应用程序/程序员提供的接口系统调用和库函数的区别有的库函数是对系统调用的进一步封装有的库函数没有使用系统调用按功能分类设备管理完成设备的请求/释放/启动等功能文件管理完成文件的读/写/创建/删除等功能进程控制完成进程的创建/撤销/阻塞/唤醒等功能进程通信完成进程之间的消息传递/信号传递等功能内存管理完成内存的分配/回收等功能系统调用的过程传参陷入指令/Trap/访管由操作系统内核程序处理系统调用请求返回应用程序其他传递系统调用参数 -> 执行陷入指令(用户态) -> 执行相应的内请求核程序处理系统调用(核心态) -> 返回陷入指令是在用户态执行的，执行陷入指令之后立即引发一个内中断，使CPU进入核心态发出系统调用请求是在用户态，而对系统调用的相应处理在核心态下进行操作系统的体系结构大内核将操作系统的主要功能模块都作为系统内核，运行在核心态优点：高性能缺点：内核代码庞大，结构混乱，难以维护微内核只把最基本的功能保留在内…

操作系统应试总结
type: item
date: 2020-04-20T05:56:00+00:00
description: 前言上学期（大二上）提前水过了操作系统课程，期末考试前总结了下。之后还会深入学习。以下内容仅为应对期末考试概念题：操作系统功能：处理机管理，存储器管理，设备管理，文件管理，用户接口用户接口：用户使用计算机系统的手段称为用户接口。编程接口：编程接口是为用户程序在执行中访问系统资源而设置的，是用户程序获得操作系统服务的唯一途径。它由一组系统调用组成，每一个系统调用都对应一个能完成特定功能的子程序。进程状态： 进程：一般来说，进程是程序的一次执行过程，它可以和其他进程并发执行。也可以说进程是程序在一个数据集合上的一次执行过程，是系统进行资源分配和调度的独立单位。总的来说，进程是具有一定独立功能的程序关于一个数据集合的一次运行过程。进程通常分成两类：用户进程和系统进程。进程的组成：进程控制块，有关程序段，相应的数据结构集。进程控制块（PCB）：进程标识信息，处理机状态，进程调度信息，进程控制信息缓冲：引入缓冲的原因：为了匹配外设与CPU之间的处理速度。为了减少中断次数和中断处理时间。为了解决DMA或通道方式时的瓶颈问题。缓冲的种类单缓冲多缓冲缓冲池缓冲池由多个缓冲区组成。一个缓冲区由两部分组成：一部分是用来标识该缓冲区和用于管理的缓冲首部，另一部分是用于存放数据的缓冲体。这两部分一一对应。SPOOLing系统：操作系统中实现虚拟设备的功能模块是在计算机控制下通过联机的外部设备同时操作来实现其功能的。组成：预输入程序。井管理程序。缓输出程序。SPOOLing系统必须建立在具有多道程序功能的操作系统上，而且还应有高速随机外存的支持，这通常是采用磁盘存储技术。特点：提高了I/O的速度。将独占设备改造为共享设备。实现了虚拟设备功能。文件：文件被解释为一组赋名的相关联字符或者是相关联记录（一个有意义的信息单位）的集合。文件共享：文件共享是指一个文件可以让指定的多个用户同时使用。文件共享的方式：①绕道法。②链接法。③基本文件目录法。中断：中断是指计算机在执行期间，系统内发生非寻常的急需处理事件，使得CPU暂时停止当前正在执行的程序而转去执行相应的事件处理程序，待处理完毕后又返回原来被停止处继续执行或执行优先级高的新进程的过程。 （中断源，中断请求，中断响应）通道：通道是一种硬件设施，本质上是一台专门用来管理I/O的处理器，它根据来自CPU的I/O操作指令，以独立于CPU的方式执行有关的通道程序，承担起I/O操作的组织，管理，数据传送以及结束等工作。只有在结束了CPU委托的I/O任务之后才向CPU发出中断请求信号。通道的连接方式： 四级连接，三级控制通道的类型：字节多路通道选择通道数组多路通道通道适配器问答题（6道大题）：一. 作业调度算法：1. △先来先服务调度算法（FCFS） 2. 优先级调度算法（静态/动态优先级） 2. 轮转调度算法 根据时间片是否可变，分为 固定周期轮转法，可变周期轮转法 4. △分级轮转调度算法： 多个就绪队列 高优先级队列为空才能调度低优先级队列的进程 5. 分级反馈轮转调度算法 允许进程在不同的队列间移动 6. △最短作业优先调度算法 作业周转快，系统的吞吐量大 7. △响应比高者优先级调度算法 Rp = (等待时间 + 要求执行时间) / 要求执行时间 = 1 + 等待时间/要求执行时间 分析调度情况，计算 平均周转时间，平均带权周转时间 例题： 地址转换：静态地址重定位，动态地址重定位（需要硬件支持，能够实现虚拟内存）分区存储管理：单分区存储管理多分区存储管理（固定分区存储管理，可变分区存储管理）；分配算法：最先适应分配算法，最优适应分配算法，最坏适应分配算法虚拟存储管理方法：动态页式，动态段式，动态段页式页式存储管理：静态页式（作业/进程执行前，按页全部装入内存），动态页式把主存分成大小相等的区，称为块。把程序的逻辑空间进行分页，页的大小和块相等。按页存放到块中。二. 页面置换算法：1. 随机置换算法 2. 轮转置换算法（RR） 3. △先进先出置换算法（FIFO） 4. △最近最少用置换算法（LRU） 5. 最近最不常用置换算法（LFU） 6. Clcok置换算法 简单Clock置换算法（访问位），改进型Clock置换算法（访问位，修改位） 7. 页面缓冲算法（PBA） 8. 最佳置换算法（OPT） 例题：缺页次数 = 总列数 - 空白列数缺页率 = 缺页次数 / 总列数FIFO算法： 可参考进行应试学习LRU算法 三. 磁盘的驱动调度块是信息读/写的最小单位。 确定一个块所在的位置，必须给出3个参数：柱面号，磁头号，扇区号 驱动调度：移臂调度，旋转调度 移臂调度： 1. 先来先服务调度算法（FCFS） 2. 最短寻找时间优先调度算法（SSTF）距离磁头最近的 3. 扫描调度算法（SCAN 电梯算法）看磁头方…