基于BS架构WEB操作系统Meclody设计研究.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于BS架构WEB操作系统Meclody设计研究

基于BS架构WEB操作系统Meclody设计研究   摘要:本文介绍了一种基于B/S架构、分布式处理的Web操作系统——Meclody,它提供了基于进程的应用程序平台、文件系统、安全系统等基本功能。文章着重介绍了应用程序的部署和运行原理。用户只需要一个支持必威体育精装版HTML标准浏览器的小型设备便可以使用Meclody服务器和各种第三方程序服务器提供的应用,达到了最便捷的访问体验。   关键词:B/S架构 WEB操作系统 Meclody 系统架构   中图分类号:TP316 文献标识码:A 文章编号:1007-9416(2013)09-0125-02   随着计算机网络技术的不断发展,传统意义上的操作系统在一些网络应用上表现出了局限性,选择开发基于B/S架构的Web操作系统,正逐渐成为未来的发展方向之一[1]。目前已经有多款Web OS问世,现有的Web OS系统多使用Web平台(ASP.NET、PHP、JSP/servlet等)和JavaScript开发,采用Ajax技术进行通信。然而,这些系统上的应用程序在运行时没有严格分界,每个程序除了拥有像登录后的用户ID等这样公共的身份之外没有有效的区分机制,这使得后台服务器不清楚接收到的请求来自于前台哪一个程序[2]。一个应用程序甚至可以轻易干扰其它程序的运行,这就如同在DOS实模式时代,造成了资源的浪费和安全性的不足,当一个应用程序崩溃后,Web OS难以清理程序占用的资源;同时由于操作系统的核心程序没有体现比应用程序更高的特权,应用程序很可能造成极大的性能开销而导致整个系统陷于卡顿。   基于桌面的现代操作系统提出了进程和线程的概念,这样就能很好地解决以上问题,WEB操作系统Meclody正是基于这个思想而开发,采用.Net Framework 4.5作为开发平台,主要使用了Spring.NET、NHibernate、ASP.NET MVC 4、JQuery、Newtonsoft Json等开源框架技术,力求让WebOS从类DOS时代进入类现代操作系统时代。   1 Meclody内核   自从UNIX出现以来,人们一直把运行在系统空间的代码和数据结构的集合称之为内核(Kernel),这标志着内核存在边界。然而Meclody却有所不同,仅把比较底层、与基本功能靠得最近的核心部分称为内核。在内核的上面是管理层(Executive),这一点比较接近Windows系统的结构。管理层包括对象管理、进程管理、安全管理等模块。从领域驱动的角度来说,Meclody内核包括了全部的数据访问层和大部分业务逻辑层。   在Meclody系统中,系统内核对于应用程序是透明的,应用程序通过调用Meclody服务层提供的服务API来获得资源和支持,其运行机制如(图1)所示。   在结构设计上,Meclody系统采用典型的Web应用三层架构,即表示层、业务逻辑层、数据访问层[3]。Meclody把业务逻辑层细分为服务层和内核层,而数据访问层则抽象为隶属于内核层中内存管理器的一部分。表示层提供了UI交互界面,这个层使用HTML5与JavaScript开发实现,同时这个层包含各个应用程序的UI逻辑,并提供了调用系统服务的平台;服务层负责处理表示层发送过来的服务,并按需求调用内核层的功能;内核层提供各个组件模型基本功能和上下文支持;数据访问层基于ORM模型提供了对数据的持久化功能(图2)。   2 系统服务   对于应用程序而言,操作系统内核的作用体现为一组可以供其调用的接口,在Meclody中,系统服务表现为一组系统函数集。从程序运行的角度来说,应用程序的进程(或者说是实际的JavaScript代码)是主动的,是发出调用请求的一方,而内核是被动的,只是为应用程序提供指定的服务。   前台系统维护着所有的API,每当程序代码调用这些 API 时,前台会生成一个上下文标识,包括了调用进程的信息并维护与服务器通信时的状态、异常、调用参数和返回值。接着,前台系统会开始向后台发送HTTP请求,需要注意的是,应用程序无权直接发送请求,必须经过前台系统代理,这基于设计模式中的Proxy理念。其中,调用参数主要包括以下信息:进程信息(进程ID,进程令牌)、服务名称、该服务传递的参数;返回值则主要包括:返回状态(成功或失败,以及错误描述编码与信息)和返回结果。   当服务器收到请求后,Meclody内核里会构建这个进程。通过判断请求的上下文标识获知请求服务的名称和参数,以创建挂靠于这个进程的线程来完成请求。此时,这个线程将被赋予该进程所拥有的一切资源,包括权限、特权、句柄等。因为现在的 Web 服务器软件都是用一个线程维护一个HTTP请求,所以线程事实上早已被服务器软件创建,而 Meclody内核创建的线程

文档评论(0)

189****7685 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档