os八股学习笔记

26.2.20

1.程序的内存分配情况

从低到高:程序代码段、已初始化数据段、未初始化数据段、堆、文件映射、栈

2.程序从堆上动态分配内存,虚拟内存的操作

在页表上添加一个虚拟内存到物理内存的页表项。

3.常见内存分配错误

a.内存分配不成功

b.内存分配成功但未初始化就使用

c.访问越界

d.内存忘记释放

e.内存释放之后仍然使用

4.关于共享的知识

共享是指资源可以被多个进程使用,分成互斥共享和同时共享

5.死锁的解决方法

死锁检测和恢复、死锁预防、死锁避免

在不同阶段解决死锁

死锁的四个条件是互斥、请求和保持、不剥夺、循环等待

6.分段式存储和分页存储

分段存储按需分配但有外部碎片,分页存储是分的很完整但有内部碎片

7.外部碎片和内部碎片

外部碎片是指不能被进程分配的部分,因为过小造成的碎片,内部碎片是按照固定尺寸分但是没有被利用部分的碎片。

关于虚拟内存分配这里是用brk和mmap分配虚拟内存,移动指针,然后通过缺页处理等解决。

相关推荐
fake_ss1981 天前
AI时代学习全栈项目开发的新范式
java·人工智能·学习·架构·个人开发·学习方法
Upsy-Daisy1 天前
AI Agent 项目学习笔记(二):Spring AI 与 ChatClient 主链路解析
人工智能·笔记·学习
C+++Python1 天前
C++ 进阶学习完整指南
java·c++·学习
杨浦老苏1 天前
AI原生笔记应用Tolaria
笔记·ai·markdown·obsidian
中屹指纹浏览器1 天前
浏览器网络栈隔离技术研究:TCP/IP底层指纹生成与规避原理
经验分享·笔记
sulikey1 天前
个人Linux操作系统学习笔记2 - gcc与库的理解
linux·笔记·学习·操作系统·gcc·
南浦别a1 天前
第102天--时隔多日的书写
学习·程序人生
Jackyzhe1 天前
从零学习Kafka:消费者组重平衡
分布式·学习·kafka
吃好睡好便好1 天前
在Creo中如何把新建零件文件时的默认模板设置为公制单位
学习·3d·信息可视化
优橙教育1 天前
5G网络优化关键参数解读:从入门到实战
网络·学习·5g