页面处理(共8篇)
页面处理 篇1
0 引言
Web Form网页是从过去的ASP网页派生出来的,因此,Web Form网页就是ASP.NET网页。ASP.NET是建立在.NET Frameworker的CLR(Commen Language Runtime)之上的新一代网络开发工具,开发的程序运行在由IIS支持的服务器上,由Web Form动态产生网页并将其打开在客户端(一般是浏览器)中。Web Form网页是ASP.NET Web应用程序的核心,是Web应用程序的主要设计内容
在ASP.NET中,每个Web页面都是从Page类继承而来的,即任何一个Web Form页面都是Page类的一个子类对象,它包含属性、方法和事件,用来控制页面的显示过程。同时它还是承载各种服务器控件的容器。Page子类与扩展名为.aspx的文件相关联,这些文件在运行的时候被编译为Page对象,并且缓存在服务器内存中。
和所有的服务器端进程一样,当ASPX页面被客户端请求时,页面的服务器端代码被执行,执行结果被送回到浏览器端。这一点和ASP并没有太大的不同。
但是,asp.net的架构为我们做了许多别的事情。比如,它会自动处理浏览器的表单提交,把各个表单域的输入值变成对象的属性,使得我们可以像访问对象属性那样来访问客户的输入。它还把客户的点击映射到不同的服务器端事件。了解WEB页面的处理过程很重要。这样你可以仔细地优化你的代码,提高代码的效率。下面我们将深入到ASP.NET的内部,介绍页面是怎样被处理的。
1 页面处理的内部过程
通常Web Form页面处理分为以下四个过程,每个过程会引发不同的事件和各自的事件处理程序。在所有的事件中,其事件处理函数一般都将传递两个参数:一个是发出事件Object类型的对象的参数,另一个通常是System.EventAge类型的参数,但也会有例外的情况,如ImageButton控件的第二个参数是ImageClickEventAge类型的参数,该参数返回的是用户单击时鼠标指针的坐标。
过程一:页面初始化阶段,对应触发Page-Init事件。
当需要创建一些服务器控件的实体并对它们进行初始化时,可以触发该事件并作相应的处理。该事件完成的是系统所需要的一些初始设置,开发者一般不能随意改变其中的内容。因此,在C#中,系统默认调用InitiaLizeComponent()函数完成初始化工作。
该事件只是在第一次载入页面时被调用,当从别的页面回退到该页面时,Page_Init事件并不会发生,被触发的是Page_Load事件。
因此在实际应用时,很多时候可以跳过Page_Init调用,直接进入Page_Load处理阶段。
过程二:用户初始化阶段,对应触发Page_load事件。
当服务器控件被加载到Page对象中时,发生Page_Load事件,即当每次加载页面,无论是初次浏览还是通过事件再次调用该页面,都会触发此事件。在该事件中,可以读取或者重置服务器控件的属性,访问页面的属性,还可以访问视图的状态信息。
在Page_Load事件处理程序中,经常用到Page对象的IsPostBack属性来判定页面是否是第一次被请求。该属性获取一个值,该值表示该Web页面是否因回发(PostBack)而加载,或者是因响应客户端首次访问而加载。如果是因为响应客户端的回发而加载,则该属性值为True;否则为False,即此页面为首次加载。这个属性很重要,通过它可以区分页面是首次访问还是后续的回发访问。
根据Page对象的IsPostBack属性来判定页面是第一次被请求,还是多次回发访问,从而决定在Page_Load事件处理程序中要执行的程序代码。
现在我们通过一个具体的例子,来详细讲述Page_load事件:
在这个文件中,我们设置了控件的属性。
过程三:事件处理阶段,对应触发开发人员定义的一些特殊事件。
这一阶段是Web用户访问网页时,浏览器会将窗体及控件呈现给用户,用户与窗体进行交互,并触发事件,如用户单击按钮、提交表单信息都会触发事件。服务器对事件进行处理的过程,实现了客户端与服务器端的动态交互。
服务器控件的事件处理模型和传统的基于客户端的网络程序的事件处理模型有很大差别。在传统的基于客户端的网络程序中,事件的产生和处理都是在客户端完成的;在服务器控件的模型中,事件产生于客户端,但处理却在服务器端。Web Form中的服务器控件事件处理模型要通过HTTP的post()方法将客户端发生的事件发送给服务器,服务器则判断什么事件将被触发,并执行相应的代码来处理该事件。
ASP.NET能够让程序设计人员自行设计某一事件相关联的事件处理程序。当事件被触发时,便运行与事件相关联的事件处理程序进行处理。
过程四:页面清理阶段,对应触发Page_UnLoad事件。
当服务器控件从内存中卸载时将发生Page_UnLoad事件,即当编译器运行完整个页面后,页面的全部内容被送往输出缓存(output catch),留在内存中的服务器控件或元素就要被加载,待所有的处理工作完成后,最后应用Page_UnLoad事件。通常在该事件处理函数中做一些清理工作,如删除一些创建的临时文件、关闭打开的文件、断开数据库的连接等,从而释放系统的一些资源。
2 页面重建
当Web服务器收到浏览器的请求时,它会找到相应的文件去执行,将执行后的结果转换为HTML文件,发送给浏览器后便断开连接。
服务器端每次处理完请求后,都将生成的结果携带状态参数一起送给客户端的浏览器,以便浏览器显示页面,在浏览器回送该页面时再次带回状态参数,以便服务器ASP.NET把页面状态封装在一个隐藏的输入域。
如果想对Web Form的页面处理过程有更深入的了解,请参阅其它资料。
摘要:本文主要是深入到ASP.NET的内部,介绍页面是怎样被处理的。对提高ASP.NET应用程序的开发速度和效率有着极其重要的作用。
关键词:Web Form ASP.NET,页面处理
参考文献
[1]张洪星.ASP.NET应用能力教程.中国铁道出版社,2006.
[2]徐谡.ASP.NET应用与开发案例教程.清华大学出版社,2005.
[3]徐红.ASP.NET应用技术案例教程.中国铁道出版社,2009.
[4]张德芬.ASP.NET动态网页设计.人民邮电出版社,2007.
页面处理 篇2
解决移动终端Web页面的自适应显示问题有3种基本方法, 即客户端的自适应、中间件或代理技术、服务器端的自适应。例如, 参考文献[1]提到的小屏幕设备浏览器是较为典型的客户端自适应技术。参考文献[2]提出了一个自动代理端自适应系统, 它使用机器学习和启发式方法对标准网页进行自适应调整。服务器端自适应指自适应引擎在服务器上, 处理移动设备的自适应时, 网页开发人员可以进行更多的控制[3], 能克服移动设备处理能力的不足, 获得更好的自适应效果。在国内, 参考文献[4]详细论述了移动终端Web页面显示中的重组技术;参考文献[5]则提出移动终端Web页面的分块处理策略。参考文献[6]从构建网站时网页开发的角度讨论网页的自动生成或自适应显示技术, 对移动终端Web页面的显示处理有借鉴意义。但这些都没有考虑移动Web用户体验至上的准则。为了对移动终端Web作自适应显示处理并满足用户个性化需求, 本文提出在服务器端构建Web页面优化处理系统。
1 系统概述
1.1 问题背景
使用移动终端访问Web的问题, 除设备及网络等影响响应和下载速度外, 主要包括页面外观 (如结构、布局和使用的项) 以及链接导航等与电脑网页不同, 这其实是设计问题, 一般由下列因素造成:
(1) 网站移动版本问题。对大多数网站来说, 专门制作的移动版本有页面结构不同、页面上项不同。为查找内容, 加长滚动条和导航, 通过多层级寻找内容项和链接, 造成用户混乱, 有时移动版与标准版的更新也不一致。
(2) 自适应或代码转换问题。经常发现移动设备网页是自适应或代码转换后的, 或浏览器自动调整了, 造成混乱的布局、内容和过多的导航。偶尔地, 网页内容也被设计者想当然地改变了。
1.2 系统需求
移动互联网问题虽多, 但前景光明。在移动终端上浏览时, 通常希望网页的内容和结构类似于桌面电脑。由此, 分析得出以下需求:
(1) 确保相似的页面结构分发给所有类型的移动终端设备。类似的页面结构和用户熟悉的导航路径易于导航查找感兴趣的内容项。
(2) 确保在所有设备上网页显示项及其位置的一致性。共同项或主要项在同一位置可以避免用户交换使用不同类型设备时产生混乱。
(3) 页面显示最少项和减少导航。仅显示用户要求的内容, 将减少页面大小, 从而减少滚屏和导航, 便于更快地找到感兴趣的内容。
(4) 支持用户在多个不同类型设备上的访问。用户有不同的设备及要求, 基于设备和需求选择显示的项, 将提高Web浏览的体验。
1.3 提出的系统方案
为满足系统需求, 本文提出一个服务器端的自适应系统, 通过设置页面上项的优先级对Web页面作自适应调整。它不改变整个页面结构, 但允许删除一些项。在服务器端处理自适应, 基于以下考虑:
(1) 对移动终端的自适应是自动完成的, 适合任何设备不指定浏览器。移动终端开始时不下载整个页面, 减少了数据传输;自适应不在本地处理, 减少了显示时间, 节省CPU时间, 并延长电池时间。
(2) 不需要在设备上安装专用浏览器, 也不需要代理服务器, 用户不必配置设备到代理的连接。
(3) 开发人员能够控制自适应, 因为网站页面和优化引擎系统部署在同一服务器上。
优先级自适应方法允许用户定制网页项的优先级, 即确定最终显示在设备上的网页项。用户为每个项设定优先级后 (1为最高优先级, 数大优先级低) , 低的优先级项被删去。什么设备, 显示什么, 按什么顺序显示, 用户以此决定项优先级, 并可以修改其偏好 (首选项) 。对有些网站, 开发人员设定默认优先级, 首次使用时提供给用户, 用户可以自行再定制。
1.4 系统简介
设置优先级是为了维护整个布局即网页项的父子 (层次或嵌套) 关系看起来与原始页相同, 保存页面整个外观。系统维护所有项及其层次关系, 并允许用户设定在不同设备上显示项的数目和顺序。
优先级系统的目标是按照每个项的优先级显示页面。用户能够给每个项设定一个优先级值。低优先级的项被移去, 留下的项重新排序以形成最后的页面。系统流程框图如图1所示。
(1) 检测设备和用户。页面项的优先级处理取决于用户的偏好以及用于访问页面的移动终端设备。优先级引擎应能够识别用户、设备以及请求的页面。
(2) 加载首选项 (偏好) 。对于一个页面的每个浏览器会话, 依据请求该页的设备类型, 优先级引擎将加载用户的首选项。用户分为两类:非注册用户/匿名用户和注册用户/已知的用户。匿名用户自动获取默认首选项, 注册用户依据他们的特定偏好获得优先权。
(3) 优先级处理和显示项目。依据用户的偏好, 优先级引擎将重排序页面上的项。为此, 优先级引擎需要分配偏好值给可处理的项;移去那些没有偏好值或偏好值大于剪切值的项;排序和显示留下来的项。通过增加链接“更多…”, 以访问移去的页面项。
2 系统实现
服务器端页面优化自适应技术依据用户首选项进行优先级处理, 并针对设备自适应调整。不同设备访问具有唯一版本的网站时, 网站的开发和维护也只需一个版本。
该实现将分发给移动设备的页面内容或项作最小化处理, 暂不考虑如图片或视频媒体等其他自适应。优先级引擎主要实现以下功能: (1) 依据优先级对项进行重新排序; (2) 依据优先级来分发和显示感兴趣的内容; (3) 移去低优先级项, 插入“更多…”链接; (4) 依据页面请求的设备, 为用户提供默认首选项。优先级引擎保存页面的整体结构, 处理后页面项的父子关系不变。系统优化后, 再经客户浏览器的自适应处理, 整体外观也许会有微小的改变。
2.1 识别页面元素
2005年以后, 网页布局由表格 (table标签) 转变为由层 (div标签) 承担, 因此系统处理以div元素为结构布局的 (X) HTML页面。页面包含的程序脚本如Java Script等暂时先不予考虑。一个基本的HTML页面以div标签为结构, 组成页面上的项, 并可以嵌套, 使用CSS样式控制布局的表现, 以此实现、测试和讨论优先级引擎。
2.2 优先级系统引擎
引擎基于ASP.NET开发, 采用混合脚本语言编程, 操作XSLT更新、重排和显示页面。图2所示为优先级引擎框图。
2.3 存储和管理数据
用户的偏好需要永久存储, 并允许优先级引擎以可靠的机制快速查询和访问。另外, 需要存储用户ID和设备ID, 浏览会话时会用到。用户偏好可能存储在cookies、会话变量或者数据库中。选择使用关系数据库, 存储和管理用户的偏好 (首选项) , 这个方法保证了偏好可以永久存储, 并提供了可靠和灵活的存储机制。对大量的用户而言, 管理数据和增加记录等, 数据库提供了高性能和可伸缩性。数据库修改数据很灵活, 管理对用户偏好的修改很容易。而且, 存储用户的偏好 (首选项) 在数据库中, 当用户使用任何类型的设备访问页面时, 都能够获取他们的偏好, 不需要为新的设备类型对偏好进行重新设置。图3所示为系统使用的6个基表。
2.4 设计XSLT样式表
为重组页面, 需要排序和转换操作, 使用XSLT转换规则, 生成最终优先级处理后的页面版本。应用XML的XSLT样式表技术, 修改XML文档的结构和对文档作格式转换。系统使用的样式表代码如下。
2.5 优先级引擎的具体实现
(1) 用户登录。有两类用户:访客和注册用户。注册用户有个性化首选项存储在数据库中;而访客用户使用默认首选项。它要求用户输入用户名和密码, 验证有效, 则从数据库中查找user Id。user Id存储在会话变量中, 在整个用户的浏览会话过程中使用。
(2) 识别用户、设备和页面处理。识别用户后, user Id被传递给会话变量。引擎检查会话变量是否存在该user Id。如果没有, 系统分配用户为缺省user Id, 值设为1。识别设备类型时, 系统检查来自设备的用户代理字符串。系统从传入的URL变量, 确定被优先级处理的页面。如果有URL变量, 系统使用该变量的值作为页面名称;否则, 系统分配”home”作为页面名称。系统在会话变量中存储user Id和device Type, 以在整个浏览会话中使用。
(3) 从数据库中查询用户的偏好。系统识别用户、设备和页面后, 从数据库中查询优先的页面项、用户的偏好和剪切值。使用页面名称, 在数据库中查询页面优先级项的element IDs, 并将它们存储在数组page Item中。然后, 使用user Id、device Type和page Name查询用户对该页的偏好 (即element IDs和ranks) , 并将它们存储在另一个数组user Preference中。
(4) 更新页面项的偏好。当对Web页项处理时, 系统首先要识别出页面中的div块。选择使用XML的DOM解析器处理数据。
(1) 装载基本页。系统装载页面, 生成一个HTML的DOM节点树。一个Web页上所有可视内容和可优先级设置的项都是
元素的子节点。
根元素和元素为不可优先级设置的项, 直接复制在最终页面上。所以, 仅处理从
元素开始的节点树。
(2) 分配偏好值。基本页装载后, 系统分配偏好值给可优先级设置的div。为此, 系统遍历节点树, 检查每个div元素。首先, 检查每个div是否为可优先级设置的项。对每个可处理的div, 检查它是否为数组page Item中可设置的项, 是否有数组user Preferences中的偏好。如果div的id属性在page Item数组中, 则为该div创建一个新的属性rank, 然后读取user Preferences数组, 给rank属性赋值;否则, 如果div的id属性不在user Preferences数组中, 则给rank属性一个缺省偏好值, 缺省低优先级偏好值应等于或大于页面上所有项的总数和。
(3) 删除低优先级项, 增加“更多…”链接。可优先级设置的项被分配偏好值以后, 接下来删除低优先级项。系统遍历分配了偏好值的节点树, 删除rank属性大于剪切值的所有节点。然后, 创建一个新的div元素, 放置超链接“更多…”。
(5) 排序和显示优先级处理后的页面。删除低优先级项后, 系统重构页面, 按照它们的优先级重新排序页面上的项, 并转换成为最终的页面。使用XSLT处理器重新排序和转换页面。低优先级项删除后的新的节点树通过应用XSLT样式表的规则, 基于rank属性以升序排序。按层次深度对每层div进行排序, 嵌套的div也在双亲节点中排序, 有最高优先级 (值为1) 的首先被显示。
3 系统性能测试
系统性能测试时, 分别对用户数、页面项数、用户偏好数等主要参数作不同的设置。系统运行得到最终页面的时间几乎都在20 ms以内, 表明系统性能优良。
(1) 用户数对性能的影响。采用不同的数据行数测试, 最大的1 000K行大约是20万用户, 每个用户有5个偏好的数据库的状态。系统测试以一个页面、有50个div项、偏好剪切值设为5的情形, 运行系统15次的测试结果如表1所示。
(ms)
(2) 页面项数对性能的影响。数据库中数据行为1 000 K, 每页偏好数设为5, 运行测试15次的结果如表2所示。
(ms)
(3) 用户偏好数对性能的影响。数据库中数据行为1 000 K, 页面有50项, 剪切值随偏好数而变化, 运行测试15次的结果如表3所示。
(ms)
以div标签为布局的页面是优化引擎工作的基础, 从而实现基于用户偏好和移动终端类型的页面自适应。研究结果表明, 在服务器端系统优化处理的页面内容在不同类型的移动终端上能提供一致的和良好的用户体验。接下来的工作是设计和实现用户接口, 完成用户对个性化偏好的定制。更大的挑战是如何对页面上其他内容 (如图片等媒体信息) 依据用户偏好和移动终端的设备能力, 实施基于优先级的自适应调整, 这也是未来的工作方向。
摘要:移动终端的多样性及用户的个性化要求是传统Web页面遇到的挑战。为获得与电脑相一致的浏览效果, 提出一个服务器端的Web页面自适应方法, 通过优化系统处理生成自适应页面。该方法通过用户为设备设置Web页面上项的优先级, 系统对页面项进行重新排序、显示和删除处理。测试结果表明, 系统及自适应页面具有可用性。
关键词:移动终端,Web页面,自适应显示,优化处理,优先级
参考文献
[1]AHMADI H, KONG J.User-centric adaptation of Web information for small screens[J].Journal of Visual Languages and Computing, 2012, 23 (1) , 13-28.
[2]KULKARNI C E, KLEMMER S R.Automatically adapting Web pages toheterogeneous devices[C].Vancouver, BC, Canada:Proc of the 2011 Annual Conference Extended Abstracts on Human Factors in Computing Systems, 2011:115-129.
[3]LAAKKO T.Context-aware Web content adaptation for mobile user agents[C].Evolution of the Web in Artificial Intelligence Environments, 130 ed., Vol.130, Springer Berlin/Heidelberg, 2008:69-99.
[4]史晶, 吴庆波, 杨沙洲.面向移动终端的Web页面重组技术综述[J].计算机应用研究, 2011, 28 (12) :4405-4408.
[5]谈冉, 熊雄.基于移动终端的高效显示策略研究[J].计算机应用研究, 2008, 25 (2) :584-586.
公益基金页面 篇3
神话100万,1个亿的销售额,其中400万的公益基金。由于此活动出现了大量的数字,比如说有售出条数、旅游基金、奖金、公益金等。所以我想把这些数字组成一个矩阵,出现在神话100万首页,吸引访客眼球,具体形式如下: 出现位置:神话100万首页,以及独立的公益基金页面。
出现形式:配合首页上的售出条数栏,可以出现在其下方,每售出一条,公益基金就会等比例增加,让访客可以很直观的看到实时公益基金增加情况。旁边还可以有旅游基金、奖金等组成一个矩阵,暂时就叫做数字矩阵吧。
独立页面:通过点击首页上的公益基金数字或者公益基金按钮,就可以直接跳转到公益基金页面。上面会有公益基金的说明,公益基金的数量,以及公益基金将来的流动方向,比如一部分支援希望工程,一部分支持环保事业,一部分镇灾等。让访客一目了然。
另外还可以和慈善协会,红十字会合作,借助他们的力量来帮助我们宣传推广神话100万,以及我们的品牌。当然媒体宣传必不可少。
页面处理 篇4
移动办公既包括移动OA等狭义移动办公系统,也包括涉及客户生产和管理的各类应用系统。将传统的办公应用和手机应用有机的结合在了一起,大大地提高了人员的办公效率和应变能力。移动办公主要针对已有办公系统,通过对手机小屏幕页面进行适配,将其办公系统部分功能在手机上实现来实现移动化电子办公。
需要在用户办公系统和手机之间增加一台移动化服务器,加载移动应用服务软件,来实现用户办公系统界面到手机界面的适配。
针对基于PC的B/S结构的软件或网站,通过Web Parser技术,开发页面程序,自动生成可适用不同手机平台的多个软件安装包。只要较简单的代码,就能完成一个界面的适配。
用户在手机上安装移动办公软件,通过NET/APN方式访问移动化服务器,由移动化服务器代理访问其应用服务器,该方式实现较简单,开发量较少,不需依赖原应用系统厂商,用户感知度较好。手机用户通过3G网络登录其办公系统,即可实现手机办公。
1 网络拓扑图
2 系统各部分介绍
2.1 手机
用户需要在自己的手机上安装配套的客户端程序,该程序针对不同操作系统的手机有不同的安装版本。权限用户只有登录该客户端才可以使用提供的业务功能。
2.2 移动化服务器
移动化服务器负责现有企业各种应用移动化接入以及整个企业移动化接入服务的运营管理。
2.3 原有OA系统
原有OA系统需要和移动化服务器平台进行对接,为业务提供初始数据。
3 实现方法及业务流程
B/S适配的作用是使手机终端能直接访问B/S结构的办公系统,实现对原办公系统的移动化。对于这类办公系统,B/S适配作为客户端,与应用系统侧服务器端进行正常的交互操作。
B/S适配接到移动办公系统转发的手机端发出的请求,进行必要的处理,发送给原办公系统;并接收从原办公系统返回的响应数据,对数据进行过滤和整合,再经移动办公系统转发给手机端。
B/S适配插件通过标准的HTTP/HTTPS协议与原办公系统进行交互。
B/S适配插件可根据业务需要设置对应用页面内容的过滤规则,将页面中不需要在终端上展现的数据进行过滤处理。过滤的对象可以是页面中的任意一部分内容。
B/S适配插件将经过过滤抽取出来的数据按照需求进行重新组织,形成适合终端显示的页面。支持在页面中嵌入其他的信息或页面内容,以及根据需要进行页面分拆,变成多个页面进行操作和交换。
业务流程见图2:
4 适配逻辑架构(见图3)
5 结束语
谈网页页面设计技巧 篇5
一、布局设计
网页中的布局是整个网页制作中最开始的步骤,也是最为关键的一步。网页中的布局决定网页的整体效果,合理的布局可以完美、清晰地组织网页中的文字、图形,给人以紧凑、整洁、美观的感觉。
在本例中,我们首先使用Photoshop设置网页页面的效果图,接着再切图并使用DIV+CSS语言将其做成HTML形式。接下来我们详细说明使用DIV+CSS语言的布局方法。
1、网页页面的每个区域,如页头区、主体区、法律和版权声明等,我们都插入相应的DIV元素,然后,用CSS控制DIV使网页居中显示。在本例中,我们将分为bn,main,cr三个DIV。
2、对于页面中所有的DIV元素,利用CSS控制DIV的位置,我们可以将页面中的DIV视为一个个块状元素。在此应用了“盒模型”的工作原理,“盒模型”是CSS的基础,“盒模型”理论认为:页面上的每个元素都被看做—个矩形,这个矩形由内容、填充(padding)、边框(border)、和边距(margin)构成。对于每部分的间距,以及文字、图片空隙的调整,我们用“盒模型”的工作原理来调整。在网页默认的情况下,元素由上到下依次叠放,当这样的叠放顺序不能满足布局的需要时,就要使用“float(浮动)”属性来改变元素的叠放顺序。元素应用了“float(浮动)”属性,它周围的元素就会靠近、包围元素,这样的影响在有的布局中是多余的,这时,可以用“clear(清除)”属性来阻止这种浮动对后面元素的影响。再复杂的布局也是重复利用这样的技术,大到网页每—部分的叠放,小到文字、图片的排版。
3、在DIV中添加各种网页元素,把文字、图片、动画安排到合适的位置,再把每部分合理地叠放到网页中,这样就完成了网页的布局。
二、主要设计部分
在VS.NET开发环境中,新建index.htm,并创建css文件,命名为main.css,将样式表写在一个独立的文件中。
在index.htm中写入用来声明将会把Internet Explorer 6及以后版本切换到标准兼容模式。
在
中加入
,这表示index.htm可以链接到main.css文件中,可以调用其中的内容。
在index.htm的
中插入如下代码:
对main.css文件的主要设计代码如下:
三、在main的DIV中的各个DIV中插入相应的内容
在导航的DIV中插入相应的内容
图文混搭之后的效果图如下所示:
在这里,我们只给出“最新公告”和“实训实验室”这两块内容。我们还可以在左边的DIV中加入“管理制度”“实训基地”“技能鉴定”三个DIV,在右边的DIV中加入“资料下载”“实训与实习”“高新技术考试”三个DIV。
四、上传测试
本文中的网页已通过测试运行并发布到WEB服务器上测试。上传后运行正常;并在不同分辨率下都能够正常显示。
五、结束语
本文运用了DIV+CSS技术设计的网页使用方便,兼容性好。但是DIV+CSS布局的网页由于需要兼容各种浏览器,也有其不足的地方,主要表现在开发技术高,开发时间长,开发成本高。
参考文献
[1](美)Kynn Bartle.CSS入门经典[M].北京:人民邮电出版社,2007.
[2](加)Zoe Mickley Gillenwate.灵活Web设计[专著][M].北京:机械工业出版社,2009.
[3]郑宁宁.浅析DIV+CSS网页设计技术[J].山东省农业管理干部学院学报,2008.
404错误页面的好点子 篇6
当你输入了一个错误的网址时, 你就会看到一个404的错误页面。大多数公司的404页面看上去都很乏味, 目的只是为了让你返回到主页而已。不过有些聪明的公司会在上面做得更多。他们把404错误页面用来找乐子。我们在网上找到一些最讨人喜欢的404页面。
This Pac-Man 404 is great, you ca play Pac-Man inside the 404!
这个Pac-Man公司的404页面超棒, 你可以在这个404页面里玩该公司的游戏!
Whoops!We caught Tech Crunch with its pants down on this one.
哇哦!我们看到Tec Crunch公司的404页面是裤子掉下来的这副模样。
Titleist’s is great if you’re a golfer It’s a bunch of guys looking for a los ball.
如果你是个高尔夫球手, 那么Titleist公司的404页面就太对你的胃口了。页面上显示的是一群人正在找一个丢失的高尔夫球。
This one from Local Fitness is fun.A kangaroo counter-attacked.
Local Fitness网站的404页很有趣:一只袋鼠的还击。
Lego has a pretty cool one.It showed the electricity was cut off.
乐高的404页面太酷了, 上面显示电源被切断了。
The Homestar Runner had one of the best 404s ever.It was a comic short about why th site doesn’t work.
浅谈网站页面色彩的运用 篇7
关键词:网页,色彩,搭配
色彩的搭配是制作网页中的重要一环, 它不仅体现网站的风格, 而且在很大程度上影响到浏览者对网站的第一印象在网页配色中, 合理的网页色彩设计能体现网站风格, 突出主题, 吸引浏览者视线, 加深印象。
一、确定网站色彩主体色调
遵循主从关系, 这是最稳定的处理色彩原则。通常我们形容页面颜色会这样说:榕树下是绿色的。其实红、黄、绿、蓝、紫等每一个字都代表一类具体的颜色, 也就是色相了, 它是指色彩的相貌, 是区别色彩种类的名称。在页面上, 除白色为背景外, 大量使用的颜色, 就是这个网页的主体颜色。如果在同一个页面内运用了多种颜色, 把握不好的话, 就无法确定哪个是主体色。因为其他的颜色面积不能过大, 要遵循主从关系。
二、网站色彩搭配的运用
1、色彩均衡的应用
它是比较保险的配色互补原则。多种颜色同时存在的时候不容易把握好, 一定要调和统一。
比如利用色彩错视现象, 其中的重量错视在实用设计时用处很多。也就是明度高的浅亮色看起来较轻, 明度低的深暗色则较重。
那么在网页设计中, 如果运用了较多明度较高的颜色。比如比较浅的颜色或亮的颜色, 就可以用黑色, 或同色相的深色小面积压一下, 点缀一下, 使得页面不要太轻, 达到色彩重量的平衡。平衡的颜色较符合多数人的色彩心理。
2、黑白灰运用
黑白灰的色彩运用也是网站页面建设中常用到的一种搭配手法。如果在用色上遇到麻烦, 可以大面积的加白, 灰;小面积加黑来调节其他颜色搭配不当。遇到使用纯度很高的颜色, 比如纯蓝, 纯黄等, 这样的搭配会很鲜艳, 视觉感觉比较兴奋。把这样的颜色明度抬高或降低, 搭配上灰、白色, 也是调节的方法。
3、色彩心理与情感
选择适合内容风格的颜色。色彩运用要与网站主题相符合。如儿童类站点不要使用冷色系, 且色彩要丰富一些。女性站点, 适量选用柔美的淡粉色或高级灰, 而男性类站点, 就可以使用棕色, 深蓝色。同色相, 明度高, 则有柔软感。明度低, 则会有坚硬感。
从色相看, 暖色给人的感觉华丽;从明度看, 明度高的感觉华丽;从纯度看, 纯度高的色彩给人的华丽感觉。如旅游类站点, 可以选用草绿搭配黄色。政府类站点, 可以使用红色, 蓝色。时装类站点, 可以选择高级灰、紫色等, 突出高雅氛围。校园类站点也适合绿色。科技类适合深蓝色。新闻类适合深红色, 或黑色, 搭配高级灰等等。
色彩明度的高低与声音的高低相关。强烈的色彩如亮黄色、鲜红色, 具有尖锐、高亢的音乐感。暗浊色如海蓝色、深灰色等具有低沉浑厚的音乐感。现代音像艺术正是采用了视觉与听觉等多媒体相结合的方法, 展现了丰富、新颖的视听效果。绿色、黄绿色是未成熟的果实色彩, 有酸、涩的味感。橙色、浅黄色、浅棕色、粉红色使人想到了成熟的瓜果色彩而产生甜甜的味感。设计饮食类站点, 就可以遵循以上原则。
4、网站页面的色彩分配
网页内容, 是信息存储空间, 要求背景要亮, 文字要暗, 对比度要高。LOGO和主要信息放置的地方。一般要深色。具有较高对比度, 以便用户能够非常方便地看到他在该站点的所在位置。标题通常与页面其它部分有不同的"风貌", 它可以使用与网页内容非常不同的字体或颜色组合。也可以采用网页内容的反色。导航菜单所在区域。把菜单背景颜色设置暗一些, 然后依靠较高的颜色对比度、比较强烈的图形元素或独特的字体将网页内容和菜单的不同目的准确地区分开。在配色上使用一些比较跳跃的颜色, 用来引导视线。用跳跃性的橙色来做导航、按钮, 指引视线的去向。
三、色彩的心理感觉
不同的颜色会给浏览者不同的心理感受。红色是一种激奋的色彩刺激效果, 能使人产生冲动, 愤怒, 热情, 活力的感觉。绿色介于冷暖两色彩的中间, 显得和睦, 宁静, 健康, 安全的感觉。它和金黄, 淡白搭配, 可以产生优雅, 舒适的气氛。橙色也是一种激奋的色彩, 具有轻快, 欢欣, 热烈, 温馨, 时尚的效果。黄色具有快乐, 希望, 智慧和轻快的个性, 它的明度最高。蓝色是最具凉爽, 清新, 专业的色彩。它和白色混合, 能体现柔顺, 淡雅, 浪漫的气氛 (象天空的色彩) 。白色具有洁白, 明快, 纯真, 清洁的感受。黑色具有深沉, 神秘, 寂静, 悲哀, 压抑的感受。灰色具有中庸, 平凡, 温和, 谦让, 中立和高雅的感觉。
进行网页色彩设计时应注意使其色调与网站主题相协调.满足浏览者的不同需求, 便于阅读, 同时还应个性鲜明并保持一定的延续性。
参考文献
[1]张群瞻、李欣:《网页三剑客培训教程》冶金工业出版社, 2003
[2]权智殷:《设计师谈网页色彩与风格》上海人民美术出版社, 2001
页面置换算法与系统颠簸分析 篇8
在系统运行过程中,若程序所要访问的页面不在内存而需要把他们调入内存,但内存已经没有空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据送到磁盘的交换区中,这个过程称为页面置换。决定将哪个页面调出,需根据一定的算法来确定,通常,把选择换出页面的算法成为页面置换算法。
置换算法的好坏,将直接影响到系统的性能。当发生缺页中断时,虽然可以随机地选择一个页面置换,但是如果一个被频繁使用的页面被置换出内存,很可能它在很短时间内又要被调入内存,这会带来不必要的开销。一个好的页面置换算法,应具有较低的页面更换频率。从理论上讲,应将那些以后不再会访问的页面置换出,或者把那些在较长时间内不会再访问的页面调出。这对提高系统性能极其重要。
1 常见的页面置换算法
1.1 最优页面置换算法
1.1.1 算法思想介绍
最佳页面置换算法(Optimal Page Replacement Algorithm,OPT)是一种理想情况下的页面置换算法,它在所有页面置换算法中产生的页错误率最低,但实际上该算法是不可能实现的。
该算法的基本思想是:发生缺页时,有些页面在内存中,其中有一页将很快被访问(也就是下一条指令要访问的那一页),而其他页面则可能要到10、100或者1 000条指令后才会被访问,每个页面都可以用在该页面首次被访问前所要执行的指令数进行标记。
最佳页面置换算法规定:标记最大的页应该被置换。例如,如果某页在800万条指令内不会被使用,另一页在600万条指令内不会被使用,则置换前一个页面。这个算法惟一的一个问题就是它无法实现,因为当缺页发生时,操作系统无法知道各个页面下一次是在什么时候被访问。虽然最佳页面置换算法不可能实现,但是该算法可以用于对可实现算法的性能进行衡量比较。如果一个页面置换算法不是最优的,但是它的性能与最优置换相比相差不大(如仅有2%的性能差距),那么就可以判定该算法是有实用价值的。
1.1.2 算法分析
从理论上说,当置换一个页面出内存时,被置换出的页面在将来仍然需要被访问,那个时候将发生缺页中断。既然不好的事情(缺页中断)总会发生,计算机也和人一样,希望把不愉快的事情尽可能地向后拖延。一个最好的页面置换算法应该把因为需要调入这个页面而发生的缺页中断推迟到将来,越久越好。因此选择最久之后才会被访问的页面换出内存是理论上最佳的,这也是这个算法被称为最优置换的原因。
1.2 先进先出页面置换算法(FIFO)
1.2.1 算法思想介绍
FIFO算法总是淘汰在内存中停留得最久的那个页面。具体实现方法是由操作系统维护一个所有当前在内存中的页面的链表,最新进入的页面放在表尾,最久进入的页面放在表头。当发生缺页中断时,淘汰表头页面并把新调入的页面加到表尾。FIFO页面置换算法容易理解和实现,但是其性能并不总是很好。
1.2.2 算法分析
FIFO算法仅仅考虑到在内存中滞留了很久的页面的需求性可能比新进入的页面更小。就像在超级市场中,新引进的商品往往比已经库存了很久的商品更容易被购买,因此当新引进商品时,通常淘汰那个库存了最久的商品。
但是这种考虑显然不太准确,谁说新上架的东西一定比库存很久的东西更有用呢?考虑一个页面,它在很早的时候被调入内存,之后被频繁的引用,这个页面很容易被FIFO算法当作没用的页面从而被淘汰。因此纯粹的FIFO算法很容易淘汰重要的页面,实际很少使用。
1.3 第二次机会页面置换算法
1.3.1 算法思想介绍
第二次机会页面置换算法是对FIFO算法的改进。它在FIFO的基础上进行了修改,其性能较FIFO有了很大的提高,避免了把经常使用的页面置换出去。
和FIFO算法一样,操作系统维护一个所有当前在内存中的页面的链表,最新进入的页面放在表尾,最久进入的页面放在表头。当需要置换页面是,检查最老页面的R位,如果它为0,表示它最近未被使用,也就是说,它又老又没用,可以立即置换。如果是1,则把R位置为0,并把该页面放在链表尾端(即把它作为刚装入的页面一样),然后继续搜索。
1.3.2 算法示例
如图1(a)所示,页面A到页面H按照进入内存的时间先后顺序保存在链表中。页面上的数字是该页面进入内存时的时间。第二次机会算法的一个执行示例过程如下:
(1)在时间20发生了一次缺页中断;
(2)检查最老的页面A,如果A的R位为0,则将它淘汰出内存;
(3)现在页面A的R位为1,则将A放到链表的尾部,并且重新设置页面的进入时间为当前时刻,并置A的R位为0。即让A页面好像是刚刚调入内存一样;
(4)检查当前最老的页面B,重复以上过程。
可以看出在上面的过程中,如果A到H页面都被访问过了,那么在遍历了一次之后,仍然是页面A被淘汰,此算法就变成了纯粹的FIFO算法。
1.3.3 算法分析
该算法的思想是找到一个最近的时钟滴答中从来没有被访问过的页面,而且这个页面是最老的(最先调入内存),这样综合了两个方面的考虑:
(1)老的页面比新的页面需求量小(FIFO算法的想法)
(2)局部性:最近未被访问的页面今后也可能不被访问
并且算法优先考虑局部性,例如在上面的过程中,如果A~H页面都被访问过了,那么在遍历了一次之后,仍然是最老的页面A被淘汰,此算法就变成了纯粹的FIFO算法。
当选择置换页面时,依然和FIFO一样,选择最早置入内存的页面。但是二次机会法还设置了一个访问状态位。所以还要检查页面的的访问位。如果是0,就淘汰这页;如果访问位是1,就给它第二次机会,并选择下一个FIFO页面。当一个页面得到第二次机会时,它的访问位就清为0,它的到达时间就置为当前时间。如果该页在此期间被访问过,则访问位置为1。这样给了第二次机会的页面将不被淘汰,直至所有其他页面被淘汰过(或者也给了第二次机会)。因此,如果一个页面经常使用,它的R位总保持为1,它就从来不会被淘汰出去。算法的这个特点使它被称为第二次机会算法。
1.4 时钟页面置换算法
时钟页面置换算法是对第二次机会算法的改进,也是现实中最常用的页面置换算法之一。第二次机会算法比较合理,但是效率较低,由于它经常需要在链表中移动页面。因此,时钟页面置换算法改进了链表的组织方式。它将所有页面放置在一个类似钟面的环形链表中,用一个表针指向最老的页面。
当发生缺页中断时,算法首先检查表指针指向的页面,如果它的R位是0就淘汰该页面,并把置换进来的新的页面插入到这个位置,然后把表针前移一个位置。如果R位是1,那么清除R位并把表针前移一个位置。重复这个过程直到找到了一个R位为0的页面为止。
算法的示意图如图2所示。
1.5 最近最少使用页面置换算法(LRU)
1.5.1 算法思想介绍
LRU算法基于这样的原理:在前面几条指令中频繁使用的页面很可能在后面几条指令中被使用。而已经很久没有使用的页面很有可能在未来较长的一段时间内仍然不会被使用。
因此,可以置换未使用时间最长的页面。这个策略就是LRU(最近最少未使用)页面置换算法的核心。显然,LRU算法的主要问题是如何找出最近未被使用时间最长的页面。
1.5.2 LRU算法的实现方法
方式1:硬件有一个64位的计数器C,它在每条指令执行完后自动加1。每个页表项中有一个足够容纳这个计数器值的域。在每次访问内存之后,将当前的C值保存到被访问页面的页表项中。发生缺页中断时,操作系统检查所有页表项中计数器的值,找到一个该值最小的页面,这个页面显然就是最近最少使用的页面。
方式2:在一个有n个页帧的机器中,LRU硬件维持一个初值都为0的n×n位矩阵。当访问到页帧k时,硬件首先把k行的位都置为1,再把第k列的位都置为0。在任何时刻,二进制数值最小的行就是最近最少使用的,第二小的行是下一个最近最少使用的,以此类推。
1.5.3 LRU算法的优缺点
LRU的优点是性能很好,它提供了对最优页面置换算法很好的近似,并且它在理论上可以实现。但是LRU算法的缺点在于它实际上实现很难。因为以上讨论的实现方式都需要硬件的参与,在现实中只有非常少的计算机拥有这种硬件。通常在实践中,人们使用软件方案实现一个LRU的近似算法。最著名的近似LRU算法是最不经常使用页面置换算法(NFU)和老化算法。
1.6 最不经常使用页面置换算法(NFU)
1.6.1 算法思想介绍
最不经常使用页面置换算法(NFU)是一种用软件实现的对LRU粗略的近似。
算法的基本思想是每个页面拥有一个软件计数器,计数器的初始值为0。每次时钟中断时,操作系统扫描内存中的所有页面,将每个页面的R位加到它的计数器上。(R为1则代表在最近的一个时钟周期内页面被访问了,因此页面的该计数器值大致代表了该页面被访问了多少次)。在N个时钟周期内,如果页面有m次R位为1,则表示N个时钟周期内,在m个时钟周期里该页面被访问了,因此这个计数器跟踪了该页面被访问的频繁程度。发生缺页中断时,将置换计数器值最小的页面。
算法蕴含的思想是:统计从程序开始运行到现在为止,每个页面被访问的频繁程度。换页时,选择访问最不频繁的页面换出内存。
1.6.2 NFU算法的问题
NFU算法的问题,用一句话简单概括就是:它从来不忘记任何事情。
例如,可能某页面一开始被频繁使用,其计数器值可能已经高达10 000,但是这个页面在程序运行后期就很少使用了。但是由于前期的频繁访问,它的计数器值已经很高了,因此按NFU算法的原理,它很难被换出,尽管它应该在程序执行的后期被换出才是合理的。
1.7 老化算法
1.7.1 算法思想介绍
老化算法是对NFU的一个修改,实现了对LRU的很好的近似。
对NFU的修改:
在R位被加进之前先将计数器右移1位。
将R位加到计数器最左端的位而不是最右端的位。
发生缺页中断时,将置换计数器值最小的页面。
1.7.2 算法示例
如图3所示,一开始5个页面的计数器值均为0。第0个时钟周期内,各个页面的R位分别为1,0,1,0,1,1,将其加到计数器的最左端得到图3(a)。第1个时钟周期内,各个页面的R位分别为1,1,0,0,1,0,将其加到计数器的最左端得到图3(b)。依此类推,如果图3(e)时发生缺页中断,那么计数器值最小的页面3将被置换。
1.7.3 算法分析
这个算法解决了NFU的问题,如果一个页面前期频繁访问,如值为11111111,但是后期不再被访问,它的计数器值会越来越小,从01111111到00111111到00011111到00001111……;相反,如果一个页面前期不被访问,后期频繁访问,它的计数器值会越来越大,从00000000到10000000到11000000到11100000……。
一个在最近一个时钟周期内被访问的页面获得的计数器增量是最大的(左端加1,相当于给计数器加了10000000),由于页面最近一次时钟周期被访问了,表示以后可能也要被访问,这个信息的参考价值是最大的,应该提供最大的计数器增量,这是很合理的。而在前一个时钟周期内被访问的页面获得的计数器增量会慢慢变小,由于这个访问记录逐渐成为了历史,可参考价值越变越低,这样设计也是很正常的。这就是蕴含在算法背后的思想。
为什么说老化算法只是LRU的一个近似?下面用一个例子来说明。页面A和页面B的计数器分别为00100000和00101000。它们都是在最近的两个时钟周期内未被访问,但是没有精确的记录。
LRU中是按指令而不是时钟周期记录的,老化算法中只知道它们都是在最近的两个时钟周期内未被访问,但是不知道具体的先后顺序(一个时钟周期有多个指令,A,B总有一个更先被访问)。因此在老化算法中只能看它们计数器值的大小来决定,不是真正的最近最少使用算法,仅仅是它的一个近似。
第二个与LRU的区别是,老化算法的计数器只有有限位数,限制了其对以往页面访问历史的记录。
2 系统颠簸的分析与解决
2.1 系统颠簸的概念
颠簸(Thrashing)(又称抖动)就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据到磁盘的交换区中,如果算法不适当,刚被换出的页面很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页面很快又要被访问,因而又需将它调入,如此频繁更换页面,以致花费大量的CPU时间,极大地降低系统的效率,我们称这种现象为“颠簸”(或“抖动”)。一般如果每执行几条指令程序就会发生一次缺页中断,那么就可以称这个程序发生了颠簸。
2.2 系统颠簸的产生
2.2.1 局部页面置换算法与全局页面置换算法
页面置换算法可以分为两大类,全局置换和局部置换。全局置换允许一个进程从所有页帧集合中选择一个页帧置换,而不管该帧是否已经分配给其他进程,即一个进程可以从另一个进程中拿到帧。局部置换要求每个进程仅从自己的分配帧中进行选择。局部置换和全局置换的一个示例如下:如图4所示,三个进程A,B,C构成了可运行进程的集合。假设页面置换算法是LRU算法,每个页面的生存时间列在页面的右边。当进程A产生缺页中断时,如果采用全局置换算法,将选择所有页面中生存时间最少的页面B3进行置换。如果采用局部替换算法,将选择分配给A的所有页面中生存时间最少的页面A6进行置换。
2.2.2 因为物理内存不足而产生系统颠簸
采用全局页面置换时容易产生系统颠簸,即使是使用最优页面置换算法的全局页面置换也不例外。因为当某个进程需要更多的页帧时,为了增加该进程的页帧数目,可能直接导致另一进程的页帧数目减少。当整个系统的物理块不能满足所有进程的需要时,缺页率将持续维持于一高水平值,意味着颠簸的产生。其具体表现形式如下:
(1)进程竞争临界资源
考虑这样的情况:系统中已不存在空闲物理块,而进程A却要求增加物理块,于是,中断处理程序只得将原属于进程B的物理块分配给进程A;同样地,进程B又分配到原属于进程C的物理块,如此下去。在一定时候,各缺页进程都将被阻塞,就绪队列为空,颠簸从此形成。
(2)增加多道程序度
当CPU利用率处于低水平时,为提高多道程序度,调度程序要求从后备输入队列选择进程加载到内存。图5可清楚地说明这种情形下颠簸的形成原因。首先,随着多道程序度的增加,CPU利用率随之增加而达到一个理论极值。但在极值点右边,再增加多道程序度,因为进程事实上只能从已加载的进程处获得页帧,从而使得更多的进程因缺页而阻塞,随着更多的进程执行内外存的I/O操作,CPU利用率反而更低;为提高CPU利用率,调度程序又要求调入新进程.如此形成恶性循环,系统诸进程都将缺页,颠簸形成。
2.2.3 因为页面置换算法而产生颠簸
基于局部性原理,几乎所有的页面置换算法总是试图从当前正在引用的页面去”预测”将要引用的页面,据此产生淘汰页和置换页。大多数情形下,这种预测的命中率可以很高。但对于特定的程序(如有大量的跳转语句的程序),命中率将很低,其结果很可能是所选择的淘汰页却是即将要引用的页;而从磁盘置换到内存的页面在最近很长时间却不会被引用。不得已,继续进行页面置换,反反复复,颠簸形成。当然,不应用局部性原理的页面置换算法在大多数的情形下都有可能产生颠簸。
2.3 系统颠簸的解决
解决系统颠簸主要有3个方式:好的页面替换算法;减少运行的进程数;增大内存。
这里主要分析如何使用好的页面替换算法尽量避免颠簸的发生。
(1)局部置换
采用局部置换算法,当某个进程产生缺页中断时,只允许从本进程分配的页帧中选择置换页面,而不能从其他进程处拿到帧,就不会使其他进程也发生颠簸,可将颠簸框定在一个特定的、较小的范围内。
当然,这种方法并不理想。全局置换提供了更好的性能,这与局部分配本身是矛盾的。另外,它并不能从根本上防止颠簸,只能局限其范围。如果某个进程处于颠簸状态,则其将长期处于阻塞队列,不断地进行内外存交换,又必然会影响其他进程进行缺页处理。
(2)动态调整页面置换算法
页面置换算法与实际应用相关,对于大多数的进程,与置换算法同时吻合了局部性原理,从而缺页率低。而其余少数进程因与局部性原理相背,而使”预测”失效,其缺页率偏高可能引发颠簸。
因此,我们可以在一个系统中预备2种以上不同的选择淘汰页和置换页策略的置换算法,并定义一个缺页率的临界值,在缺页处理程序中设置一个判断,当缺页率大于临界值时改用另一种页面置换算法。
(3)跟踪缺页率
根据局部性原理,绝大多数时候,进程是从一个局部区域转移到另一个局部区域执行。所以,必须有足够的页帧供使用,以减少缺页,避免颠簸。到底应为每个进程分配多少页帧呢,实际上,它是系统拥有总的页帧数目与当前系统实际应用相关的一个经验值。这从缺页率与所分配的页帧数关系曲线得到证实。(如图6所示)在拐点附近,每增加(减少)进程的页帧数目都能显著地改变缺页率。
而一定时间以后,即使再增加页帧,缺页率变化也不明显。拐点左边缺页率非常高的区域就是本来的颠簸,拐点就是理想的页帧数目。据此,可对系统中的进程定义其缺页率的上限和下限阀值,此区间内的页帧数是进程拥有的相对合理的页帧数,缺页率高于上限时说明其分配到的页帧太少应当追加;而当缺页率低于下限时说明该进程所拥有的页帧数太多,可收回一部分。
3 算法间的关系
在页面置换的过程中,选择好的页面置换算法是提高系统整体性能的关键。本文分析了常见的7种页面置换算法的原理和思想,并对一些算法给出了实例。
另外作者对各个算法的本质提出了个人的见解,从为什么会有这样的算法?算法解决了什么问题?算法的优点和问题是什么?算法和其他算法之间的联系是什么?等多个方面剖析了页面置换算法的方方面面。
图7小结了各个页面置换算法之间的关系。
4 结语
作者简介:潘亮铭男,1992年出生,湖北人。研究方向为操作系统。汪梦泽女,1992年出生,辽宁人。研究方向为操作系统。系统颠簸也是内存管理中的一个重要问题,本文详细分析了系统颠簸产生的原因并阐述了如何使用好的页面置换算法尽量避免颠簸的产生。
参考文献
[1][荷]TANENBAUM A S.现代操作系统[M].陈向群,马洪兵,译.北京:机械工业出版社,2009.
[2]张尧学,史美林,张高.计算机操作系统教程[M].北京:清华大学出版社,2006.
[3]GALVIN P B,GAGNE G.操作系统概念[M].郑扣根,译.北京:高等教育出版社,2011.
[4][美]BRYANT R E,O’HALLARON D R.深入理解计算机系统[M].龚奕利,雷迎春,译.北京:机械工业出版社,2010.
[5]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.
[6]NULL L,LOBUR J.计算机组成与体系结构[M].北京:机械工业出版社,2004.
[7]李芳,徐丽,陈亮亮.LRU近似算法的研究[J].现代电子技术,2009,32(3):36-38.
[8]王凌飞,王保保.Java虚拟机内存管理分析[J].现代电子技术,2007,30(5):172-174.
[9]刘小军,李秀娟.嵌入式操作系统VxWorks的内存管理技术研究[J].电子科技,2008(6):62-65.
【页面处理】推荐阅读:
静态页面与动态页面各自的执行机制说明11-04
页面布局07-11
页面分析08-21
页面结构09-12
动态页面技术07-25
网站页面布局07-30
产品页面设计10-23
页面置换算法模拟06-27
Asp.net页面06-20
页面置换算法实验报告09-16