当前位置: 首页 > news >正文

电子科技大学操作系统期末复习笔记(一):操作系统概述

目录

前言

操作系统概述

操作系统的目标与功能

操作系统的定义

目标

功能

操作系统的历史

单用户系统

简单批处理系统

多道批处理系统

分时系统

个人电脑 → 分布式系统 → 互联网时代 → 移动计算时代 → ......

实时系统

操作系统的基本特征

并发

共享

虚拟

不确定性

操作系统的体系结构

无结构操作系统

模块化系统结构

分层式系统结构

操作系统安全

内存

信息保护和安全


前言

本复习笔记基于电子科技大学计算机操作系统-教学大纲(2022)中的课程模块部分,分为五大章节,分别是:

  • CM1操作系统概念。操作系统基本功能、操作系统发展历史及趋势、操作系统主流架构、常见操作系统特点、操作系统安全机制。
  • CM2进程管理。进程概念、线程概念、进程生命周期、进程调度算法、进程同步互斥、进程间通信和死锁。
  • CM3内存管理。内存空间的概念、连续分配、离散分配(分页管理、分段管理、段页式管理)、虚拟存储管理和页面置换算法。
  • CM4设备管理。I/O 系统结构、缓冲管理、磁盘结构和磁盘调度算法。
  • CM5文件管理。文件系统的作用、逻辑结构、物理结构、目录、文件共享和文件系统的一致性。

本节要点在CM1,大致内容如下:

第一章 计算机操作系统概论(6 学时,多媒体课件结合板书面授)CM1
1、主要内容
批处理技术、多道程序设计技术、操作系统的概念、操作系统的发展、操作系统的基本类型、 操作系统相关的基本概念和特点、操作系统的特征、理解操作系统的服务、操作系统的功能模块、 操作系统的体系结构、系统调用、命令接口、程序接口、虚拟机、客户机/服务器等。
2、应达到的要求
记忆:操作系统的体系结构、操作系统的发展及主要类型。
理解: 操作系统中的基本概念、操作系统的目标和作用、理解用户接口与系统调用的意义和
类型。
应用:批处理技术、多道程序设计技术。
分析:操作系统的基本类型、特征、操作系统的功能模块。
第六章 操作系统安全(2 学时,多媒体课件结合板书面授)CM1
1、主要内容
操作系统安全的概念、安全机制的实施:文件保护机制、身份认证、访问矩阵、访问矩阵的
实现。
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&#xff…...

文献阅读: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)开始慢慢补牛牛的题题意&#xff1a;最小生成树质数距离思路&#xff1a;最小生成树一共就两种算法&#xff0c;我们考虑Prim的过程初始连通块是1&#xff0c;然后考虑拿1和其他的结点连边当j-i<k时边权是gcd&…...

嵌入式C基础知识(10)

C语言如何实现一个频繁使用短小函数&#xff0c;C如何实现&#xff1f;C语言可以使用宏定义实现一个短小函数&#xff0c;如下面例子所示。但是宏定义语句不会进行检查&#xff0c;并且对书写格式有过分的讲究。比如MAX和括号之间不能有空格&#xff0c;每个参数都要放在括号里…...

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】。使用最大指定时钟&#xff0c;比特率可以编程为高达 10 Mbit/s 的值。连接到物…...

优劣解距离法TOPSIS——清风老师

TOPSIS法是一种常用的综合评价方法&#xff0c;能充分利用原始数据的信息&#xff0c;其结果能精确地反映各评价方案之间的差距。 基本过程为先将原始数据矩阵统一指标类型&#xff08;一般正向化处理&#xff09;得到正向化的矩阵&#xff0c;再对正向化的矩阵进行标准化处理…...

【Unity3D】Shader常量、变量、结构体、函数

1 源码路径 Unity Shader 常量、变量、结构体、函数一般可以在 Unity Editor 安装目录下面的【Editor\Data\CGIncludes\UnityShader】目录下查看源码&#xff0c;主要源码文件如下&#xff1a; UnityCG.cgincUnityShaderUtilities.cgincUnityShaderVariables.cginc 2 Shader 常…...

LeetCode 刷题系列 -- 496. 下一个更大元素 I

nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。给你两个 没有重复元素 的数组 nums1 和 nums2 &#xff0c;下标从 0 开始计数&#xff0c;其中nums1 是 nums2 的子集。对于每个 0 < i < nums1.length &#xff0c;找出满…...

Docker 搭建本地私有仓库

一、搭建本地私有仓库有时候使用Docker Hub这样的公共仓库可能不方便&#xff0c;这种情况下用户可以使用registry创建一个本地仓库供私人使用&#xff0c;这点跟Maven的管理类似。使用私有仓库有许多优点&#xff1a;1&#xff09;节省网络带宽&#xff0c;针对于每个镜像不用…...

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需注意的…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...