操作系统期末快速复习(概念)

2024-06-20 23:20

本文主要是介绍操作系统期末快速复习(概念),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 第一章:操作系统引论
  • 操作系统的目标是什么?
  • 分时系统是什么?
  • 实时系统是什么?
  • 分时系统和实时系统的比较
  • 操作系统的基本特征是什么?
  • 操作系统的主要功能?***重要
  • 第二章:进程管理
  • 程序的顺序执行特征和前驱图
  • 并发执行的特征
  • 进程的定义,特征,状态等
  • 进程的基本状态转换
  • 进程同步
  • 第三章:处理机调度与死锁
  • 处理机调度的层次
  • 调度的各种算法和时间片(精通)
  • 产生死锁的原因
  • 产生死锁的必要条件(精通)
  • 处理死锁的基本方法(精通)
  • 银行家算法(精通且必须掌握)
  • 第四章: 存储器管理
  • 动态分区分配算法(精通)
  • 页面和页表
  • 第五章:虚拟存储器
  • 虚拟存储器的引入
  • 虚拟存储器的定义(精通)
  • 虚拟存储器的特征(精通)
  • 页面置换算法(精通)
  • 第六章:输入输出系统
  • 通道的类型
  • 缓存的引入的原因
  • SPOLLing 系统的定义,组成,特点
  • 磁盘调度算法(精通)
  • 第七章:文件管理
  • 对文件目录管理的要求
  • 第八章:磁盘存储器的管理
  • 位示图法

第一章:操作系统引论

操作系统的目标是什么?

  • 有效性
  • 方便性
  • 可扩充性
  • 开放性

分时系统是什么?

在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过终端,以交互的方式使用计算机,共享主机资源

实时系统是什么?

计算机能及时响应外部事件的请求,在规定时间内完成对原事件的处理,并且控制所有实时设备和实时任务协调一致的工作。

分时系统和实时系统的比较

特征实时系统分时系统
多路性采集多路信息,控制多个对象和多个执行机构用用户情况有关,时多时少
独立性独立信息采集和对象控制独立操作,互不干扰独立的服务请求独立操作,互不干扰
及时性控制对象的要求人能接受的等待时间
交互性限于特定专用服务程序向终端用户提供大量服务
可靠性要求系统高度可靠要求系统可靠

操作系统的基本特征是什么?

  1. 并发性
  2. 共享性
  3. 虚拟性
  4. 异步性

操作系统的主要功能?***重要

1、处理机管理
2、存储器管理
3、设备管理功能
4、文件管理
5、用户接口

第二章:进程管理

程序的顺序执行特征和前驱图

特征:顺序性,封闭性,可再现性
todo : 前驱图

并发执行的特征

间断性,失去封闭性,不可再现性

进程的定义,特征,状态等

定义:进场是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位

特征:结构特征(PCB),动态性,并发性,独立性,异步性

三种基本状态:就绪,执行,阻塞

进程的基本状态转换

todo 一张图

进程控制块的组织:线性表方式,链接方式,索引方式
进程控制实现方式:原语

进程同步

进程同步的基本定义:对多个相关进程在执行次序上进行协调,以使并发执行的进程之间能够有效地共享资源和互相合作,从而使程序的执行具有可再现性

临界资源:一段时间内只允许一个进程访问的资源

临界区:每个进程中访问临界资源的那段代码

同步机制:进程同步应该遵守的原则(精通),生产者消费者关系编程(精通)

整型信号量:描述资源数目的整型量S,它的值只能由原子操作 wait(s) 和 signal(s) 来访问,这两个操作又分别称为 P 操作和 V 操作,OS用它来管理资源和进程
记录型信号量:整型信号量存在 “忙等”,记录型信号量采取“让权等待”策略,他比整型信号量增加一个进程链表指针,用于链接等待的进程
管程的定义:由代表共享资源的数据结构,以及由对该共享数据结构实施操作的一组过程所组成的资源管理程序,它可被请求和释放资源的进程所调用

第三章:处理机调度与死锁

处理机调度的层次

高级调度
中级调度
低级调度

调度的各种算法和时间片(精通)

todo

产生死锁的原因

  1. 竞争资源
  2. 进程推进顺序非法

产生死锁的必要条件(精通)

1、互斥条件,一段时间内某资源只能由一个进程占用
2、请求和保持条件,部分分配资源
3、不剥夺条件,进程已获得资源不能被剥夺,直至使用完毕
4、环路等待条件,发生死锁时必然存在进程-资源的环形链

处理死锁的基本方法(精通)

1、预防死锁
通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或者几个,预防死锁的发生
a. 摒弃请求和保持条件:要么全部分配,要么一个也不分配
b. 摒弃不剥夺条件:资源在进程运行中可被暂时释放
c. 摒弃环路等待条件
2、避免死锁
在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁
3、检测死锁
通过系统所设置的检测机制,及时地检测出死锁的发生,并精确地确定与死锁有关的进程和资源
4、解除死锁
与死锁检测配合,通过撤销和挂起一些进程,以便回收一些资源,再将这些资源分配给处于阻塞状态的进程,使之就绪,以继续运行

银行家算法(精通且必须掌握)

第四章: 存储器管理

动态分区分配算法(精通)

页面和页表

页面:将一个进程的逻辑地址空间分为若干个大小相等的片称为页面

页号=[逻辑空间中的地址 / 页面大小] (取整)
页内地址 = [地址] mod 页面大小

第五章:虚拟存储器

虚拟存储器的引入

局部性原理

虚拟存储器的定义(精通)

是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统

虚拟存储器的特征(精通)

1)多次性
2)兑换性
3)虚拟性

页面置换算法(精通)

第六章:输入输出系统

通道的类型

字节多路通道,数组选择通道,数组多路通道

缓存的引入的原因

1、缓冲CPU和I/O设备间速度不匹配的矛盾
2、减少对CPU的中断频率,放宽对 CPU 中断响应时间的限制
3、提高 CPU 和 I/O设备之间的并行性

SPOLLing 系统的定义,组成,特点

spolling 系统是对脱机I/O工作的模拟,其必须有高速随机外存的支持

spolling系统主要有以下四个部分
1)输入井和输出井
2)输入缓冲区和输出缓冲区
3)输入进程 SPi 和输出进程 SPo
4)I/O请求队列

spolling系统的特点
提高了I/O的速度,将独占设备改造为共享设备,实现了虚拟设备功能

磁盘调度算法(精通)

第七章:文件管理

对文件目录管理的要求

1、实现按名存取
2、提高目录检索速度
3、文件共享
4、允许文件重名

第八章:磁盘存储器的管理

位示图法

课后题要会做

这篇关于操作系统期末快速复习(概念)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1079552

相关文章

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

MySQL 事务的概念及ACID属性和使用详解

《MySQL事务的概念及ACID属性和使用详解》MySQL通过多线程实现存储工作,因此在并发访问场景中,事务确保了数据操作的一致性和可靠性,下面通过本文给大家介绍MySQL事务的概念及ACID属性和... 目录一、什么是事务二、事务的属性及使用2.1 事务的 ACID 属性2.2 为什么存在事务2.3 事务

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完