正确理解Informix的系统结构

豆豆网   技术应用频道   2007年09月14日  【字号: 收藏本文

内容摘要:动态服务器系统由三个主要组件构成:共享内存,进程和磁盘。共享内存包括三个段:驻留段。虚拟段和消息段。驻留段主要用作磁盘数据的缓存。虚拟段主要用作内存池以支持进程及相关的会话(session)和线索。当客户与服务器利用共享内存进行通信时,消息段将用作两者之间的消息缓冲区。

  INFORMIX动态服务器采用的是一种多线索体系结构,这就意味着一个进程利用自己的多个线索可以同时完成多个任务,因而整个系统只需要较少的进程就足以完成DBMS的任务。

  动态服务器系统由三个主要组件构成:共享内存,进程和磁盘。共享内存包括三个段:驻留段。虚拟段和消息段。驻留段主要用作磁盘数据的缓存。虚拟段主要用作内存池以支持进程及相关的会话(session)和线索。当客户与服务器利用共享内存进行通信时,消息段将用作两者之间的消息缓冲区。

  系统中还包括若干构成数据库服务器的UNIX进程,称为oninit.这些进程被称为虚拟处理器(VP)(virtual processors)。每一VP隶属于某一虚拟处理类。而每一虚拟处理器类都负责完成一类特定的任务。

  系统的磁盘组件由多个原始磁盘空间组成,称为chunk,chunk以页(page)为基本单位。多个chunk集合逻辑上构成了数据空间(dbspace)。数据空间用于存储数据库、表、系统信息以及物理日志和逻辑日志。一个数据空间至少包括一个chunk.

  共享内存段

  动态服务器的共享内存由三个段构成:

  驻留段主要用作缓冲池,内含逻辑日志和物理日志的缓冲区以及其他系统数据结构。驻留段的大小主要有系统参数BUFFERS决定。

  虚拟段主要用作内存池以支持会话和线索。根据用途的不同,内存池可以进一步分为:会话池、多线索池、字典池、存储过程池、排序池、大缓冲池以及全局池。内存池的分配和释放是动态进行的。内存池分配单位大小为8k。如果已有虚拟段耗尽,动态服务器可以根据onconfig参数再次动态申请。虚拟内存段的初始大小由参数SHMVIRTSIZE决定,其增量由参数SHMADD决定,但整个共享内存段的大小不能超过SHMTOTAL。

  如果客户与服务器利用共享内存进行通讯,消息段将用作通讯缓冲区。每一用户连接(利用共享内存进行通讯)大致占用12K空间。用户连接的数量在参数NETTYPE中定义。

责编:豆豆技术应用

正在加载评论...