操作系统原理
操作系统原理#
什么是操作系统#
多进程结构是操作系统的基本图谱
- 对应 CPU 和 内存
文件操作视图也是操作系统的基本图谱
- 对应 IO ,磁盘 ,文件
进程与线程#
进程的协作 和信号量
负号 表示 有几个被阻塞,p表示测试需要睡眠,v表示需要增加
内存管理#
进程的地址#
CPU在取指的时候,需要把逻辑地址变成物理地址,基地址放在PCB是在每次载入内存改变的。
分段和段表(LDT)#
程序被载入内存时,是被分段载入的。
为进程的所有段建立了一个段表,用来找到物理地址
内存分区和分页#
把分段进程装入内存需要在内存进行分区,为了解决内存分区产生的 内存碎片,引出了 分页
分页
把物理内存进行 分页 分,分成一页一页。把段打散装进每一页。 每一个进程形成一个页表
多级页表和快表#
页太小,会导致页表太大。
解决: 提供多级页表和快表。
段页结合---虚拟内存#
段面向用户,页面向硬件。
内存换入与换出#
虚拟内存比物理内存大 ,就需要内存换入与换出。
IO和外设#
都是三点:
- CPU发送指令(读或者写)到外设
- 外设发送中断指令
- 同一的文件视图接口(open ,write , read ,close)
磁盘#
生磁盘#
即CPU直接操作磁盘
文件到熟磁盘#
即os建立了一个中间映射,映射了从文件字符流到磁盘的盘块号
目录和文件系统#
将整个磁盘通过os抽象成为一个 树(即文件系统)
作者:Esofar
出处:https://www.cnblogs.com/firsthelloworld/p/13554849.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!