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

操作系统复习总结1

操作系统复习总结,仅供笔者复习使用,参考教材:

  • 《操作系统原理》 - 何静媛编著. 西安电子科技大学出版社
  • 《操作系统考研复习指导》2024年 - 王道论坛组编. 电子工业出版社

本文主要内容为:计算机系统概述;

计算机系统概述 部分见 操作系统复习总结1;
进程与线程 部分见 操作系统复习总结2;
内存管理 部分见 操作系统复习总结3;
文件管理 部分见 操作系统复习总结4;
输入输出管理 部分见 操作系统复习总结5;

目录

  • 1. 操作系统基本概念
  • 2. 操作系统发展历程
  • 3. 操作系统运行环境
  • 4. 操作系统结构
  • 5. 操作系统引导
  • 6. 虚拟机

1. 操作系统基本概念

  • 计算机系统:硬件、操作系统、应用程序、用户;
  • 操作系统 OS:控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合;
  • 操作系统的特征:
    • 并发:操作系统能够处理和调度计算机系统中多个运行的程序同时执行;

      并发 ≠ 并行
        并发:一段时间内,宏观上有多道程序同时执行,但在每一时刻,单处理机只会执行一道程序,因为微观上这些程序是分时交替执行的。
        并行:同一时刻执行多道程序,需要相关硬件的支持,如多级流水线或多处理机。

    • 共享:系统中的资源可供内存中多个并发执行的进程共同使用。根据是否能同时使用,共享分为 互斥共享同时访问 两种方式;

    • 虚拟:把物理上实际存在的实体变为若干逻辑上的对应物,这些对应物是虚的,是用户感觉上的事物。操作系统的虚拟技术分为 时分复用技术空分复用技术

      • 虚拟处理器:通过分时使用同一个处理器让多道程序并发执行,使每个终端用户都感觉有一个 CPU 在专为其服务。因此,多道程序设计技术把一个物理上的 CPU 虚拟为多个逻辑上的 CPU,即虚拟处理器;
      • 虚拟存储器:通过将计算机的物理内存和磁盘空间相结合,提供比实际物理内存更大的地址空间供程序使用。虚拟存储器的核心思想是将程序所需的数据和指令从磁盘加载到物理内存中,并根据需要在物理内存和磁盘之间进行数据交换,使得程序能够运行并处理比物理内存更大的数据集;
      • 虚拟设备:通过创建虚拟层,将一个硬件设备虚拟化为多个逻辑设备,使多个操作系统或应用程序可以共享同一物理设备;
    • 异步:多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行无法一贯到底,而是以不可预知的速度间断向前推进。与同步性(任务的执行按照确定的顺序和时间进行,一个任务执行完后才能执行下一个任务)相对,异步操作系统中任务的执行不是严格按照线性的顺序进行,而是根据任务的状态和优先级来确定执行顺序;

  • 操作系统的功能:
    • 管理系统资源:
      • 处理机管理:以进程为基本单位分配和运行处理机,还包括进程控制、进程同步、进程通信、死锁处理、处理机调度等;
      • 存储器管理:主要包括内存分配与回收、地址映射、内存保护与共享、内存扩充等功能;
      • 文件管理:主要包括文件存储空间管理、目录管理及文件读写管理等功能;
      • 设备管理:主要包括完成用户的 I/O 请求、缓冲管理、设备分配、虚拟设备等功能;
    • 提供用户接口:
      • 命令接口:用户利用命令接口提供的操作命令来组织和控制作业的执行;
      • 程序接口:开发者使用程序接口(系统调用)请求操作系统服务;
    • 扩充计算机资源:操作系统丰富了裸机的功能,使用户可以更方便的使用计算机;

2. 操作系统发展历程

  • 手工操作阶段:人工完成计算机上的所有工作,无操作系统;
  • 批处理阶段:
    • 单道批处理系统:系统按顺序逐个处理一批作业,同一时刻内存中只保持一道作业;
    • 多道批处理系统:多个程序同时进入内存并在 CPU 中交替进行,即宏观上并行,微观上串行;
  • 分时操作系统:通过分时技术将时间片轮流把处理器分配给各联机作业使用,一般用于服务器,能够保证多个用户通过终端同时共享一台主机;
  • 实时操作系统:在某个时间限制内必须完成某些紧急任务而不需要时间片排队,分为硬实时系统和软实时系统;
  • 网络操作系统:把网络中多台计算机有机结合,实现资源共享与通信;
  • 分布式计算机系统:多台地位同等的计算机并行、协同工作;
  • 个人计算机操作系统:如今广泛使用的 Windows、Linux、MacOS等;

上述操作系统都可以统称为通用操作系统,可以在各种计算设备上运行,包括个人计算机、服务器、移动设备和嵌入式系统等。它使用时间片轮转调度算法,提供了多任务支持、文件系统、设备管理、内存管理、网络支持等核心功能,旨在为用户提供统一的计算环境。

3. 操作系统运行环境

  • CPU 程序:

    • 应用程序:执行 非特权指令 只能访问用户的地址空间;
    • 内核程序:执行 特权指令 访问系统中的软硬件资源,包括一些与硬件关联密切的模块(时钟管理、中断处理、设备驱动)和运行频率较高的程序(进程管理、存储器管理、设备管理);
  • CPU 运行模式:

    • 用户态:应用程序运行在用户态,当想要执行特权指令时向操作系统请求服务,通过 系统调用接口 使用 访管指令 产生中断将操作系统切换为核心态;

    访管指令
      访管指令是一条可以在用户态下执行的指令。在用户程序中,因要求操作系统提供服务而有意识地使用访管指令,从而产生一个中断事件,将操作系统转换为核心态,称为访管中断。访管中断由访管指令产生,程序员使用访管指令向操作系统请求服务。
      处于用户态的用户程序使用访管指令时,系统根据访管指令的操作数执行访管中断处理程序,访管中断处理程序将按系统调用的操作数和参数转到相应的例行子程序。完成服务功能后,退出中断,返回到用户程序断点继续执行。

    • 核心态:操作系统内核程序运行在核心态,主要内核功能如下:
      • 时钟管理:为分时操作系统中的时间片、实时系统中的截止时间、批处理系统中的作业时间等提供时钟中断;
      • 中断机制:键盘或鼠标的输入、进程的管理和调度、系统调用、设备驱动、文件访问等;
      • 原语:操作系统底层最接近硬件部分可被调用的公用小程序,运行具有原子性,操作一气呵成,不可分割;
      • 系统控制的数据结构:进程管理、存储器管理和设备管理等;
  • 中断和异常:处于用户态的 CPU 可以通过中断或异常进入核心态:

    • 中断:也叫外中断,通常用于设备输入/输出处理或时间片走完;
    • 异常:也叫内中断,通常是来自 CPU 内部的事件,分为 故障自陷终止
      • 故障:指令执行异常,如非法操作码、缺页故障、除 0、运算溢出等;
      • 自陷:用户态执行系统调用时执行自陷指令;
      • 终止:CPU 无法继续执行,如控制器出错、存储器校验错等;
  • 系统调用:用户程序想要调用操作系统提供的一些子功能时执行自陷指令,把 CPU 的使用权交给操作系统内核程序,CPU 进入内核态,操作系统内核程序再对系统调用请求作相应处理;
    在这里插入图片描述

4. 操作系统结构

  • 分层法:每层只调用紧邻它的低层的功能和服务;
    在这里插入图片描述

  • 模块 - 接口法:将操作系统功能划分为若干具有一定独立性的模块,通过 内聚性耦合度 衡量模块的独立性;
    在这里插入图片描述

  • 宏内核:将操作系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为用户程序提供高性能的系统服务;

  • 微内核:将内核最基本的功能保留在内核,其余不需要在核心态执行的功能移到用户态执行,从而降低内核的设计复杂性。微内核结构的操作系统使用 足够小的内核,基于 客户 / 服务器方式,应用 “机制与策略分离” 原理,采用 面向对象 技术进行设计。

5. 操作系统引导

操作系统是一种程序,以数据的形式存放在硬盘中。操作系统引导就是计算机利用 CPU 运行特定程序,通过程序识别硬盘及其分区上的操作系统,最后通过程序启动操作系统。该过程如下:

  1. 激活 CPU 读取 ROM 中的 boot 程序,将指令寄存器置为 BIOS 的第一条指令并开始执行;
  2. 硬件自检,如有故障,主板会发出蜂鸣,启动停止;若无故障,屏幕会显示 CPU、内存、硬盘等信息;
  3. 加载带有操作系统的硬盘和主引导记录 MBR;
  4. 扫描硬盘分区表并加载硬盘活动分区;
  5. 加载分区引导记录 PBR;
  6. 在 PBR 中扫描并启动活动分区中的启动管理器;
  7. 加载操作系统;

6. 虚拟机

虚拟机是指利用虚拟化技术,通过隐藏计算机的实际物理特性,为用户提供抽象、统一的模拟计算环境的逻辑计算机。

  • 第一类虚拟机管理程序:运行在 裸机 上并具备多道程序功能,向上层提供若干裸机环境,每个裸机可以运行各自的操作系统;
  • 第二类虚拟机管理程序:依赖宿主操作系统,就像一个普通的进程,运行客户操作系统;
    在这里插入图片描述

相关文章:

操作系统复习总结1

操作系统复习总结,仅供笔者复习使用,参考教材: 《操作系统原理》 - 何静媛编著. 西安电子科技大学出版社《操作系统考研复习指导》2024年 - 王道论坛组编. 电子工业出版社 本文主要内容为:计算机系统概述; 计算机系…...

Matlab中图的最短路径

前言: 图的基本概念: 若想简单绘制图可以利用此网站: 左上角Undirected/Directed是无向图/有向图 左边 0-index ,1-index为0下标,1下标。 Node Count为节点个数 Graph Data:最初尾节点的名称&#xff…...

没有jodatime,rust里怎么将字符串转为日期呢?

关注我,学习Rust不迷路!! 在 Rust 中,有多种方法可以在时间和字符串之间进行转换。以下是五种常见的方式: 1. 使用 chrono 库进行转换: use chrono::{NaiveDateTime, DateTime, Utc, TimeZone};fn main(…...

【Markdown入门及使用】

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…...

大数据面试题:HBase的读写缓存

面试题来源: 《大数据面试题 V4.0》 大数据面试题V3.0,523道题,679页,46w字 参考答案: HBase上RegionServer的cache主要分为两个部分:MemStore & BlockCache。 MemStore是写缓存,Block…...

springboot基于vue的高校迎新系统的设计与实现8jf9e

随着时代的发展,人们的生活方式得到巨大的改变,从而慢慢地产生了大量高校迎新信息,高校迎新信息需要一个现代化的管理系统,进行高校迎新信息的管理。 高校迎新系统的开发就是为了解决高校迎新管理的问题,系统开发是基于…...

JVM入门到精通

一、JVM概念 1.1、什么是JVM Java Virtual Machine:Java虚拟机,用来保证Java语言跨平台 Java虚拟机可以看做是一台抽象的计算机,如同真实的计算机那样,它有自己的指令集以及各种运行时内存区域 Java虚拟机与Java语言并没有必然…...

Hive执行引擎的区别

执行引擎 Tez、Spark 和 MapReduce 都是用于在大数据处理中执行任务的框架或引擎,它们在性能、优化、适用场景等方面有一些区别。 MapReduce: MapReduce 是 Hadoop 最早引入的批处理计算模型,它将任务分成 Map 和 Reduce 两个阶段&#xff0c…...

分布式 - 服务器Nginx:常见问题总结(二)

文章目录 01. Nginx 虚拟主机怎么配置?02. Nginx location 指令的作用?03. Nginx location 指令如何与其他指令一起使用?04. Nginx root 命令的作用?05. Nginx if 模块的作用?06. Nginx include 指令的作用?07. Nginx…...

【Paper Reading】CenterNet:Keypoint Triplets for Object Detection

背景 首先是借鉴Corner Net 表述了一下基于Anchor方法的不足: anchor的大小/比例需要人工来确认anchor并没有完全和gt的bbox对齐,不利于分类任务。 但是CornerNet也有自己的缺点 CornerNet 只预测了top-left和bottom-right 两个点,并没有…...

【BASH】回顾与知识点梳理(三)

【BASH】回顾与知识点梳理 三 三. 命令别名与历史命令3.1 命令别名设定: alias, unalias3.2 历史命令:history同一账号同时多次登入的 history 写入问题无法记录时间 该系列目录 --> 【BASH】回顾与知识点梳理(目录) 三. 命令…...

C#设计模式之---单例模式

单例模式(Singleton) 单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例。 1)普通单例模式 using System; namespace SingletonPattern {/// /// 单例模式(非线程安全)/// …...

Git工具安装

Git 工具安装 1. 下载Git安装包2. 安装Git工具3. 简单的使用配置用户名 1. 下载Git安装包 打开官网 https://git-scm.com/downloads点击下载 2. 安装Git工具 右击以管理员身份运行 ![在这里插入图片描述](https://img-blog.csdnimg.cn/9a99a73d54824800bc87db64f71f7602.png…...

深度学习——注意力机制、自注意力机制

什么是注意力机制? 1.注意力机制的概念: 我们在听到一句话的时候,会不自觉的捕获关键信息,这种能力叫做注意力。 比如:“我吃了100个包子” 有的人会注意“我”,有的人会注意“100个”。 那么对于机器来说…...

STM32入门学习之定时器中断

1.STM32的通用定时器是可编程预分频驱动的16位自动装载计数器。 STM32 的通用定时器可以被用于:测量输入信号的脉冲长度 ( 输入捕获 ) 或者产生输出波 形 ( 输出比较和 PWM) 等。 使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形 周…...

基本数据类型与包装数据类型的使用标准

Reference:《阿里巴巴Java开发手册》 【强制】所有的 POJO 类属性必须使用包装数据类型。【强制】RPC 方法的返回值和参数必须使用包装数据类型。【推荐】所有的局部变量使用基本数据类型。 比如我们如果自定义了一个Student类,其中有一个属性是成绩score,如果用Integer而不用…...

小研究 - 基于 SpringBoot 微服务架构下前后端分离的 MVVM 模型(二)

本文主要以SpringBoot微服务架构为基础,提出了前后端分离的MVVM模型,并对其进行了详细的分析以及研究,以此为相关领域的工作人员提供一定的技术性参考。 目录 4 SpringBoot 4.1 技术发展 4.2 技术特征 4.3 SpringBoot项目构建 4.4 目录结…...

ArmSoM-W3之RK3588安装Qt+opencv+采集摄像头画面

1. 简介 场景:在RK3588上做qt开发工作 RK3588安装Qtopencv采集摄像头画面 2. 环境介绍 这里使用了OpenCV所带的库函数捕获摄像头的视频图像。 硬件环境: ArmSoM-RK3588开发板、(MIPI-DSI)摄像头 软件版本: OS&…...

基于长短期神经网络的风速预测,基于LSTM的风速预测

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络LSTM的风速预测 完整代码: https://download.csdn.net/download/abc991835105/88171311 效果图 结果分析 展望 参考论文 背影 风速预测是一种比较难的预测,随机性比较大,长短期神经网络是一种改进党的RNN…...

Mybatis引出的一系列问题-spring多数据源配置

在日常开发中我们都是以单个数据库进行开发,在小型项目中是完全能够满足需求的。但是,当我们牵扯到像淘宝、京东这样的大型项目的时候,单个数据库就难以承受用户的CRUD操作。那么此时,我们就需要使用多个数据源进行读写分离的操作…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

日常一水C

多态 言简意赅&#xff1a;就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过&#xff0c;当子类和父类的函数名相同时&#xff0c;会隐藏父类的同名函数转而调用子类的同名函数&#xff0c;如果要调用父类的同名函数&#xff0c;那么就需要对父类进行引用&#…...

人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型

在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重&#xff0c;适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解&#xff0c;并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...

算法刷题-回溯

今天给大家分享的还是一道关于dfs回溯的问题&#xff0c;对于这类问题大家还是要多刷和总结&#xff0c;总体难度还是偏大。 对于回溯问题有几个关键点&#xff1a; 1.首先对于这类回溯可以节点可以随机选择的问题&#xff0c;要做mian函数中循环调用dfs&#xff08;i&#x…...

WinUI3开发_使用mica效果

简介 Mica(云母)是Windows10/11上的一种现代化效果&#xff0c;是Windows10/11上所使用的Fluent Design(设计语言)里的一个效果&#xff0c;Windows10/11上所使用的Fluent Design皆旨在于打造一个人类、通用和真正感觉与 Windows 一样的设计。 WinUI3就是Windows10/11上的一个…...

[10-1]I2C通信协议 江协科技学习笔记(17个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17...