os八股学习笔记

26.2.20

1.程序的内存分配情况

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

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

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

3.常见内存分配错误

a.内存分配不成功

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

c.访问越界

d.内存忘记释放

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

4.关于共享的知识

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

5.死锁的解决方法

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

在不同阶段解决死锁

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

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

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

7.外部碎片和内部碎片

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

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

相关推荐
一隅论数智16 小时前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
XiHongShi201617 小时前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
爱吃苹果的日记本17 小时前
离散数学第六课
学习·离散数学
AI职业加油站19 小时前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
深圳老胡19 小时前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
旖旎夜光19 小时前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
奇思妙想聪明勤奋的小羊19 小时前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
Because_of_Her119 小时前
并查集-听课笔记
笔记·算法·并查集
霍霍的袁19 小时前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio