电子科技大学操作系统期末复习笔记(一):操作系统概述
目录
前言
操作系统概述
操作系统的目标与功能
操作系统的定义
目标
功能
操作系统的历史
单用户系统
简单批处理系统
多道批处理系统
分时系统
个人电脑 → 分布式系统 → 互联网时代 → 移动计算时代 → ......
实时系统
操作系统的基本特征
并发
共享
虚拟
不确定性
操作系统的体系结构
无结构操作系统
模块化系统结构
分层式系统结构
操作系统安全
内存
信息保护和安全
前言
本复习笔记基于电子科技大学计算机操作系统-教学大纲(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需注意的…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...