操作系统4小时速成:复习内存管理,内部碎片和外部碎片,页式存储管理,段式存储管理,段页式存储管理,虚拟内存,页面置换算法,LRU内存替换算法
2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
考网警特招必然要考操作系统,计算机网络,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
操作系统系列文章:
【1】操作系统4小时速成:操作系统的基本概念,它是系统软件,管理处理机、存储器、io设备、文件,并发和共享是最基本特征,还有虚拟和异步
【2】操作系统4小时速成:操作系统发展和分类,运行环境:运行机制和内核,用户态非特权,核心态特权,中断技术,访管指令
【3】操作系统4小时速成:进程管理占考试40%,进程状态,组织,通信,线程拥有调度,进程拥有资源,进程和线程的区别
【4】操作系统4小时速成:处理机调度,调度方法,调度准则,典型的调度算法,响应比
【5】操作系统4小时速成:进程同步,临界资源,互斥,信号量的作用,死锁产生的四个条件,安全状态,银行家算法
【6】操作系统4小时速成:进程管理复习重点,进程,线程,处理机调度,进程同步,死锁
【7】操作系统4小时速成:内存管理,程序执行过程,扩充内存,连续分配,非连续分配,虚拟内存,页面替换算法
操作系统:内存管理的复习,你也可以看上面文章7即可
分配和回收——Python和java都有自动回收机制
外存——内存——运行
数据,存储空间,都需要调入内存,就绪队列
等待cpu来运行
比如Python,要运行
先编译
再链接函数库
装入内存去运行
扩展技术
覆盖交换
虚拟存储
打了一些就放不了
看起来空间就很大了
多道程序综合大,我们分,不同的进程放活跃的,其余的按调用关系分段先放外存,一个个放进来运行
你别换的时候,内存空了,这种速度不行
连续分配+非连续分配
单一一道程序
但是往往都是多道
固定块——有点大
哈希表map搞定
反正连续区,固定区,都会有内部碎片,无外部
要多少给多少——但还是连续的
可变动态——外部随便,内部倒是没有
跟上面固定的恰好相反
小个没法用
就用1就行我觉得
啥也别多说
页就是说块固定,但是很小很小的块,我们尽量多用
不必搞很大的分区块,导致严重浪费
这种分页小块内部小碎片来说,很小——可忽略不计
页号——标记芯片cs的
便宜量w——标记时机存储地址的
页表项:页号P+物理内存块号
地址:页号+业内偏移量w
物理内存块号+业内偏移量w=物理地址
这好说
就是哈希表对应关系
学过算法的人都知道
我们要的不是页号,而是物理内存块号,懂吧
从计算机的角度,分页
用户呢??
从程序员的角度思考——其实也是一种大页的方式
也跟页表很相似
段表
段【内页】
俩表
段表
页表
分页是最后一块是1/2内部碎片
LRU内存替换算法,就是典型的时间局部性
这就是空间局部性——先放一点运行,其他放外面,里面暂停的掉出去
理想的不一定可以搞定
缺页次-不需要置换,原始3次
每次都要排序,把最近访问的放链表末尾
最久没访问的自动放到head
每个方法都可能有抖动
块多分配点,否则抖动很严重
总结
提示:重要经验:
1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。