[操作系统篇|学习笔记]初识操作系统

news2026/3/17 13:10:21
一.操作系统概念与功能1.1 定义操作系统Operating SystemOS是管理和控制计算机软硬件资源的系统软件是用户与计算机硬件之间的接口也是其他应用软件运行的基础。简单来说就是三点1.操作系统是系统资源的管理者。2.向上提供方便易用的服务。3.是最接近硬件的一层软件。1.2 功能1.2.1 人机交互1.2.2 资源管理1.处理机管理核心任务负责程序的启动、运行、切换、结束关键作用分配 CPU 时间让多个程序 “同时运行”2.存储器管理核心任务分配和回收内存空间关键作用保证程序互不干扰实现虚拟内存扩展3.文件管理核心任务负责文件的存储、读取、修改、删除、权限控制关键作用组织目录结构方便用户查找数据4.设备管理核心任务管理键盘、鼠标、显示器、硬盘、打印机等外设关键作用统一驱动接口让软件不用关心硬件细节1.2.3 资源抽象操作系统对底层物理硬件进行抽象隐藏硬件细节提供统一、简洁的逻辑接口把复杂的物理内存抽象为虚拟地址空间程序只需使用逻辑地址把杂乱的磁盘扇区抽象为文件与目录用户无需关心物理存储位置把不同厂商的硬件抽象为统一的系统调用接口让程序可跨硬件、可移植不用为每类硬件重写代码。二.操作系统的特征2.1 并发指宏观上同时运行微观上交替执行。单核CPU同一时刻只能执行一个程序各程序只能并发运行。多核CPU同一时刻可以同时执行多个程序多个程序可以并行地运行。区别并行是真・同时执行需要多核 CPU并发是交替执行。2.2 共享系统中的硬件 / 软件资源被多个并发执行的程序共同使用。并发和共享是最基础、互为依存的两大特征。2.3 虚拟2.4 异步进程以不可预知、走走停停的速度向前推进。进程会因等待资源暂停、获得资源再继续但只要运行环境相同操作系统能保证最终结果完全一致。三.操作系统的发展阶段时间核心特点手工操作阶段无 OS1940s–1950s 初无操作系统人工控制独占机器单道批处理 OS1950s 末自动批量执行内存仅一道程序多道批处理 OS1960s 初多道程序并发硬件利用率大幅提高分时 OS1960s 中时间片轮转多用户交互代表UNIX实时 OS1960s 末响应快、高可靠用于控制 / 金融通用 OS1970s–1980s融合批处理、分时、实时功能现代 OS1980s 至今桌面、移动、嵌入式、云原生等多元化四.操作系统的运行环境4.1 原理程序运行的过程其实就是CPU执行一条一条的机器指令的过程。4.2 内核4.2.1 定义操作系统的核心程序常驻内存是硬件与上层软件的中间层权限最高4.2.2 功能1.支撑功能功能核心作用中断处理内核最基础功能响应硬件 / 软件中断切换内核态处理 I/O、异常、系统调用时钟管理管理系统时钟提供时间片轮转、定时任务、系统计时支撑进程调度原语操作内核中不可中断的原子操作用于进程同步、资源分配、状态切换2.资源管理功能核心作用进程管理进程创建、调度、切换、通信、同步负责 CPU 资源分配存储器管理内存分配与回收、虚拟内存、地址映射、内存保护设备管理设备驱动、I/O 控制、设备分配、缓冲区管理4.3 处理机4.3.1 两种处理机状态对比项核心态管态 / 内核态用户态目态权限等级最高特权受限特权运行的程序操作系统内核程序用户应用程序可执行指令特权指令 非特权指令仅非特权指令可操作资源所有硬件、系统资源、内存、寄存器仅用户地址空间、普通运算进入方式系统调用、中断、异常陷入执行中断返回指令主要作用管理资源、控制硬件、处理系统级操作运行普通应用、完成用户任务内核态--用户态执行一条特权指令——修改PSW的标志为“用户态”这个动作意味着操作系统将主动让出CPU的使用权。用户态--内核态由“中断”引发硬件自动完成变态的过程触发中断信号意味着操作系统将强行夺回CPU的使用权。4.3.2 处理机状态切换流程图“变态”CPU的转换的过程是有成本的要消耗不少时间。频繁地“变态”会降低系统性能。4.4 中断与异常对比项中断外中断异常内中断来源CPU 外部硬件CPU 内部指令执行发生时机异步随机同步必定由某条指令触发与当前指令关系无关直接相关典型例子I/O 完成、时钟、键盘中断除零、缺页、系统调用、非法指令处理后回到原指令下一条继续执行可能重执行原指令或终止程序触发状态切换用户态 → 核心态用户态 → 核心态中断管外部让系统并发、高效、响应及时异常管内部让系统安全、稳定、支持用户请求内核服务4.5 生成与引导4.5.1 操作系统的生成阶段核心操作说明源码与配置内核源码 功能配置选择硬件支持、功能开关生成配置文件编译主内核编译核心代码生成内核主模块常驻内存编译模块编译可加载内核模块 (LKM)生成驱动、文件系统等.ko 模块文件链接与打包链接 压缩生成镜像生成 vmlinuz、bzImage 等可引导内核镜像生成辅助文件制作 initramfs/initrd临时根文件系统用于挂载真实根分区4.5.2 操作系统的引导阶段执行主体核心任务1. 上电自检 (POST)BIOS/UEFI硬件检测初始化硬件查找启动设备2. 加载引导程序BIOS/UEFI读取 MBR/GPT加载Boot Loader(GRUB)3. 加载内核Boot Loader加载内核镜像 initramfs解压启动内核4. 系统初始化内核挂载根文件系统启动 init/systemd进入用户态五.系统调用5.1 定义系统调用是用户程序请求操作系统内核服务的接口是用户态进入核心态的唯一合法途径本质属于异常。5.2 系统调用的过程5.3 系统调用 vs 普通函数调用对比项系统调用普通函数调用调用位置用户程序 → 操作系统内核用户程序 → 库函数 / 自身代码处理机状态用户态 → 核心态保持用户态实现方式触发陷入Trap异常直接跳转执行权限可执行特权指令仅能执行非特权指令速度较慢切换状态 内核处理较快5.4 作用1.为用户程序提供内核服务接口让应用程序能使用文件操作、进程管理、内存分配、I/O、网络等系统功能。2.实现用户态→核心态的合法切换是用户程序进入核心态、使用特权指令的唯一正规途径。3.保护系统安全与稳定禁止用户程序直接操作硬件、修改系统资源避免程序破坏操作系统。4.屏蔽底层硬件差异向上提供统一接口应用程序无需关心具体硬件细节可跨平台运行。5.支撑操作系统核心机制是实现多任务、并发、虚拟内存、设备管理等功能的基础。六.操作系统的体系结构体系结构类型核心思想优点缺点典型系统整体式宏内核所有 OS 功能集成在内核内核态直接调用效率高、实现简单、兼容性好耦合度高、稳定性差、易崩溃Linux、早期 UNIX、MS-DOS分层式结构功能分层仅上层调用下层服务结构清晰、易调试、故障隔离层间调用有开销、效率一般Multics、教学型 OS微内核结构内核仅保留基础功能服务在用户态通过消息通信稳定性强、安全、易扩展消息传递开销大、效率低MINIX、QNX、Mach混合内核结合宏内核效率 微内核稳定性兼顾效率与稳定、实用性强设计复杂、架构臃肿Windows NT、macOS(XNU)外核结构内核仅分配保护硬件应用直接管理硬件性能极致、灵活度高编程复杂、对应用不友好Exokernel、Aegis虚拟机结构虚拟机监视器抽象硬件运行多个独立 OS隔离性强、资源利用率高有虚拟化开销、配置复杂VMware、Hyper-V、KVM现代整体式宏内核的改进形态模块化宏内核内核 内核主模块 可加载内核模块LKM

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

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

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

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…