os八股学习笔记

26.2.20

1.程序的内存分配情况

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

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

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

3.常见内存分配错误

a.内存分配不成功

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

c.访问越界

d.内存忘记释放

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

4.关于共享的知识

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

5.死锁的解决方法

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

在不同阶段解决死锁

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

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

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

7.外部碎片和内部碎片

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

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

相关推荐
沐墨专攻技术14 小时前
一、项目初始化
笔记·学习
闫记康14 小时前
scp工具
linux·运维·服务器·学习·ssh·github
我命由我1234514 小时前
Git 问题:Author identity unknown*** Please tell me who you are.
java·服务器·git·后端·学习·java-ee·学习方法
G果14 小时前
LIO-SAM 学习总结
学习·slam·点云·ros2·导航·nav2·liosam
雾岛听蓝14 小时前
Linux文件系统:从硬件到软硬链接
linux·经验分享·笔记
HalvmånEver15 小时前
Linux:初始网络(上)
linux·网络·学习·通信
王夏奇15 小时前
python-pytest学习
python·学习·pytest
祁鱼鱼鱼鱼鱼15 小时前
Nginx源码编译及平滑升级及回滚
学习
AnalogElectronic15 小时前
云原生学习day1ubuntu安装docker,基础镜像打包
学习·docker·云原生
weixin_4588726115 小时前
东华复试OJ二刷复盘6
学习