动态服务器的系统结构
INFORMIX动态服务器采用的是一种多线索体系结构,这就意味着一个进程利用自己的多个线索可以同时完成多个任务,因而整个系统只需要较少的进程就足以完成DBMS的任务。
动态服务器系统由三个主要组件构成:共享内存,进程和磁盘。共享内存包括三个段:驻留段。虚拟段和消息段。驻留段主要用作磁盘数据的缓存。虚拟段主要用作内存池以支持进程及相关的会话(session)和线索。当客户与服务器利用共享内存进行通信时,消息段将用作两者之间的消息缓冲区。
系统中还包括若干构成数据库服务器的UNIX进程,称为oninit.这些进程被称为虚拟处理器(VP)(virtual processors)。每一VP隶属于某一虚拟处理类。而每一虚拟处理器类都负责完成一类特定的任务。
系统的磁盘组件由多个原始磁盘空间组成,称为chunk,chunk以页(page)为基本单位。多个chunk集合逻辑上构成了数据空间(dbspace)。数据空间用于存储数据库、表、系统信息以及物理日志和逻辑日志。一个数据空间至少包括一个chunk.
共享内存段
动态服务器的共享内存由三个段构成:
用户可以利用ipcs或onstat -g seg 命令来监控共享内存段的状态。
虚拟处理器(Virtual Processors)
|
虚拟处理器类 | |
| oninit | cpu类: 运行所有用户线索和部分系统线索(所有线索的95%) |
| oninit | AIO类: 运行所有内部线索以执行I/O,日志写除外 |
| oninit | PIO类: 运行内部线索写物理日志 |
| oninit | LIO类: 运行内部线索写逻辑日志 |
| oninit | SHM类: 运行共享内存通讯线索 |
| oninit | TLI类: 运行内部TLI网络通讯线索 |
| oninit | SOC类: 运行内部Sockets网络通讯线索 |
| oninit | MSC类: 运行其它任务线索 |
| oninit | ADM类: 运行时钟 |
| oninit | OPT类: 负责管理BLOB将传至光盘子系统 |
| oninit | ADT类: 运行安全审计线索 |
数据库系统服务器由若干称为oninit的UNIX进程组成,在系统中这些进程被称为虚拟处理器(VP)。所有VP都是可执行程序oninit的实体。每一VP属于一种特定的虚拟处理器类,而不同的虚拟处理器类分别完成不同的任务。每一虚拟处理器可含的VP数量由下列参数决定:“
CPU NUMCPUVPS
AIO NUMAIOVPS
PIO 自动启动一个VP。如果物理日志被镜像,将启动两个VP
LIO 自动启动一个VP。如果逻辑日志被镜像,将启动两个VP
SHM NETTYPE
TLI NETTYPE
SOC NETTYPE
MSC 自动启动一个VP
ADM 自动启动一个VP
OPT STAGEBLOB被设置,然后自动启动一个VP
ADT ADTMODE被设置,然后自动启动一个VP
用户可以利用PS 或者onstat -g glo命令监控VP的状态