os八股学习笔记

26.2.20

1.程序的内存分配情况

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

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

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

3.常见内存分配错误

a.内存分配不成功

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

c.访问越界

d.内存忘记释放

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

4.关于共享的知识

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

5.死锁的解决方法

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

在不同阶段解决死锁

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

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

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

7.外部碎片和内部碎片

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

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

相关推荐
Yeh2020581 小时前
2月14日笔记
笔记
不想看见4041 小时前
House Robber 基本动态规划:一维--力扣101算法题解笔记
笔记·算法·leetcode·代理模式
野犬寒鸦1 小时前
Java8 ConcurrentHashMap 深度解析(底层数据结构详解及方法执行流程)
java·开发语言·数据库·后端·学习·算法·哈希算法
郝学胜-神的一滴2 小时前
在Vibe Coding时代,学习设计模式与软件架构
人工智能·学习·设计模式·架构·软件工程
日光倾2 小时前
【Vue.js 入门笔记】Git入门
笔记·git
菩提小狗2 小时前
第16天:信息打点-CDN绕过&业务部署&漏洞回链&接口探针&全网扫描&反向邮件_笔记|小迪安全2023-2024|web安全|渗透测试|
笔记·安全·web安全
科技林总2 小时前
【系统分析师】9.5 容灾与业务持续
学习
宇木灵2 小时前
C语言基础-六、指针
c语言·开发语言·学习·算法
山岚的运维笔记2 小时前
SQL Server笔记 -- 第69章:时态表
数据库·笔记·后端·sql·microsoft·sqlserver