一种空管自动化操作系统模拟器的设计与实现

2014-12-09 02:54唐筱丹
科技创新与应用 2014年34期
关键词:C语言

摘 要:提出一种能够进行Solaris系统操作的模拟软件,该软件应用于对空管自动化的技术维护上机练习,通过模拟Solaris系统的文件管理及相关操作命令,以C语言进行编写,实现了windows管理平台下的Solaris系统模拟。

关键词:Solaris系统;空管自动化技术维护;文件管理;C语言

1 概述

当前,空中交通管理自动化系统由于系统的稳定性要求及相关规定,多数采用LIUNX/UNIX/SOLARIS等系统,此类系统作为工业应用计算机操作系统,并无日常使用,因此操作人员对其的了解多数停留在简单命令操作的表层设计上,对文件系统的实现更是了解甚少。而对于空管技术保障人员来说,提高自身技术技能更好服务空管运营是空管安全保障的关键之一。因此,近年来各地空管分局站投入了大量人力物力进行各种技术培训,力争提高自身的技术水平。而对于当前而言,缺乏一种能够从底层介绍实现以上系统的模拟器以实现操作人员对其系统管理及相关命令的理解。文章从实际出发,通过空管telephonics自动化系统应用的Solaris系统的模拟设计,为技术保障人员提供一种系统理解的手段与平台,与此同时也为相关其他UNIX系统、LINUX系统的模拟设计提供一种参考。

2 总体设计思想

作为以文件管理为根本的Solaris系统,文件的管理是操作系统的核心,它实现了操作系统对计算机系统的软件资源管理,在实际空管自动化中则体现对telephonics系统软件的操作。因此熟悉掌握Solaris系统必须先熟悉其文件的管理及文件系统的设计,因此设计的核心在于系统的文件管理,具体实现如下:

首先假定模拟的Solaris文件系统可利用的内存空间为1M,并将其分为512块,每一块为512个字节,对于分好的512块便是文件系统可使用的块数。在系统中,文件系统的分配以块分配为标准,并实现于位示图方法管理。在具体实现中,系统首先建立512个块,按照上述理解进行设计,每个块又拥有自己的标志块号,对于文件与目录拥有自身的I节点,在软件设计上实现了I节点表。再之,通过二进制文件对位图区、节点I、数据块每一个必要元素进行映射。如若操作有改变上述元素则对其进行改变并刷新输出相应数据,并与此同时在下一次启动时快速导入数据,具体实现的架构如图1所示。

图1 系统总体设计图

3 具体实现

3.1 实现的功能部分

对于系统的实现,必须具备空管自动化日常操作常见的命令,包括cd/pwd/ls/mkdir/rmdir等等。由于篇幅关系,在功能实现上,以创建、删除文件。在创建文件上,首先按照文件路径的各分量检索各级目录,搜索相关文件,如若其存在则释放占用空间,使其成为一个空文件。如若全部搜索成功(除了最后一个)则在最后找到的文件所在目录增加一个磁盘I节点,并将节点添加入新目录中。同理,对于删除文件,系统首先设置全局变量num用于统计I节点数量,在搜索过程中,假定num=1,并且没有其他用户在使用该文件,则释放文件占用空间,并释放对应的I节点和目录项;如果num>1则将其减一,并立即收回,同时对I节点也对应减一操作;如果num=0则释放I节点及磁盘块。

总体设计上,系统定义了几大模块,实现模块化管理与设计。首先,作为格式化(初始化)文件系统,模块init()用于文件硬盘的格式化,当程序启动时模块将其中所有的数据,包括用户及用户下的文件系统全部还原为初始状态,从头开始建立文件系统。当然,在执行过程中应首先判断文件系统是否建立,如若已建立则在内存中申请内存空间并将磁盘上的文件读入内存;其次,用户登录模块用于用户名密码的匹对,对于一个只有6个用户的模拟系统来说,系统的用户名与密码保存在程序之中,这与实际系统有一定的差别。真正的Solaris的密码存在于固定路径的文件之中;再之,command()模块用于用户命令解析和直系,若数据被修改或新建立,系统将保存主存I节点和数据的内容到内存的文件系统,并与此同时写回磁盘,保存修改。

3.2 执行代码示例

在代码的具体实现中,程序的核心思想是一切皆是文件,如果是目录,Block中存储的是目录下文件和目录的fcb。如果是文件,Block中存储的是文件的内容。

4 结束语

文章提出一种适用于空管自动化操作系统的Solaris的模拟系统,该系统通过模拟Solaris系统的文件管理与命令操作,通过C语言在windows平台下实现。系统可以满足空管一线技术保障对于Solaris系统的培训,提高相关认识及技术水平。

参考文献

[1]吴志攀,杜华英.模拟UNIX文件系统的设计及实现[J].惠州学院学报(自然科学版),2003(6).

[2]王侠,高胜哲.Linux的文件系统[J].辽宁税务高等专科学校学报,2005(2).

[3]陈肖.Linux的文件系统和文件[J].微电脑世界,2004(23).

作者简介:唐筱丹(1988,12-),女,湖北武汉,中国民用航空中南地区空中交通管理局湖北分局助理工程师,武汉大学硕士研究生,研究方向为计算机软件工程。endprint

猜你喜欢
C语言
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
基于C语言的计算机软件编程
C语言程序设计课程教学与学科专业相结合的探索
《C语言程序设计》翻转课堂教学改革要点
浅谈基于C语言的计算机软件程序设计
高职高专院校C语言程序设计教学改革探索
基于C语言的学生成绩管理系统的设计与实现
基于C语言的常用排序算法比较研究
论子函数在C语言数据格式输出中的应用