电子科技大学操作系统期末复习笔记(一):操作系统概述
目录
前言
操作系统概述
操作系统的目标与功能
操作系统的定义
目标
功能
操作系统的历史
单用户系统
简单批处理系统
多道批处理系统
分时系统
个人电脑 → 分布式系统 → 互联网时代 → 移动计算时代 → ......
实时系统
操作系统的基本特征
并发
共享
虚拟
不确定性
操作系统的体系结构
无结构操作系统
模块化系统结构
分层式系统结构
操作系统安全
内存
信息保护和安全
前言
本复习笔记基于电子科技大学计算机操作系统-教学大纲(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需注意的…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
