电子科技大学操作系统期末复习笔记(一):操作系统概述
目录
前言
操作系统概述
操作系统的目标与功能
操作系统的定义
目标
功能
操作系统的历史
单用户系统
简单批处理系统
多道批处理系统
分时系统
个人电脑 → 分布式系统 → 互联网时代 → 移动计算时代 → ......
实时系统
操作系统的基本特征
并发
共享
虚拟
不确定性
操作系统的体系结构
无结构操作系统
模块化系统结构
分层式系统结构
操作系统安全
内存
信息保护和安全
前言
本复习笔记基于电子科技大学计算机操作系统-教学大纲(2022)中的课程模块部分,分为五大章节,分别是:
- CM1:操作系统概念。操作系统基本功能、操作系统发展历史及趋势、操作系统主流架构、常见操作系统特点、操作系统安全机制。
- CM2:进程管理。进程概念、线程概念、进程生命周期、进程调度算法、进程同步互斥、进程间通信和死锁。
- CM3:内存管理。内存空间的概念、连续分配、离散分配(分页管理、分段管理、段页式管理)、虚拟存储管理和页面置换算法。
- CM4:设备管理。I/O 系统结构、缓冲管理、磁盘结构和磁盘调度算法。
- CM5:文件管理。文件系统的作用、逻辑结构、物理结构、目录、文件共享和文件系统的一致性。
本节要点在CM1,大致内容如下:
第一章 计算机操作系统概论(6 学时,多媒体课件结合板书面授)CM11、主要内容批处理技术、多道程序设计技术、操作系统的概念、操作系统的发展、操作系统的基本类型、 操作系统相关的基本概念和特点、操作系统的特征、理解操作系统的服务、操作系统的功能模块、 操作系统的体系结构、系统调用、命令接口、程序接口、虚拟机、客户机/服务器等。2、应达到的要求记忆:操作系统的体系结构、操作系统的发展及主要类型。理解: 操作系统中的基本概念、操作系统的目标和作用、理解用户接口与系统调用的意义和类型。应用:批处理技术、多道程序设计技术。分析:操作系统的基本类型、特征、操作系统的功能模块。第六章 操作系统安全(2 学时,多媒体课件结合板书面授)CM11、主要内容操作系统安全的概念、安全机制的实施:文件保护机制、身份认证、访问矩阵、访问矩阵的实现。2、应达到的要求记忆:安全系统的模型、设计、可信度验证。理解:操作系统安全的概念、安全机制的实施应用:文件保护、身份认证、访问矩阵、访问矩阵的实现。
操作系统概述
操作系统的目标与功能
操作系统的定义
操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。

目标
- 方便性:使计算机更易于使用
- 有效性:使用计算机资源更加有效
- 扩展性:可开发、测试引入新功能
- 开放性:应用程序的可移植和互操作
功能
- 处理机管理:按照一定的算法把处理机分配给进程(线程),并对其进行有效的管理和控制。
- 存储器管理:为多道程序提供运行环境,方便使用,提高存储器利用率以及能从逻辑上扩充内存。
- 设备管理:完成用户提出的I/O请求;为用户分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。
- 文件管理:对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。
- 用户接口:OS提供给用户交互的命令集合
操作系统的历史
单用户系统
处理机制:
- 人工操作方式,所有资源用户独占
- 脱机输入输出(与外围计算机进行I/O)(→优化为简单批处理系统)
简单批处理系统
处理机制: 对一批作业进行自动处理,内存中只能存放一道作业,运行结束/出错→自动调用另一道作业(自动续接)
主要特征: 自动性, 顺序性, 单道性
优点: 减少了人工操作, 解决了作业自动续接问题
缺点: 平均周转时间太长(处理器一次只能运行一道程序,在进行I/O操作时会让处理器陷入等待,利用率仍较低), 没有交互能力(→优化为多道批处理系统)
多道批处理系统
在单道批处理上加以改进:
- 内存中同时存放多个作业
- 当一个作业需要等待I/O或运行结束/出错时,处理器可以切换到另一个作业(自动调度)
- 多个程序可并发执行
- 作业调度程序负责作业的调度
主要特征: 多道性, 无序性, 调度性
优点: 提高了资源利用率和吞吐能力
缺点: 没有交互能力(→优化为分时系统)

分时系统
处理机制: 时钟中断: 时间片
产生原因: 人机交互、共享主机、方便上机
主要特征: 多路性, 独立性, 及时性, 交互性
[与多道批处理系统的比较]
主要表现在用户交互层面, 用户可以在终端输入指令控制计算机, 而侧重点也有所不同: 多道批处理系统侧重于充分利用处理器, 而分时系统更注重作业效率
个人电脑 → 分布式系统 → 互联网时代 → 移动计算时代 → ......
了解即可, 略
实时系统
定义:
系统能实时(及时) 相应外部事件的请求,在规定的时间内开始或完成该事件的处理,并控制所有实时任务协调一致的运行
应用领域:
航空航天、军事、工业控制、实时控制系统、实时信息系统
特性:
多路性、独立性、交互性、可靠性、及时性
操作系统的基本特征
- 并发(最重要的特征)
- 共享
- 虚拟
- 不确定性
并发
并行性是指两个或多个事件在同一时刻发生。(单处理机系统)
并发性是指两个或多个事件在同一时间间隔内发生。(多处理机系统)
共享
系统中的资源可供内存中多个并发执行的进程共同使用。
- 互斥共享方式:
- 临界资源是在一段时间内只允许一个进程访问的资源
- 系统中的临界资源可以提供给多个进程使用,但一次仅允许一个进程使用
- 同时访问方式:
- 宏观上,资源共享指多个任务可以同时使用系统的软硬件资源
- 微观上,资源共享指多个任务可以交替互斥的使用系统中的某个资源(例如磁盘)
虚拟
将物理实体抽象成逻辑产物。(时分[虚拟处理机/虚拟设备]、空分[虚拟内存]...)
不确定性
同样的程序,同样的输入,输出结果可能不同。
- 异步:进程使用异步方式执行,运行速度与结果不可预知。
- 随机函数:random(); gettimeofday()......
操作系统的体系结构
操作系统的四代变革:
- 第一代:无结构操作系统
- 第二代:模块式结构
- 第三代:层次式结构
- 第四代:工程学+软件开发→软件工程学
常见OS整体结构:
无结构操作系统
OS是众多过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构,既庞大又杂乱,因此也叫它整体系统结构。
这样编织出的程序错误很多,调试与维护的成本很高,负担很大。
模块化系统结构
OS包含若干模块,每一模块实现一组基本概念及相关基本属性
模块之间均可以引用任意其他各块的概念以及属性
- 优点:
- 提高了OS设计的正确性、可理解性和可维护性。
- 增强了OS的可适应性。 加速了OS的开发过程。
- 缺点:
- 对模块的划分及对接口的规定要精确描述很困难。
- 从功能观点来划分模块时,未能将共享资源和独占资源加以区别;
分层式系统结构
OS包含若干层,每一层实现一组基本概念及相关基本属性
各层的实现只依赖其直接下层所提供的概念以及属性,并对其上各层隐藏其下各层的存在
操作系统安全
内存
虚拟存储:
- 以逻辑方式访问储存器,不考虑物理内存可用的空间数量
- 满足多个作业同时驻留内存的需求
- 换入换出机制
- 分页机制:每个进程的大小可能不同,整体换入换出时大小不匹配
- 每个作业部分驻留:硬件检测到缺页时,安排载入‘
分页机制:
- 进程由若干个固定大小的块组成,每一块大小相同
- 虚地址由页号和内页偏移量组成
- 进程中每一页均可置于内存中任何位置
- 提供了虚地址和内存中实地址(物理地址)之间的动态映射机制
信息保护和安全
- 可用性:保护系统不被中断
- 保密性:保证用户不能读取未授权访问的数据
- 数据完整性:保护数据不被未授权修改
- 认证:涉及用户身份的正确认证和消息或数据的合法
相关文章:
电子科技大学操作系统期末复习笔记(一):操作系统概述
目录 前言 操作系统概述 操作系统的目标与功能 操作系统的定义 目标 功能 操作系统的历史 单用户系统 简单批处理系统 多道批处理系统 分时系统 个人电脑 → 分布式系统 → 互联网时代 → 移动计算时代 → ...... 实时系统 操作系统的基本特征 并发 共享 虚拟…...
[实践篇]13.20 Qnx进程管理slm学习笔记(三)
【QNX Hypervisor 2.2用户手册】目录(完结) 4.2 模块 我们可以将组件组合成一个模块。模块中的进程可以组成一个子系统,也可以用于建立一组系统状态,例如基本操作和各种更高级别操作。注意,必须命名模块,以便可以在内部引用它们。而且每个模块必须描述成一个元素,形势如…...
冰冰学习笔记:多线程
欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正。 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位…...
补充一些前端面试题
javascript有哪些库指路>js中的库uniapp和vue有什么区别什么是uniappuni-app(uni,读you ni,是统一的意思)是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web&#…...
七大设计原则之单一职责原则应用
目录1 单一职责原则介绍2 单一职责原则应用1 单一职责原则介绍 单一职责(Simple Responsibility Pinciple,SRP)是指不要存在多于一个导致类变更的原因。假设我们有一个 Class 负责两个职责,一旦发生需求变更,修改其中…...
[USACO23JAN] Leaders B
题面翻译 题面描述 FJ 有 NNN 头奶牛,每一头奶牛的品种是根西岛 G 或荷斯坦 H 中的一种。 每一头奶牛都有一个名单,第 iii 头奶牛的名单上记录了从第 iii 头奶牛到第 EiE_iEi 头奶牛的所有奶牛。 每一种奶牛都有且仅有一位“领导者”,对…...
C++模板初阶
C模板初阶泛型编程函数模板概念函数模板格式函数模板原理函数模板的实例化模板参数的匹配原则类模板类模板的定义格式类模板的实例化泛型编程 我们前面学习了C的函数重载功能,那么我们如何实现一个通用的交换函数呢,比如:我传入int就是交换intÿ…...
文献阅读:Scaling Instruction-Finetuned Language Models
文献阅读:Scaling Instruction-Finetuned Language Models 1. 文章简介2. 实验 1. 数据集 & 模型 1. 数据集考察2. 使用模型 2. scale up对模型效果的影响3. CoT对模型效果的影响4. 不同模型下Flan的影响5. 开放接口人工标注指标 3. 结论 文献链接:…...
gpt草稿
ChatgptWhatChatGPT(全名:Chat Generative Pre-trained Transformer [2])是由OpenAI开发的一个人工智能聊天机器人程序,于2022年11月推出。该程序使用基于GPT-3.5架构的大型语言模型并通过强化学习进行训练。ChatGPT里面有两个词&…...
mysal第三次作业
1、显示所有职工的基本信息。 2、查询所有职工所属部门的部门号,不显示重复的部门号。 3、求出所有职工的人数。 4、列出最高工和最低工资。 5、列出职工的平均工资和总工资。 6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表…...
分页和mmap
文章目录一、内存分页1、基本概念2、分页机制下,虚拟地址和物理地址是如何映射的?3、快表(TLB)二、mmap基本原理和分类一、内存分页 1、基本概念 CPU并不是直接访问物理内存地址,而是通过虚拟地址空间来间接的访问物理内存地址。 页&#x…...
C++之异常处理
异常异常是面向对象语言处理错误的一种方式。当一个函数出现自己无法处理的错误时,可以抛出异常,然后输的直接或者间接调用者处理这个错误。语法捕获全部的异常try {//可能抛出异常的代码//throw异常对象 } catch(...) {//不管什么异常,都在这…...
牛客寒假集训营6 E 阿宁的生成树
E-阿宁的生成树_2023牛客寒假算法基础集训营6 (nowcoder.com)开始慢慢补牛牛的题题意:最小生成树质数距离思路:最小生成树一共就两种算法,我们考虑Prim的过程初始连通块是1,然后考虑拿1和其他的结点连边当j-i<k时边权是gcd&…...
嵌入式C基础知识(10)
C语言如何实现一个频繁使用短小函数,C如何实现?C语言可以使用宏定义实现一个短小函数,如下面例子所示。但是宏定义语句不会进行检查,并且对书写格式有过分的讲究。比如MAX和括号之间不能有空格,每个参数都要放在括号里…...
TC3xx FlexRay™ 协议控制器 (E-Ray)-01
1 FlexRay™ 协议控制器 (E-Ray) E-Ray IP 模块根据为汽车应用开发的 FlexRay™ 协议规范 v2.1 执行通信【performs communication according to the FlexRay™ 1) protocol specification v2.1】。使用最大指定时钟,比特率可以编程为高达 10 Mbit/s 的值。连接到物…...
优劣解距离法TOPSIS——清风老师
TOPSIS法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。 基本过程为先将原始数据矩阵统一指标类型(一般正向化处理)得到正向化的矩阵,再对正向化的矩阵进行标准化处理…...
【Unity3D】Shader常量、变量、结构体、函数
1 源码路径 Unity Shader 常量、变量、结构体、函数一般可以在 Unity Editor 安装目录下面的【Editor\Data\CGIncludes\UnityShader】目录下查看源码,主要源码文件如下: UnityCG.cgincUnityShaderUtilities.cgincUnityShaderVariables.cginc 2 Shader 常…...
LeetCode 刷题系列 -- 496. 下一个更大元素 I
nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。给你两个 没有重复元素 的数组 nums1 和 nums2 ,下标从 0 开始计数,其中nums1 是 nums2 的子集。对于每个 0 < i < nums1.length ,找出满…...
Docker 搭建本地私有仓库
一、搭建本地私有仓库有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似。使用私有仓库有许多优点:1)节省网络带宽,针对于每个镜像不用…...
XML中的CDATA且mybatis中特殊字符转义
如果想看如果CDATA在mybatis的xml文件中使用的可以直接跳转。 CDATA1 XML中的CDATA1.1 为什么叫CDATA1.2 CDATA在XML中的语法1.3 CDATA在XML中的例子1.4 CDATA规则2 Mybatis中的CDATA2.1 Mybatis中使用XML转义序列转义2.2 Mybatis中使用CDATA转义2.3 mybatis中使用CDATA需注意的…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例
目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...
