机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器。
存储器的每个字节都由一个唯一的数字来标识,称为它的地址,所有可能地址的集合称为虚拟地址空间
异或:相同为0,不同为1
磁盘是广为应用的保存大量数据的存储设备,存储数据的数量级可以达到几百或者几千千兆字节,从磁盘上读信息的时间为毫秒级别。
固态硬盘SSD是一种基于闪存的存储技术。
各类缓存(CPU寄存器/L1/L2/L3等)
异常可以分为四类:中断、陷阱、故障、终止
进程的经典定义就是一个执行中的程序的实例。系统中的每个程序都是运行在某个进程的上下文中。进程为每个程序提供一种假象,好像它独占地使用系统地址空间。在一台n位地址的机器,地址空间是2的n次方可能地址的集合,一个进程为每个程序提供它自己的私有地址空间。
上下文切换:
1、保存当前进程的上下文
2、恢复某个先前被抢占的进程被保存的上下文
3、将控制传递给这个新恢复的进程
fork函数
当一个进程由于某种原因终止时,内核并不是立即把它从系统中清除,相反,进程被保持在一个已终止的状态中,直到被他的父进程回收。当父进程回收已终止的子进程时,内核将子进程的退出状态产地给父进程,然后抛弃已终止的进程,从此刻开始,该进程就不存在了。一个终止但未被回收的进程称为僵尸进程。
一个信号就是一条小消息,它通知进程系统中发生了一个某种类型的事件。
使用虚拟寻址时,CPU通过生成一个虚拟地址来访问主存,这个虚拟地址在被送到存储器之前先转换成适当的物理地址。CPU芯片上叫做存储器管理单元的专用硬件,利用存放在主存中的查询表来动态翻译虚拟地址,该表内容由操作系统管理。
动态存储分配器维护着一个进程的虚拟存储器区域,称为堆。程序使用动态存储器分配的最重要的原因是经常到程序实际运行时,它们才知道某些数据结构的大小。造成堆利用率很低的主要原因是一种称为碎片的现象,当虽然有未使用的存储器但不能用来满足分配请求时,就会发生这种现象。有两种形式的碎片:内部碎片和外部碎片。内部碎片是在一个已分配块比有效载荷大时发生的。外部碎片是当空闲存储器合计起来足够满足一个分配请求,但是没有一个单独的空闲块足够大可以来处理这个请求时发生的。
网友评论