当前位置: 首页 > 专利查询>清华大学专利>正文

操作系统内核构件跨域运行的方法技术方案

技术编号:2838293 阅读:258 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于嵌入式操作系统领域,其特征在于把系统模块扩展成为一个包含元数据的文件节-元数据节,而在元数据中含有服务接口函数的内核构件,在内存地址空间中设定:可读写核心域、同机同域、跨域操作用的只读核心域和用户域、跨机操作用的网络核心域和网络用户域,为各域分别建立适用于同机同域、跨域和跨机情况下内核构件运行的多种通信通道,通过在操作系统核心和内存地址空间中为相应各内核构件建立影子内核构件服务接口函数来解决同机跨域或跨机内核构件的下载、访问和卸载问题,本发明专利技术还利用在操作系统内设定的元数据管理和缓存、构件管理、绑定管理、构件缓存管理等平台在同时保证性能和安全的情况下,完成下动态组装内核构件的工作。

【技术实现步骤摘要】

本专利技术属于嵌入式操作系统领域。
技术介绍
随着计算技术的发展,我们已经由PC时代进入网络时代,进而进入“普适计算时代”。“普适计算”指的就是,“无论何时何地,只要有需求,就可以通过某种方式访问到所需的信息”。在针对普适计算的嵌入式系统环境中,需要大量的智能嵌入式系统存在,能随时根据环境的变换,提供适当的功能和服务。目前嵌入式系统硬件发展迅速,但面向环境随时改变的系统软件,特别是操作系统对环境动态变化、硬件资源有限、硬件多样化等目前普遍存在的嵌入式系统环境中的特点还不能很好地适应。目前操作系统的研究大概是三个方向高端服务器系统,桌面系统和嵌入式系统。其中面向嵌入式的操作系统与面向普适计算的操作系统相近。迄今为止,操作系统的体系结构大致分为两种大内核(也叫单体内核,Monolithic Kernel)体系结构和微内核(Micro Kernel)体系结构。传统的大内核体系结构操作系统将图形、设备驱动、文件系统等全部功能都在操作系统内核中实现,运行在内核状态、同一地址空间。这种体系结构的操作系统的优点是可以减少进程间通信和状态切换的系统开销,系统的运行效率比较高。其缺点是内核庞大,占用资源多,整个系统剪裁不易,并且一旦个别操作系统模块(如驱动程序)运行出错,就会导致整个系统崩溃,所以整个操作系统的稳定性和安全性都不好。微内核体系结构的操作系统则在内核中只实现那些必须由内核实现的基本功能,而将图形、文件系统、设备驱动、通讯等功能放在内核之外,作为系统服务来提供相应的功能,一般都作为一般的用户进程来运行。这些系统服务程序在用户状态下运行。这类操作系统的优点是有一个精炼的内核,便于移植、扩展,系统的稳定性和安全性都比较好。由于系统服务程序运行在用户地址空间,个别系统服务程序(如驱动程序)的错误不至于导致整个操作系统崩溃。其缺点是由于把系统在运行中用户状态和内核状态要频繁切换,这样会导致系统效率降低。Linux操作系统的内核是单一内核体系结构(大内核),整个内核是一个单独的非常大的程序,我们可理解为它们都处于rw_core domain中,即权限最高的内核空间。所有的模块都集成在一起,系统的性能和速度都很好,但是可扩展性和维护性就相对比较差。为了弥补这一缺点,Linux操作系统使用了一种机制一内核模块(Kernel Module),这样在不需要内核重新编译的情况下,模块能动态地载入内核或从内核移出。但内核模块也都处于rw_core domain中,有问题的内核模块会破坏整个系统。与现有操作系统技术相比,本专利技术提出了一种把Linux操作系统功能进行构件化封装,通过建立高效、安全的多通道构件通信手段,实现了内核构件的灵活加载和在不同域(domain)运行的方式。这里进行了构件化封装的内核子系统称为内核构件,如文件系统内核构件,TCP/IP网络内核构件。其构件化封装的特征是该构件提供的服务功能通过接口(Interface)显示地表达出来,且该构件需要得到的服务功能也通过接口显示地表示出来,这部分信息以元数据的形式保存在存储内核构件的程序文件中。这里所指的接口的具体形式是多个函数指针项形成的一个数组。这里的“域”是指具有不同安全级别和访问权限的地址空间,如属于在一个内存地址空间中的“域”,属于在同一机器,但属于在不同内存地址空间中和不同通信通道的“域”,属于在不同机器中和不同通信通道构成的“域”。这样就可以根据嵌入式系统的动态环境需求,动态“组装”成一个能够“刚好”满足此环境需求的操作系统,且可把有“安全问题”的操作系统功能构件放置在一个特定的域中,使其无法对系统进行破坏,从而可提供了整个操作系统的可靠性、高效性和灵活性。
技术实现思路
针对现有操作系统技术不适合动态组装和重构,灵活性和安全性无法同时满足,而且硬件资源有限的情况,本专利技术提出了,可把操作系统功能(如文件系统功能、网络功能等)进行构件化封装,形成内核构件。各个构件之间根据元数据中的接口实现相互的访问。各个构件可以运行在不同的域中,而通过建立高效、安全的多通道构件通信手段,实现了各个构件之间的数据传递,从而实现了内核构件的灵活加载和在不同域运行。本专利技术的特征在于,该方法在分布式网络内的计算机中的面向构件的操作系统或者传统的操作系统按以下步骤依次进行步骤(1)初始化,步骤如下把系统的内核模块扩展成一个内核构件,这是一个还没有链接的执行格式目标文件,在其中建立了专门包含元数据的文件节——元数据节,在元数据中包含了内核构件提供的服务/需求接口的列集/散集函数构成部分;所述的执行格式目标文件的框架形式为内核构件需要的头文件的说明、元数据所在的节声明开始、服务接口的元数据说明、需求接口元数据说明、元数据所在的节声明结束、内核构件功能实现的具体内容、内核模块初始化函数以及内核模块返回函数;所述的列集函数的功能是对内核构件所提供的接口中的函数定义进行字节序列化打包操作;所述的散集函数的功能是对已经序列化的数据镜像字节反序列化解包并恢复函数定义的操作;在内存地址空间中设定下述整个包括读/写/执行在内的内存访问权限和包括内核态/用户态在内的CPU特权态的一段地址空间,称为域可读写核心域,用rw_core domain表示,在一台计算机上只有一个,该域与操作系统核心处于同一地址空间,处于该域中的内核构件权限最高,且由操作系统核心直接加载,操作系统核心与内核构件之间、内核构件相互之间的通信通道连接只读核心域,用r_core domain表示,在一台计算机上有多个,该域与操作系统核心不处于同一地址空间,操作系统核心能对属于此域中的内核构件进行读写操作;属于同一个只读核心域内的内核构件通过此域空间互操作,但属于不同只读核心域内的内核构件之间只能通过基于共享内存的通信通道互操作,该通道是建立在内核态的共享内存和同相应的代理(Proxy)与存根(Stub)进行数据的列集与散集之上的;用户域,用user domain表示,在一台计算机上有多个,都处在用户态的地址空间,处于此域中的内核构件只能通过所述共享内存的通信通道与处于可读写核心域和只读核心域中的内核构件或操作系统核心进行互操作;网络核心域,用net_core domain表示,是一个位于另一台计算机的地址空间上且属于内核态的域,位于此域中的内核构件通过基于TCP/IP协议的网络通信通道实现互操作,或者下载到本地计算机中运行,且处于本地计算机的只读核心域中;网络用户域,用net_user domain表示,是一个位于另一台计算机的地址空间上且属于用户域的域,位于此域中的内核构件通过基于TCP/IP协议的网络通信通道实现互操作,或者下载到本地计算机中运行,且处于本地计算机的用户域中;在所述操作系统内建立下列所述内核构件跨域下载/运行/卸载所属的支撑平台元数据管理/缓存平台设有内核构件注册表,其中包括内核构件的代码和元数据信息,使得内核构件的元数据信息由元数据管理/缓存平台统一管理;同时,在内核构件间进行异地访问时,完成元数据的本地缓存工作;构件管理平台设有内核构件注册表,执行内核构件在服务管理中注册和注销; 绑定管理平台接收构件管理平台输入的接口绑定通知,完成对内核构件需求接口中的函数指针的赋值,若找不到需求接口中的函数指针对应的本文档来自技高网
...

【技术保护点】
嵌入式操作系统内核构件跨域运行的方法,其特征在于,该方法在分布式网络内的计算机中的面向构件的操作系统或者传统的操作系统按以下步骤依次进行:步骤(1)初始化:把系统的内核模块扩展成一个内核构件,这是一个还没有链接的执行格式目标 文件,在其中建立了专门包含元数据的文件节-元数据节,在元数据中包含了内核构件提供的服务/需求接口的列集/散集函数构成部分;所述的执行格式目标文件的框架形式为:内核构件需要的头文件的说明、元数据所在的节声明开始、服务接口的元数据说明、需求接口元数据说明、元数据所在的节声明结束、内核构件功能实现的具体内容、内核模块初始化函数以及内核模块返回函数;所述的列集函数的功能是对内核构件所提供的接口中的函数定义进行字节序列化打包操作;所述的散集函数的功能是对已经序列化的数据镜像字节反序列化解包并恢复函数定义的操作;在内存地址空间中设定下述整个包括读/写/执行在内的内存访问权限和包括内核态/用户态在内的CPU特权态的一段地址空间,称为域:可读写核心域,用rw_coredomain表示,在一台计算机上只有一个 ,该域与操作系统核心处于同一地址空间,处于该域中的内核构件权限最高,且由操作系统核心直接加载,操作系统核心与内核构件之间、内核构件相互之间的通信通道连接:只读核心域,用r_coredomain表示,在一台计算机上有多个,该域与操 作系统核心不处于同一地址空间,操作系统核心能对属于此域中的内核构件进行读写操作;属于同一个只读核心域内的内核构件通过此域空间互操作,但属于不同只读核心域内的内核构件之间只能通过基于共享内存的通信通道互操作,该通道是建立在内核态的共享内存和同相应的代理与存根进行数据的列集与散集之上的;用户域,用userdomain表示,在一台计算机上有多个,都处在用户态的地址空间,处于此域中的内核构件只能通过所述共享内存的通信通道与处于可读写核心域和只读核心域中的内核构件或操作系统 核心进行互操作;网络核心域,用net_coredomain表示,是一个位于另一台计算机的地址空间上且属于内核态的域,位于此域中的内核构件通过基于TCP/IP协议的网络通信通道实现互操作,或者下载到本地计算机中运行,且处于本地计算 机的只读核心域中;网络用户域,用net_userdomain表示,是一个位于另一台计算机的地址空间上且属于用户域的域,位于此域...

【技术特征摘要】

【专利技术属性】
技术研发人员:陈渝许拥军李树雷刘鲲
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1