段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。
实存被等分成页。每个程序先按逻辑结构分段,每段再按照实存的页大小分页,程序按页进行调入和调出操作,但可按段进行编程、保护和共享。
在段页式虚拟存储系统中,每道程序均通过一个段表和多个页表进行两级再定位。段表中的每个表项对应一个段,每个表项有一个指针指向该段的页表。页表则指明该段各页在主存中的位置,以及是否已装入、是否已修改等状态信息。
一个虚地址由段号、段内页号和页内偏移量构成。在多任务系统中,操作系统还会在每个虚地址前面增加一个表明该程序在系统中的序号的基号。一个虚地址可以看作由四个字段构成:
(基号N) 段号S 段内逻辑页号P 页内地址偏移量D