os八股学习笔记

26.2.20

1.程序的内存分配情况

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

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

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

3.常见内存分配错误

a.内存分配不成功

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

c.访问越界

d.内存忘记释放

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

4.关于共享的知识

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

5.死锁的解决方法

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

在不同阶段解决死锁

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

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

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

7.外部碎片和内部碎片

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

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

相关推荐
数智工坊6 小时前
机器人运动控制:采样、优化与学习三大流派深度对比与实战
android·学习·机器人
ZC跨境爬虫6 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
MartinYeung59 小时前
[论文学习]隐私保护联邦特徵选择与差分隐私的的工程实践框架
学习
qeen879 小时前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习
m0_736034859 小时前
存储基础和虚拟化
笔记
Flandern111110 小时前
Pull Requests(PR)
学习·github·pr
nashane10 小时前
HarmonyOS 6学习:JsCrash“闪退”法医指南——从FaultLog堆栈还原崩溃现场的终极手册
学习·华为·harmonyos
for_ever_love__10 小时前
UI学习:UICollectionView瀑布流
学习·ui·ios·objective-c·cocoa
AOwhisky11 小时前
MySQL 学习笔记(第六期):MySQL 备份与恢复
运维·数据库·笔记·学习·mysql·云计算
_李小白11 小时前
【android opencv学习笔记】Day 32:直线检测之霍夫变换
android·opencv·学习