通用计算机有三层存储器:CPU寄存器,主存,辅存。
为了缓和各存储器之间处理速度的差异,在寄存器和主存之间加入了高速缓存,而在主存和辅存之间加入了磁盘缓存。
程序的装入和链接:编译(将用户源代码编译成目标模块)——链接(链接库函数)——形成完整的装入模块——装入(将模块装入内存)。
模块装入方式:
1)绝对装入方式:将目标模块装入到内存事先指定的位置。
2)可重定位装入方式:装入模块的逻辑地址和内存中的物理地址不同。所提供的是相对地址,装入内存之前确定绝对地址
3)运行态装入方式:装入内存中的地址仍然是相对地址,当程序执行时才转换为绝对地址。
程序的链接:
1)静态链接:程序在装入之前链接库函数,装入之后不可拆分。
2)装入时动态链接:边装入边链接。(便于更改更新,便于实现模块共享)
3)运行时链接:在程序执行中,需要该模块时才装入。(加快装入过程,节省内存空间)。
内存的分配方式:
一、连续分配方式。
1)单一连续分配(只能用于单用户单任务系统):划分为系统区和用户区
2)固定分区分配:(可运行多道程序):在内存用户中划分为多个固定大小的区域,每个分区只装入一道作业。而分区大小又可分为相同大小和不同大小