操作系统概述
- 操作系统是控制软件,管理应用程序;为应用程序提供服务(IO、声卡、网卡 服务);杀死应用程序
- 完成三类抽象
进程的抽象提高了CPU利用率的问题,文件的抽象提供持久化存储介质的数据资源的访问的便利性,地址空间解决了物理内存的利用率。
- 内核是重点 包括cpu调度器(进程 线程相关) 物理内存管理 虚拟内存管理 文件管理系统 中断处理和设备驱动
- kernel 的特征 : 1.并发 一段时间内多个程序同时运行 一个时间点上多个程序同时运行叫并行 2.共享 实现互斥访问,同一个时间点一个资源只有一个用户可以访问到 3.虚拟 硬件虚拟化 如上图中所说的三个抽象 4.异步 程序的运行并非一贯到底,而是走走停停,向前推进的速度不可知。
- 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)。同步,就是调用某个东西是,调用方得等待这个调用返回结果才能继续往后执行。异步调用方不会立刻得到结果,而是在调用发出后调用者可用继续执行后续操作,被调用者通过状体来通知调用者,或者通过回掉函数来处理这个调用
OS与程序和外设进行交互 面向外设 叫IO、中断 面向应用程序 叫系统调用、异常
- 系统调用 system call 应用程序主动向操作系统发出服务请求 异步或同步
- 异常 非法指令或者其他坏的处理状态(内存出错) exception 应用程序意想不到的行为 同步
- 中断 来源于外设 interrupt eg. keyboard mouse 来自不同的硬件设备的计时器和网络中断 异步事件 对用户透明
应用程序不直接访问外设、硬件,OS提供统一接口
- 函数调用 在一个栈内完成参数传递和结果返回 系统调用需要内核态和用户态的切换,执行需要堆栈的切换
连续内存分配
- 分配策略 首次分配 按地址排序的空闲块分配 最优适配算法 按尺寸排序的空闲块列表 找到最小的可用空闲块 最差适配算法 按尺寸排列的空闲块列表 找到最大的可用块 容易产生外部碎片 分配单元间的未使用内存 内存利用率低
- 对产生的碎片处理 压缩式碎片整理 “里面的往里走走” 开销 频繁进行内存拷贝 ; 交换式碎片整理 运行的程序需要更多的内存,将等待的程序内存回收
非连续内存分配
分段 分页 由硬件实现
虚拟内存
- 程序规模增长远快于存储器容量的增长速度
- 基于局部性原理:局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。
分类:
OS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」