电子科技大学操作系统期末复习笔记(一):操作系统概述
目录
前言
操作系统概述
操作系统的目标与功能
操作系统的定义
目标
功能
操作系统的历史
单用户系统
简单批处理系统
多道批处理系统
分时系统
个人电脑 → 分布式系统 → 互联网时代 → 移动计算时代 → ......
实时系统
操作系统的基本特征
并发
共享
虚拟
不确定性
操作系统的体系结构
无结构操作系统
模块化系统结构
分层式系统结构
操作系统安全
内存
信息保护和安全
前言
本复习笔记基于电子科技大学计算机操作系统-教学大纲(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需注意的…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...

Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...