计算机操作系统(三) 操作系统的特性、运行环境与核心功能(附带图谱更好对比理解))

计算机操作系统(三) 操作系统的特性、运行环境与核心功能

  • 前言
  • 一、操作系统的基本特性
    • 1.1 并发
    • 1.2 共享
    • 1.3 虚拟
    • 1.4 异步
  • 二、操作系统的运行环境
    • 2.1 硬件支持
    • 2.2 操作系统内核
    • 2.3 处理机的双重工作模式
    • 2.4 中断与异常
  • 三、操作系统的主要功能
    • 3.1 处理机的管理功能
    • 3.2 存储器的管理功能
    • 3.3 设备管理功能
    • 3.4 文件管理功能
    • 3.5 接口管理功能
    • 3.6 现代操作系统的新功能
  • 总结(核心概念速记)
        • **核心概念速记**
        • **操作系统特性对比**
        • **知识图谱**
        • **重点提炼**
        • **处理机模式对比**
        • **功能模块与硬件映射**


前言

  • 在上一篇博客中,我们深入探讨了 操作系统的基本概念与发展历程,包括其 定义、目标和演进阶段
  • 本篇博客将聚焦于 操作系统的四大特性、运行环境及核心功能,结合并发 / 共享 / 虚拟 / 异步的底层逻辑,解析操作系统如何协调硬件资源与软件程序的交互。
  • 这些内容是操作系统课程的核心考点,也是理解进程管理、内存管理等后续章节的基础。

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的操作系统博客专栏
https://blog.csdn.net/2402_83322742/category_12916780.html?spm=1001.2014.3001.5482


一、操作系统的基本特性

在这里插入图片描述

1.1 并发

  • 并发是指在一段时间内,宏观上有多个程序同时运行
  • 但在单处理机系统中,微观上同一时刻其实只有一个程序在执行,操作系统通过快速地在多个程序之间切换,让我们感觉这些程序好像是同时运行的
  • 比如我们一边听歌一边浏览网页,音乐播放器程序和浏览器程序看起来是同时工作的,这就是并发的体现。操作系统通过合理地调度,保证每个程序都能在合适的时间得到运行机会,从而提高系统资源的利用率。
    在这里插入图片描述

1.2 共享

  • 共享是指系统中的资源(如内存、CPU、文件等)可以被多个并发执行的程序共同使用。
  • 但共享方式分为两种:互斥共享和同时访问。
    • 互斥共享资源一次只能被一个进程使用,比如打印机,在某一时刻只能被一个程序占用进行打印任务;而同时访问资源可以被多个进程同时访问,比如硬盘上的文件,多个进程可以同时读取文件内容。

操作系统需要对资源的共享进行管理,防止出现资源冲突和数据不一致的情况。

1.3 虚拟

  • 虚拟是指操作系统通过某种技术将一个物理实体变为若干个逻辑上的对应物。
  • 例如,虚拟处理器技术可以让一个 CPU 虚拟出多个逻辑 CPU,使得多个程序可以同时运行,好像每个程序都有自己独立的 CPU 一样;虚拟内存技术则可以将一部分硬盘空间当作内存来使用,扩大了程序可使用的内存空间。通过虚拟技术,操作系统可以提高系统资源的利用率,让用户感觉系统拥有更多的资源。

1.4 异步

  • 异步是指在多道程序环境下,由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进。
  • 比如一个进程在等待输入输出操作完成时,CPU 会转而执行其他进程,当输入输出操作完成后,该进程才会继续执行。

这就导致了进程的执行顺序和执行时间是不确定的,操作系统需要对进程的异步执行进行管理,确保系统的稳定性和正确性

二、操作系统的运行环境

在这里插入图片描述

2.1 硬件支持

操作系统的运行离不开硬件的支持主要的硬件设备包括 CPU、内存、硬盘、输入输出设备等

  • CPU 是计算机的核心,负责执行指令;内存用于存储正在运行的程序和数据;硬盘用于长期存储数据和程序;输入输出设备则用于实现人与计算机之间的交互。操作系统需要对这些硬件设备进行管理和控制,使得它们能够协调工作。

2.2 操作系统内核

在这里插入图片描述

  • 内核是操作系统的核心部分,它运行在系统的最高特权级别,负责管理系统的各种资源和提供基本的服务。
  • 内核主要包括进程管理、内存管理、设备管理等功能模块。

它是操作系统与硬件之间的接口,向上层应用程序提供了统一的服务接口,使得应用程序可以方便地使用系统资源。

2.3 处理机的双重工作模式

在这里插入图片描述

  • 处理机(CPU)通常有两种工作模式:用户态和核心态
  • 用户态下,处理机只能执行非特权指令,如普通的算术运算和逻辑运算指令;
  • 而在核心态下,处理机可以执行所有的指令,包括特权指令,如内存管理指令和设备控制指令等。

操作系统通过设置程序状态字(PSW)中的相关标志位来切换处理机的工作模式,当用户程序需要执行特权操作时,会通过系统调用陷入核心态,由操作系统内核来完成相应的操作。

2.4 中断与异常

  • 中断是指 CPU 收到来自硬件或软件的信号,暂停当前正在执行的程序,转而去处理相应的事件,处理完毕后再返回原来的程序继续执行。
  • 中断可以分为外部中断(如键盘输入、定时器中断等)和内部中断(如除法运算溢出等)。
  • 异常则是指由于 CPU 执行指令时出现的错误或特殊情况,如非法指令、内存访问越界等。
  • 中断和异常是操作系统实现多道程序设计和实时响应的重要机制,它们使得操作系统能够及时地处理各种事件,保证系统的正常运行。

三、操作系统的主要功能

在这里插入图片描述

3.1 处理机的管理功能

处理机管理主要包括进程管理和线程管理。

  • 进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位。
  • 操作系统需要对进程的创建、撤销、调度等进行管理,以提高 CPU 的利用率。
  • 线程是进程中的一个执行单元,是系统进行调度的基本单位。
  • 引入线程可以减少进程切换的开销,提高程序的执行效率。
  • 处理机管理还包括进程同步和互斥,以解决多个进程之间的资源竞争和数据共享问题

3.2 存储器的管理功能

  • 存储器管理主要负责内存的分配、回收和保护。
  • 操作系统需要将内存空间合理地分配给各个进程,当进程结束时及时回收内存,以提高内存的利用率。

同时,为了保证进程之间的内存空间不相互干扰,操作系统还需要对内存进行保护。存储器管理还包括虚拟内存技术,通过将一部分硬盘空间当作内存来使用,扩大了程序可使用的内存空间,提高了系统的性能
在这里插入图片描述

3.3 设备管理功能

  • 设备管理负责对计算机的外部设备进行管理,包括设备的分配、回收、控制和驱动等
  • 操作系统需要为设备分配相应的资源,如通道、控制器等,以保证设备能够正常工作。

同时,为了提高设备的利用率,操作系统还采用了缓冲技术、设备独立性技术等。

  • 设备管理还包括设备的中断处理和错误处理,以保证设备的可靠性和稳定性

3.4 文件管理功能

  • 文件管理负责对计算机中的文件进行管理包括文件的创建、删除、读写、存储等
  • 操作系统需要为文件分配存储空间,建立文件的目录结构,以方便用户对文件的访问和管理。文件管理还包括文件的保护和共享,以保证文件的安全性和可靠性。
  • 同时,为了提高文件的访问速度,操作系统还采用了文件索引技术、文件缓存技术等
    在这里插入图片描述

3.5 接口管理功能

  • 接口管理主要包括用户接口和程序接口。
  • 用户接口是用户与操作系统之间的接口,用户可以通过命令行界面、图形用户界面等方式与操作系统进行交互。
  • 程序接口是应用程序与操作系统之间的接口,应用程序可以通过系统调用的方式来使用操作系统提供的服务。

接口管理使得用户和应用程序可以方便地使用操作系统的功能,提高了系统的易用性和可扩展性。

3.6 现代操作系统的新功能

在这里插入图片描述

  • 随着计算机技术的不断发展,现代操作系统还增加了一些新的功能,如网络管理、分布式处理、多媒体支持等。
  • 网络管理负责对计算机网络进行管理,包括网络连接的建立、数据传输的控制等;分布式处理则是将多个计算机节点组成一个分布式系统,共同完成一个任务,提高了系统的处理能力和可靠性;

多媒体支持则是为了满足用户对音频、视频等多媒体数据的处理和播放需求,提供了相应的功能和接口。

总结(核心概念速记)

核心概念速记

操作系统 = 四大特性 + 双重运行模式 + 五大管理功能

  • 四大特性
    • 并发(宏观并行,微观串行)→ 共享(互斥/同时访问)→ 虚拟(逻辑抽象物理资源)→ 异步(进程走走停停)。
  • 运行环境
    • 用户态/核心态隔离,中断/异常驱动系统调度,内核掌管资源管理。
  • 核心功能
    • 处理机管理(进程/线程调度)→ 内存管理(分配/保护/虚拟内存)→ 设备管理(缓冲/独立性)→ 文件管理(目录/索引)→ 接口管理(系统调用/UI)。
操作系统特性对比
特性定义实现技术典型场景
并发宏观多程序同时运行时间分片、进程切换边听歌边上网
共享资源复用互斥锁、文件锁多个进程读写同一文件
虚拟物理资源逻辑化虚拟内存、虚拟CPU4GB内存运行8GB程序
异步进程执行不可预测中断驱动、事件队列网络请求随机到达
知识图谱
操作系统(三) 特性、环境与功能  
├─ 四大特性  
│  ├─ 并发(时间片轮转)  
│  ├─ 共享(互斥/同时)  
│  ├─ 虚拟(内存/CPU抽象)  
│  └─ 异步(中断驱动)  
├─ 运行环境  
│  ├─ 硬件(CPU/内存/IO)  
│  ├─ 内核(进程/内存/设备管理)  
│  ├─ 双模式(用户态→核心态)  
│  └─ 中断/异常(系统调用触发)  
├─ 核心功能  
│  ├─ 处理机管理(PCB/调度算法)  
│  ├─ 内存管理(分区/Paging)  
│  ├─ 设备管理(I/O控制块)  
│  ├─ 文件管理(inode/目录树)  
│  └─ 接口管理(syscall/GUI)  
└─ 关键术语  ├─ 进程 vs 线程、用户态 vs 核心态  ├─ 中断向量表、系统调用号  └─ 缓冲技术、设备独立性  
重点提炼
  1. 特性核心

    • 并发与共享是操作系统的最基本特征,虚拟提升资源利用率,异步带来不确定性(需通过同步机制解决)。
  2. 运行模式关键

    • 用户态→核心态通过系统调用中断触发,特权指令只能在核心态执行(如int 0x80)。
  3. 功能模块逻辑

    • 处理机管理是操作系统的“调度中心”,内存管理是“数据枢纽”,设备管理是“硬件接口”,文件管理是“数据仓库”。
  4. 技术演进趋势

    • 单任务多任务,从集中式内核微内核,从本地资源管理分布式资源协同
处理机模式对比
模式权限可执行指令典型场景
用户态非特权级算术/逻辑指令应用程序运行
核心态特权级内存管理/设备控制指令系统调用、中断处理
功能模块与硬件映射
功能模块 —— 处理机管理 → 内存管理 → 设备管理 → 文件管理  ↓          ↓           ↓           ↓  
硬件映射 —— CPU        RAM        硬盘/外设   磁盘文件系统  

以上就是对本次关于操作系统博客内容的总结,后续我们将深入探讨操作系统更多知识。

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的操作系统博客专栏
https://blog.csdn.net/2402_83322742/category_12916780.html?spm=1001.2014.3001.5482

非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37826.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s搭建kube-prometheus

后续再补一个k8s集群搭建的博客,从0开始搭建k8s集群。使用kube-prometheus非常方便,主要问题只在于拉取镜像。除了拉取镜像外其他时间5分钟即可。耐心等待拉取镜像。 一.kube-prometheus简介 kube-prometheus 是一个专为 Kubernetes 设计的开源监控解决…

QT网页显示的几种方法及对比

一.直接跳转打开网页 1.使用QDesktopServices::openUrl调用系统浏览器 原理:直接调用操作系统默认浏览器打开指定URL,不在应用程序内嵌入网页。 优点: 实现简单,无需额外模块或依赖。 适用于仅需跳转外部浏览器的场景。 缺点&…

【Java SE】抽象类/方法、模板设计模式

目录 1.抽象类/方法 1.1 基本介绍 1.2 语法格式 1.3 使用细节 2. 模板设计模式(抽象类使用场景) 2.1 基本介绍 2.2 具体例子 1.抽象类/方法 1.1 基本介绍 ① 当父类的某些方法,需要声明,但是又不确定如何实现时&#xff…

Python数据可视化工具:六西格玛及其基础工具概览

在当今数据驱动的时代,数据分析和可视化工具成为了各行业优化流程、提升质量的关键手段。六西格玛(Six Sigma)作为一种以数据为基础、追求完美质量的管理理念,其实施依赖于一系列基础工具的灵活运用。而Python,凭借其强…

调试 Rust + WebAssembly 版康威生命游戏

1. 启用 Panic 日志 1.1 让 Panic 信息显示在浏览器控制台 如果 Rust 代码发生 panic!(),默认情况下不会在浏览器开发者工具中显示详细的错误信息。这使得排查问题变得困难。 我们可以使用 console_error_panic_hook 这个 Rust crate,将 Panic 信息打…

网络编程中客户端与服务器的搭建与协议包应用

1.客户端的搭建 2.服务器搭建 3.TCP中的粘包现象 tcp协议为了提高发送的效率,会将短时间连续发送的小数据,当做一组数据统一发送 原理是: tcp协议本身存在一个1500字节的缓存区,tcp协议每次write发送数据的时候,总是…

微博ip属地不发微博会不会变

随着社交媒体的普及,微博作为其中的佼佼者,一直备受关注。而且微博上线了显示用户IP属地的功能,这一功能旨在减少冒充热点事件当事人、恶意造谣、蹭流量等不良行为,确保传播内容的真实性和透明度。然而,这也引发了一些…

【初探数据结构】树与二叉树

💬 欢迎讨论:在阅读过程中有任何疑问,欢迎在评论区留言,我们一起交流学习! 👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏,并分享给更多对数据结构感…

Neo4j GDS(Graph Data Science)库安装(Mac版)

Neo4j GDS(Graph Data Science)库安装(Mac版) Neo4j GDS库安装(Mac版) Neo4j GDS(Graph Data Science)库安装(Mac版)前言GDS(Graph Data Science&…

DeepSeek 3FS 与 JuiceFS:架构与特性比较

近期,DeepSeek 开源了其文件系统 Fire-Flyer File System (3FS),使得文件系统这一有着 70 多年历时的“古老”的技术,又获得了各方的关注。在 AI 业务中,企业需要处理大量的文本、图像、视频等非结构化数据,还需要应对…

《南京日报》专题报道 | 耘瞳科技“工业之眼”加码“中国智造”

在江宁开发区,机器人已不再是科幻电影里的遥远想象,他们就像人类的“同事”,在工地上忙着贴砖、刷墙、搬运、检测; 在体育训练场上帮助运动员矫正姿势; 在医院里帮助医生发现帕金森早期征兆,在智慧工厂里…

SpringBoot最佳实践之 - 使用AOP记录操作日志

1. 前言 本篇博客是个人在工作中遇到的需求。针对此需求,开发了具体的实现代码。并不是普适的记录操作日志的方式。以阅读本篇博客的朋友,可以参考此篇博客中记录日志的方式,可能会对你有些许帮助和启发。 2. 需求描述 有一个后台管理系统…

投影算子(Projection Operator)的定义、性质、分类以及应用

文章目录 1. 投影算子的定义2. 投影算子的几何意义3. 一些简单的例子例 1:二维平面上的投影例 2:投影到一条任意方向的直线例 3:三维空间中投影到一个平面 4. 投影算子的性质4.1、幂等性(Idempotency): P 2…

VLAN综合实验报告

一、实验拓扑 网络拓扑结构包括三台交换机(LSW1、LSW2、LSW3)、一台路由器(AR1)以及六台PC(PC1-PC6)。交换机之间通过Trunk链路相连,交换机与PC、路由器通过Access或Hybrid链路连接。 二、实验…

coding ability 展开第五幕(二分查找算法)超详细!!!!

. . 文章目录 前言二分查找搜索插入的位置思路 x的平方根思路 山脉数组的峰顶索引思路 寻找旋转排序数组中的最小值思路 总结 前言 本专栏上篇博客已经把滑动指针收尾啦 现在还是想到核心——一段连续的区间,有时候加上哈希表用起来很爽 今天我们来学习新的算法知识…

文献阅读篇#2:YOLO改进类的文章如何高效进行文献阅读(对于初学者)

对于初学者来说,文献阅读是非常非常重要的一个学习方式,好的文献阅读方法会让学习的效率翻倍。我希望能够总结出一套比较有效的文献阅读方法,并通过记录的方法来找到不足和可改进之处 一、文献检索 对于初学者来说,应当先从中文…

数智读书笔记系列021《大数据医疗》:探索医疗行业的智能变革

一、书籍介绍 《大数据医疗》由徐曼、沈江、余海燕合著,由机械工业出版社出版 。徐曼是南开大学商学院副教授,在大数据驱动的智能决策研究领域颇有建树,尤其在大数据驱动的医疗与健康决策方面有着深入研究,曾获天津优秀博士论文、…

MarsCode AI实战:利用DeepSeek 快速搭建你的口语学习搭子

资料来源:火山引擎-开发者社区 成品抢先看! 自从MarsCode AI Chat模型全新升级,接入 Deepseek-R1、Deepseek-V3和豆包大模型1.5 三大模型,越来越多朋友注意到了AI编程能给我们带来的无限可能,也开始跃跃欲试想要尝试从…

Linux环境变量:深入解析与实用指南

目录 一、环境变量概述 二、环境变量的作用 三、环境变量的类型 3.1系统环境变量 3.2用户环境变量 四、环境变量的操作 4.1查看环境变量 4.2设置环境变量 4.3删除环境变量 五、环境变量的配置文件 六、环境变量的最佳实践 七、总结 环境变量是Linux系统中至关重要的…

C++20 线程协调类:从入门到精通

文章目录 1. 初识线程协调2. std::barrier:多线程同步的屏障2.1 核心函数2.2 示例代码2.3 高级用法2.4 适用场景 3. std::latch:一次性同步原语3.1 核心函数3.2 示例代码3.3 高级用法3.4 适用场景 4. std::counting_semaphore:可重用的同步原…