如何解析INFORMIX-ONLINE动态服务器多线索结构-创新互联
如何解析INFORMIX-ONLINE动态服务器多线索结构,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
成都创新互联公司服务项目包括市中网站建设、市中网站制作、市中网页制作以及市中网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,市中网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到市中省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!1.什么是线索?
一个线索可以被认为是程序中正在执行的一组指令的序列。当线索在同一实体中运行时则称为多线索。
2.单线索和多线索
一个通常没有实现线索的UNIX进程可被认为是一个单线索进程。在这样的进程中,只有一处指令序列执行,操作系统的责任是调度并执行该进程。
多线索是一种方法,使用这种方法,可以为不同的用户执行同一进程而不必在操作系统级形成多个进程。
多线索是一个系统级别的概念,在这里,程序实际执行机器指令操纵进程,使该进程可以为许多用户而不仅仅是单用户执行,程序完全在用户级别上这些指令,而不是在Unix核心级别。就Unix而言,这个多线索进程就像其他进程一样,是一单个进程。
3.虚处理器
组成数据库服务器的进程称之为虚拟处理器(virtual processor),每个虚拟处理器(VP)都属于一个虚拟处理器(VP类)。一个VP类是一组以线索形式完成指定工作的进程的集合,诸如写磁盘逻辑日志,或从磁盘读数据。这意味着属于某一特定的VP只能运行同类的线索。每个虚拟处理器(VP)类可以包含一个或多个VP,在大多数情况下,其个数可由online管理员配置。所有VP执行程序均为oninit。
4.运行一个线索
一个线索要么在一个指定的处理器上运行,要么在一系列中的某一队列中。就绪队列中保存了准备运行线索的上下文。
同类的虚拟处理器共享就绪队列,由此,一个线索在其生命期内可由不同的虚拟处理器调度运行。这种机制能平衡各处理器之间的负载,并能保证只要有可用处理器,就能运行线索。
5.online多线索结构的优点
做同样的工作只需少量的数据库服务进程。
多个数据库服务进程可为同一用户服务。
在数据库服务进程内部进行线索的上下文切换要比操作系统执行的快。
数据库服务器可以进行自行的线索调度策略。
很容易利用硬件厂商提供的某些调度特点。
6.虚处理器类
CPU 所有用户线索和一些系统线索可运行在这一类上,这些线索中不能有阻塞的系统调用。
PIO 运行写物理日志的内部线索。
LIO 运行写逻辑日志的内部线索。
AIO 运行除写日志外的所有磁盘I/O操作的内部线索。
ADT 运行安全审计线索。
6.客户/服务器连接
客户应用与数据库服务的连接可通过共享内存、sockets或ITL运行。
探询线索(poll)负责侦听客户应用新的连接请求。
侦听线索为用户设置一个称之为 会话数据块的数据结构。
一旦会话控制设置完成,sqlexec线索负责将online处理结果返回给应用程序,poll线索负责接受来自应用的消息。
7.VPs如何处理操作?
以一条select语句由数据库服务进程处理的过程为例
CPU类的虚拟处理器中的sqlexec线索(客户的主线索)将分析并优化select语句,它将读取缓冲区中符合条件的页。
如果sqlexec线索在缓冲区中找不到合适的页,它将把从磁盘读页的请求放进AIO vp队列。然后,sqlexec线索将控制转到就绪队列中的另一个线索,并将自己放到睡眠队列,,等待IO虚拟处理器磁盘请求。
AIO虚拟处理器从磁盘读数据也并放进缓冲区,当操作完成后,它唤醒sqlexec线索并使之重新回到就绪队列,由此可以继续select语句的执行。
online系统的每个chunk都有一个AIO请求队列。
看完上述内容,你们掌握如何解析INFORMIX-ONLINE动态服务器多线索结构的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联-成都网站建设公司行业资讯频道,感谢各位的阅读!
文章标题:如何解析INFORMIX-ONLINE动态服务器多线索结构-创新互联
URL网址:http://cdiso.cn/article/ceiodo.html