操作系统学习总结

OperatingSystems: Three Easy Pieces

Remzi H. Arpaci-DusseauAndrea C. Arpaci-Dusseau

这本书主要从虚拟化、并发、持久化三个方面进行对计算机操作系统的讲解。

1.进程-它被简单地看作是一个正在运行的程序。

进程的几种状态:运行,等待,堵塞。

进程的创建:通过调用进程API系统调用fork()/exec()/wait()来创建进程。

对进程的控制:基本技术:有限制的直接执行。用户模式与内核模式。

进程的切换:(1)等待系统调用;(2)操作系统控制:使用定时器中断重获控制。还有环境的保护与恢复。

Cpu的调度方法:

1)调度指标:周转时间、公平性、响应性能

2)常用的调度算法:

SJF(最短工作优先)、

STCF(最短完工时间)、

RR(循环调度算法、通过时间片来控制)、

MFLQ(多级反馈队列):通过优先级来实现调度,优化周转时间,具有一定的响应时间。

比例调度算法:使用随机性与票权来进行调度。

2.地址空间--物理内存抽象。

2.1 基本知识

堆栈-堆栈来跟踪函数调用链中的位置,以及分配局部变量和传递参数,并从例程返回值。

-堆用于动态分配的、用户管理的内存。

用户代码区

操作系统指令区。

2.2内存API

栈的自动内存。

堆的分配与回收。

一些内存API:

malloc()--用于堆中请求内存

free()--用于回收内存

calloc()分配内存,并在返回之前将其归零

realloc()也可以是有用的,当您为某个东西(比如一个数组)分配了空间,然后需要向它添加一些东西:realloc()创建一个新的更大的内存区域,将旧区域复制到它,并返回指向新区域的指针。

2.3地址转换

动态重定位技术--基础寄存器、边界寄存器。物理地址=虚拟地址+基数。

静态重定位技术--通过加载器与偏移量来定位。

2.4分割技术--解决内存浪费问题,段只是特定长度的地址空间的一个连续部分。在我们的规范--地址空间,我们有三个逻辑不同的段:代码、堆栈和堆。分割允许操作系统做的是将每个部分放置在物理内存的不同部分,从而避免使用未使用的虚拟地址空间填充物理内存。

2.5自由空间管理--分裂与合并,为了高效地利用地址空间。

管理策略:(1)最佳配合(2)最差适配3)首次适应4)下次适配

2.6分页技术--把空间切成固定大小的块。

分页比以前的方法(如分段)有许多优点。首先,它不会导致外部碎片,因为分页(通过设计)将内   存划分为固定大小的单元。其次,它是相当灵活的,允许稀疏地使用虚拟地址空间。      

VPN/PTE/PFN

2.7分页:转换后备缓冲器-TLBS(地址转换缓存)--加快地址转换

 

2.8分页:小表--使用更大的页面,减小内存空间的占用。

多层页面:您使用的地址空间的数量分配页表空间;因此,它通常是紧凑的,并且支持稀疏地址空间。

多级页表:PDE-PTE-PFN(页面索引、页表条目索引)

2.9超出物理内存:机制

交换空间:磁盘上预留一些空间来来回移动页面。

当前位:判断页面在不在物理内存中

页面错误:访问不属于物理内存的页面的行为通常被称为页面错误。

页面替换:访问不属于物理内存的页面时需要替换掉物理内存里的某些列表。-替换算法。

页面替换策略:缓存管理、最优替代策略\FIFO\随机\:LRU等。

3.0VAX/VMS虚拟内存系统。整体了解了内存系统的基本原理。内存管理硬件、真实的地址空间、页面置换:分段FiFO/页面聚类。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值