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

25考研操作系统复习·1.1/1.2/1.3 操作系统的基本概念/发展历程/运行环境

目录

操作系统的基本概念

概念(定义)

功能和目标

资源的管理者

向上层提供服务

给普通用户的

给软件/程序员的

对硬件机器的拓展

操作系统的特征

操作系统的发展历程

操作系统的运行环境

操作系统的运行机制

中断和异常

中断的作用

中断的分类(广义的中断)

中断机制的基本原理

系统调用


操作系统的基本概念

概念(定义)

  1. 负责管理协调硬件、软件等计算机资源的工作
  2. 为上层用户、应用程序提供简单易用的服务
  3. 是一种系统软件

功能和目标

资源的管理者

处理机管理

存储器管理

文件管理

设备管理

向上层提供服务

给普通用户的
  1. GUI用户图形界面
  2. 命令接口
    1. 联机命令接口:“雇主”说一句话,“工人”做一件事
    2. 脱机命令接口:“雇主”将要“工人”做的事写在清单上,“工人”按照清单命令逐条完成这些事

给软件/程序员的

程序接口,即系统调用

对硬件机器的拓展

扩充机器

操作系统的特征

  1. 并发
  2. 共享
    1. 互斥共享方式(如摄像头设备的共享使用)
    2. 同时共享方式(如硬盘资源的共享使用)
  3. 虚拟
    1. 空分复用技术(如虚拟存储技术)
    2. 时分复用技术(如虚拟处理器技术)
  4. 异步
  • 并发是指两个或多个事件在同一时间间隔内发生。宏观上是同时发生;微观上是交替发生。
  • 并行是指系统具有同时进行运算或操作的特性,在同一时刻能完成两种或两种以上的工作。
  • 没有并发和共享,就谈不上虚拟和异步,因此并发共享是操作系统的两个最基本的特性。
  • 并发和共享两者之间互为存在的条件
    • 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题。
    • 若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行。

操作系统的发展历程

要重点关注和理解各类操作系统主要想解决什么问题,各自的优缺点。

  1. 👩‍💻 手工操作阶段
    1. 缺点:人机速度矛盾
  2. 👩‍💻 批处理阶段
    1. 单道批处理系统(引入脱机输入输出技术)
      1. 优点:缓解人机速度矛盾
      2. 缺点:资源利用率依然很低
    2. 多道批处理系统(操作系统开始出现)
      1. 优点:多道程序并发进行,资源利用率高
      2. 缺点:不提供人机交互功能
  3. 👩‍💻 分时操作系统
    1. 优点:提供人机交互功能
    2. 缺点:不能优先处理紧急任务
  4. 👩‍💻 实时操作系统
    1. 硬实时系统
      1. 必须在绝对严格的规定时间内完成处理
    2. 软实时系统
      1. 能接受偶尔违反事件规定
    3. 优点:能优先处理紧急任务
  5. 网络操作系统
  6. 分布式操作系统
  7. 个人计算机操作系统

操作系统的运行环境

操作系统的运行机制

“指令”就是处理器(CPU)能识别、执行的最基本命令。很多人习惯把Linux、Windows、MacOS的“小黑框”中使用的命令也称为“指令”,其实这是“交互式命令接口”。要于前面提到的二进制机器指令的区别。

  1. 简单了解程序的运行原理
    1. 高级语言编写代码 → 机器指令
    2. 程序运行的过程就是CPU执行指令的过程
  2. 两类程序
    1. 内核程序
    2. 应用程序
  3. 两类指令
    1. 特权指令
    2. 非特权指令
  4. 两种处理器状态
    1. 内核态/核心态/管态
    2. 用户态/目态

内核程序 → 特权指令 → 内核态


  1. 内核
    1. 内核(Kernel)是操作系统最重要的核心的部分
    2. 由很多内核程序组成操作系统内核
  2. 👩‍💻 如何变态
    1. 内核态 → 用户态:一条修改PSW特权指令
    2. 用户态 → 内核态:由中断引起,硬件自动完成

中断和异常

中断的作用

  1. 让操作系统内核态强行夺回CPU的控制权
  2. 使CPU从用户态变为内核态

中断的分类(广义的中断)

  1. 内中断(异常)
    1. 与当前执行的指令有关,中断信号来自CPU内部
    2. 自陷(Trap):由陷入指令引发,是应用程序故意引发的
    3. 故障(Fault):由错误条件引起的,可能被内核程序修复。内核程序修复故障后会把CPU使用权还给应用程序,使其继续运行。
    4. 终止(Abort):由致命错误引起,内核程序无法修复该错误,因此一般不再将CPU使用权还给引发终止的应用程序,而是直接终止该应用程序。
  2. 外中断(“中断”(狭义的))
    1. 与当前执行的指令无关,中断信号来自CPU外部
    2. 时钟中断
    3. I/O中断请求

中断机制的基本原理

  1. 检查中断信号
    1. 内中断:CPU在执行命令时会检查是否有异常发生
    2. 外中断:每个指令周期末尾,CPU都会检查是否有外中断信号需要处理
  2. 找到相应的中断处理程序
    1. 通过“中断向量表”实现

系统调用

  1. 什么是系统调用?操作系统对应程序/程序员提供的接口。

  2. 系统调用与库函数的区别

    1. 有的库函数是对系统调用的进一步封装
    2. 有的库函数没有使用系统调用
  3. 什么功能要用系统调用实现

    1. 设备管理
    2. 文件管理
    3. 进程控制
    4. 进程通信
    5. 内存管理

    凡是与共享资源有关的操作、会直接影响到其他进程的操作,就一定需要操作系统的介入,就需要通过操作系统调用来实现

  4. 系统调用的过程

    1. 传参
    2. 陷入指令/Trap/访管
    3. 由操作系统内核程序处理系统调用请求
    4. 返回应用程序

相关文章:

25考研操作系统复习·1.1/1.2/1.3 操作系统的基本概念/发展历程/运行环境

目录 操作系统的基本概念 概念(定义) 功能和目标 资源的管理者 向上层提供服务 给普通用户的 给软件/程序员的 对硬件机器的拓展 操作系统的特征 操作系统的发展历程 操作系统的运行环境 操作系统的运行机制 中断和异常 中断的作用 中断的…...

如何培养学生的创新意识和实践能力

培养学生的创新意识和实践能力是一个复杂而系统的过程,涉及多个方面的努力和措施。以下是一些具体的做法: 一、培养学生的创新意识 提供创新环境: 为学生创造一个开放、自由、支持创新的学习环境,让他们能够自由地表达自己的想法…...

四、GD32 MCU 常见外设介绍(15)CAN 模块介绍

CAN是控制器局域网络(Controller Area Network)的简称,它是由研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。 CAN总线协议已经成为汽车计算机控…...

AIGC大模型产品经理高频面试大揭秘‼️

近期有十几个学生在面试大模型产品经理(薪资还可以,详情见下图),根据他们面试(包括1-4面)中出现高频大于3次的问题汇总如下,一共32道题目(有答案)。 29.讲讲T5和Bart的区…...

【嵌入式笔记】【C语言】struct union

结构体(Struct)定义: struct 结构体名 {member1; // 成员1,可以是任何基本数据类型或复合类型member2; // 成员2... };//例如: struct Point {float x;float y;...

【初学人工智能原理】【9】深度学习:神奇的DeepLearning

前言 本文教程均来自b站【小白也能听懂的人工智能原理】,感兴趣的可自行到b站观看。 代码及工具箱 本专栏的代码和工具函数已经上传到GitHub:1571859588/xiaobai_AI: 零基础入门人工智能 (github.com),可以找到对应课程的代码 正文 深度…...

[RoarCTF 2019]Easy Calc1

打开题目 查看源码,看到 看到源代码有 calc.php,构造url打开 看到php审计代码, 由于页面中无法上传num,则输入 num,在num前加入一个空格可以让num变得可以上传,而且在进行代码解析时,php会把前…...

安卓APK安装包arm64-v8a、armeabi-v7a、x86、x86_64有何区别?如何选择?

在GitHub网站下载Android 安装包,Actions资源下的APK文件通常有以下版本供选择: 例如上图是某Android客户端的安装包文件,有以下几个版本可以选择: mobile-release.apk(通用版本,体积最大)mobi…...

【AI大模型】通义千问:开启语言模型新篇章与Function Call技术的应用探索

文章目录 前言一、大语言模型1.大模型介绍2.大模型的发展历程3.大模型的分类a.按内容分类b.按应用分类 二、通义千问1.通义千问模型介绍a.通义千问模型介绍b.应用场景c.模型概览 2.对话a.对话的两种方式通义千问API的使用 b.单轮对话Vue页面代码:Django接口代码 c.多…...

详细教程 MySQL 数据库 下载 安装 连接 环境配置 全面

数据库就是储存和管理数据的仓库,对数据进行增删改查操作,其本质是一个软件。 首先数据有两种,一种是关系型数据库,另一种是非关系型数据库。 关系型数据库是以表的形式来存储数据,表和表之间可以有很多复杂的关系&a…...

门控循环单元GRU

目录 一、GRU提出的背景:1.RNN存在的问题:2.GRU的思想: 二、更新门和重置门:三、GRU网络架构:1.更新门和重置门如何发挥作用:1.1候选隐藏状态H~t:1.2隐藏状态Ht: 2.GRU: 四、底层源码…...

程序员修炼之路

成为一名优秀的程序员,需要广泛而深入地学习多个领域的知识。这些课程不仅帮助建立扎实的编程基础,还培养了问题解决、算法设计、系统思维等多方面的能力。以下是一些核心的必修课: 计算机基础 计算机组成原理:理解计算机的硬件组…...

PHP时间相关函数

时间、日期 time()获取当前时间戳(10位)microtime(true)返回一个浮点时间戳data(格式,时间戳)日期格式化 $time time(); echo date(Y-m-d H:i:s, $time);strtotime&am…...

python进阶——python面向对象

前言 Python是一种面向对象的编程语言,可在Python中使用类和对象来组织和封装代码。面向对象编程(OOP)是一种编程范例,它将数据和操作数据的方法封装在一个对象内部,通过对象之间的交互来实现程序的功能。 1、面向对象…...

【无标题】vue2鼠标悬停(hover)时切换图片

在Vue 2中,要实现鼠标悬停(hover)时切换图片的功能,你不能直接在模板的:src绑定中处理这个逻辑,因为Vue的模板不支持条件渲染的复杂逻辑(如基于鼠标状态的动态图片切换)。但是,你可以…...

每天一个数据分析题(四百五十九)- 分析法

故障树分析法经常与哪些方法联合使用? A. 头脑风暴法 B. 五问法 C. 配对法 D. 引力法 数据分析认证考试介绍:点击进入 题目来源于CDA模拟题库 点击此处获取答案 数据分析专项练习题库 内容涵盖Python,SQL,统计学&#xf…...

英语:十、助动词和情态动词

1、助动词 (1)助动词be a、助动词be人称、数及时态的变化 be在作助动词时,也和系动词一样,有人称、数及时态的变化。 人称 数 现在时态 过去时态 现在分词 过去分词 第一人称 单数 am was being been 复数 are w…...

DB2-Db2DefaultValueConverter

提示:Db2DefaultValueConverter 类的核心作用是在 Debezium 数据库连接器中处理 IBM DB2 数据库表列的默认值。当 Debezium 监控 DB2 数据库的更改时,它需要能够正确地理解和表示数据库表中列的默认值,尤其是在没有明确值的情况下插入新行时。…...

(自适应手机端)行业协会机构网站模板

(自适应手机端)行业协会机构网站模板PbootCMS内核开发的网站模板,该模板适用于行业协会网站等企业,当然其他行业也可以做,只需要把文字图片换成其他行业的即可;自适应手机端,同一个后台,数据即时同步&#…...

视频理解调研笔记 | 2021年前视频动作分类发展脉络

前言 参考资料 本文基于以下四个李沐 AI 论文精度视频,对视频理解领域做初步调研 双流网络论文逐段精读 I3D 论文精读 视频理解论文串讲(上) 视频理解论文串讲(下) 相关论文 02014CVPRDeep VideoPDF12014NIPSTwo-Str…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...

Vue 3 + WebSocket 实战:公司通知实时推送功能详解

📢 Vue 3 WebSocket 实战:公司通知实时推送功能详解 📌 收藏 点赞 关注,项目中要用到推送功能时就不怕找不到了! 实时通知是企业系统中常见的功能,比如:管理员发布通知后,所有用户…...

边缘计算网关提升水产养殖尾水处理的远程运维效率

一、项目背景 随着水产养殖行业的快速发展,养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下,而且难以实现精准监控和管理。为了提升尾水处理的效果和效率,同时降低人力成本,某大型水产养殖企业决定…...

大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程

基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程 下载安装Docker Docker官网:https://www.docker.com/ 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MyS…...