首页 > 其他分享 >操作系统期末复习[持续更新...]

操作系统期末复习[持续更新...]

时间:2022-11-19 13:57:23浏览次数:42  
标签:算法 ... 复习 处理机 作业 调度 死锁 进程 操作系统

填空(20)+简答(40)+分析(20)+设计(20)

第一章

什么是操作系统

操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充

操作系统的目标

方便性,有效性,可扩充性和开放性

操作系统的作用
  • 作为用户和计算机硬件系统之间的接口
  • 作为计算机系统资源的管理者
  • 实现了对计算机资源的抽象
什么是单道批处理系统

计算机系统自动地一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成,这样便形成了早期的批处理系统。虽然系统对作业的处理是成批进行的,但在内存中始终只保持一道作业,故而称为单批道处理系统

什么是多道批处理系统
什么是分时系统,及其特点
什么是实时系统及其特点
操作系统基本特性
  1. 并发
    • 并行性是指两个或多个事件在同一时刻发生
    • 并发性是指两个或多个事件在同一时间间隔内发生
  2. 共享
  3. 虚拟
  4. 异步
操作系统的主要功能
  1. 处理机管理功能
  2. 存储器管理功能
  3. 设备管理功能
  4. 文件管理功能
  5. 操作系统和用户之间的接口
  6. 系统调用

第二章

什么是前驱图

前驱图是指一个有向无环图,它用于描述进程之间执行的先后顺序。图中的每个结点可用来表示一个进程或程序段,乃至一条语句,结点间的有向边则表示两个结点之间存在的偏序或前驱关系

进程的定义
  • 进程是程序的一次执行
  • 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
  • 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个 独立单位
进程的特征
  1. 动态性

    进程的实质是进程实体的执行过程,因此,动态性就是进程的最基本的特征

  2. 并发性

    多个进程实体同存于内存中,且能在一段时间内同时运行

  3. 独立性

    独立性是指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位

  4. 异步性

    进程是按异步方式运行的,即按各自独立的、不可预知的速度向前推进

进程的三种基本状态
  1. 就绪态

    指进程已处于准备好运行的状态,即进程已分配到除CPU以外的所有必要资源后,只要获得CPU,便可立刻执行

  2. 执行态

    进程已获得CPU,其程序正在执行的状态

  3. 阻塞态

    正在执行的进程由于发生某事件(如I/O请求、申请缓冲区失败等)暂时无法继续执行时的状态,亦即进程的执行受到阻塞

进程的三种状态转换并说明

处于就绪态的进程,在调度程序为之分配了处理机之后便可执行,相应地,其状态由就绪态转变为执行态;正在执行的进程如果因分配给它的时间片已完而被剥夺处理机暂停执行时,其状态便由执行态转为就绪态;如果因发生某事件,致使当前进程的执行受阻,使之无法继续执行,则该进程状态将由执行转变为阻塞

进程控制块

PCB是一记录型数据结构,它作为进程实体的一部分,记录了操作系统所需的、用于描述进程的当前情况以及管理进程运行的全部信息。

进程控制块中的信息
  1. 进程标识符
  2. 处理机状态
  3. 进程调度信息
  4. 进程控制信息

第三章

处理机调度的几个层次,每个调度的基本特点
  1. 高级调度(作业调度)

  2. 中级调度(内存调度)

  3. 低级调度(进程调度)

处理机调度算法的目标
  1. 资源利用率。为提高系统的资源利用率,应使系统中的处理机其他所有资源都尽可能地保持忙碌状态

    \(CPU的利用率=\frac{CPU有效工作时间}{CPU有效工作时间+CPU空闲等待时间}\)

  2. 公平性。公平性使指应使诸进程都获得合理的CPU时间,不会发生进程饥饿现象。公平性是相对的,对相同的进程应获得相同的服务;但对于不同的进程,由于其紧急程度或重要性的不同,则应提供不同的服务

  3. 平衡性。由于在系统中可能具有多种类型的进程,有的属于计算型作业,有的属于I/O型。为使系统中的CPU和各种外部设备都能经常处于忙碌状态,调度算法应尽可能保持系统资源使用的平衡性

  4. 策略强执行

一率两平一执行

实时系统目标
什么是作业

作业是一个比程序更为广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制

作业运行的3种状态
作业的调度算法
  1. 先来先服务(FCFS)调度算法
    • 既可用于作业调度,也可用于进程调度
    • 系统按照作业到达的先后次序进行调度,或者说它是优先考虑在操作系统中等待时间最长的作业,而不管该作业所需执行时间的长短
  2. 短作业优先(SJF)调度算法
    • 以作业长短来计算优先级,作业越短优先级越高。作业的长短是以作业所要求的运行时间来衡量的
    • 缺点:
      • 必须预知作业的运行时间
      • 对长作业非常不利
      • 采用SJF算法时,人-机无法实现交互
      • 该调度算法完全未考虑作业的紧迫程度
  3. 优先级调度算法(priority-scheduling algorithm,PSA)
    • 在优先级调度算法中,是基于作业的紧迫程度
  4. 高响应比优先调度算法(Highest Response Ratio Next)
    • 既考虑了作业的等待时间,又考虑了作业运行时间
    • \(R_p=\frac{等待时间+要求服务时间}{要求服务时间}=\frac{响应时间}{要求服务时间}\)
进程调度的任务
  1. 保存处理机的现场信息
  2. 按某种算法选取进程
  3. 把处理器分配给进程
进程调度机制
进程调度方式
  1. 非抢占方式

    采用这种调度方式时,一旦把处理机分配给某进程后,就一直让它运行下去,决不会因为时钟中断或任何其他原因去抢占当前正在运行进程的处理机,直至该进程完成,或发生某事件而被阻塞时,才把处理机分配给其他进程

  2. 抢占方式

时间片轮转调度算法
  • 主要适用于分时系统
  • 每次选择就绪队列中的第一个进程,但是只能运行一个时间片的大小
  • 时间片长短的选择考虑因素:系统的响应时间、就绪队列中进程的数目、系统的处理能力
多级反馈队列调度
优先级调度
最早截至时间、含义
死锁的概念

死锁是指多个进程因竞争资源而造成的一种相互等待,若无外力作用,这些进程都将无法继续运行。

死锁的产生
  1. 竞争不可抢占性资源
  2. 进程推进顺序不当
引起死锁的条件
  1. 互斥条件
  2. 请求和保持条件
  3. 不可抢占条件
  4. 循环等待条件
处理死锁的方法
  1. 预防死锁
  2. 死锁避免
  3. 死锁检测
  4. 死锁解除

第四章

存储器管理示意图

在存储层次中越往上,存储介质的访问速度越快,价格也越高,相对存储容量也越小

程序的装入方式
程序的链接方式
固定分区的划分方法
动态分区分配算法

标签:算法,...,复习,处理机,作业,调度,死锁,进程,操作系统
From: https://www.cnblogs.com/Sheldon2/p/16905969.html

相关文章

  • TypeScript 复习与进阶三部曲 (3) – TypeScript 类型体操
    前言在 第一部–把TypeScript当强类型语言使用 和 第二部– 把TypeScript当编程语言使用 后,我们几乎已经把TypeScript的招数学完了.第三部就要开始做练......
  • 【操作系统】Linux下安装mysql、jmeter
    mysql安装安装调试启动官网:https://dev.mysql.com/downloads/repo/yum/下载好需要的rpm源,使用Xftp将rpm传入虚拟机的/root目录下Xshell操作linux,或者直接虚拟机终端......
  • 计算电脑操作系统位数
    此代码使用指针的方法计算电脑操作系统是几位#include<stdio.h>intmain(){inta=0;int*p=&a;printf("%d\n",sizeof(p));return0;}若输出结果为8,则为64位;若......
  • 数字高程模型复习笔记
    数字高程模型知识点总结概论数字地面模型DEM的定义是表示区域D上的三维向量有限序列,是以绝对高程或海拔表示的地面模型。是国家基础空间数据的重要组成部分,它表示地表......
  • ES6之 ...扩展运算符
    <script>//『...』扩展运算符能将『数组』转换为逗号分隔的『参数序列』//声明一个数组...consttfboys=['易烊千玺','王源','王俊......
  • VMware创建Win10操作系统虚拟机
    VMware创建Win10操作系统虚拟机1.安装VMware16迅雷云链接:https://pan.xunlei.com/s/VNH9mkbxLqnyB_F_g0h73C_TA1?pwd=sdi4#2.下载Win10镜像百度云链接:https://pan.ba......
  • 【学习笔记】(模板复习)FHQ平衡树
    对应模板:P3369【模板】普通平衡树点击查看代码#include<bits/stdc++.h>usingnamespacestd;inlineintrd(){ intf=1,j=0; charw=getchar(); while(w>'9'||w<'......
  • redis集群创建的时候,一直卡在Waiting for the cluster to join ....上、一直没有反应
    1.问题:搭建Redis集群的过程中,执行到clustercreate:…的时候,发现程序发生阻塞,显示:Waitingfortheclustertojoin的字样,然后就无休无尽的等待…2.解决方法:开放red......
  • 操作系统——进程相关
    操作系统——进程相关一、进程相关(状态、同步、异步、阻塞、非阻塞)1、状态介绍 在程序运行的过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行和阻塞。......
  • 面试随记(更新中...)
    Java部分:MySQL部分:1、什么是脏读、幻读、不可重复读脏读指的是一个事务(T1),读取到了第二个事务(T2)未提交的数据不可重复读指的是一个事务(T1),读取完数据之后处理其他......