微型操作系统的设计与实现1

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MOS微型操作系统的设计与实现1

李红卫

(江苏技术师范学院计算机科学与工程学院,江苏常州 213001)

摘要:本文介绍一个基于Intel 80x86 CPU实模式下的多任务微型操作系统MOS的设计与实现。着重阐述了MOS的层次结构、内存布局、引导程序设计、进程管理、上下文切换、信号量管理、内存管理、文件系统、I/O管理、用户接口以及MOS命令处理程序。MOS可作为嵌入式操作系统,它易于扩充和移植。

关键字:MOS微型操作系统;层次结构;进程;上下文切换

中图分类号:TP316 文献标识码:A

Design and Implementation of MOS Mini Operating System

Li Hongwei

(School of Computer Science and Engineering, Jiangsu Teachers University of Technology,

Changzhou 213001, China)

Abstract: The paper introduces the design and the Implementation of a simple multi-task mini operating system (MOS) based on Intel 80x86 CPU real model. It expounds the hierarchical structure of MOS, memory layout, design of bootstrap, process management, context switch, semaphore management, memory management, file system, I/O management, user interface and MOS command processor. MOS can be as a embedded operating system. It’s extensible and portable.

Key words: MOS mini operating system; hierarchical structure; process; context switch

1 引言

在嵌入式系统开发中往往需要一个微型操作系统,而目前常用的操作系统复杂而庞大,为此,本文提出设计一个简单的基于Intel 80x86 CPU实模式下的多任务实时微型操作系统MOS(Mini Operating System),实现了处理机与进程管理、存储管理、设备管理、文件系统,中断管理等功能,能很好地应用在嵌入式系统开发中。

2 MOS系统结构及内存布局

MOS微型操作系统采用层次式模块化结构,如图1所示。最底层的硬件和硬件之上的ROM-BIOS是PC机本身具有的,MOS依赖于ROM-BIOS。MOS-IOS(MOS Input/Output System)层是MOS系统的输入/输出层,提供了基本的输入/输出功能。在MOS-IOS之上是各种管理模块,包括进程控制、信号量管理、时钟管理、内存管理、文件系统和I/O管理等功能,这些功能通过MOS提供的系统调用为用户程序服务。MOS命令处理程序是用户操作计算机的接口。

MOS系统运行于Intel 80x86 CPU实模式下,可管理的内存空间为1MB,图2是MOS系统内存布局。整个内存空间分为三部分,第一部分是系统空间,从0x00000至0x31fff共200KB;第二部分是用户空间,从0x32000至0x9ffff共440KB;第三部分是PC机保留的空间,从0xa0000至0xfffff共384KB。

3 MOS引导程序的设计

当PC机加电后,首先执行ROM-BIOS初始化系统,然后将引导盘中的引导记录装入内存0x7C00处并执行,由引导记录完成操作系统的加载。MOS系统以1.44MB的3.5寸软磁盘为载体,其引导记录在软盘的0面0道1扇区。本系统充分利用这一扇区的512个字节实现更多的

1江苏省高校自然科学研究资助项目:项目名称:RTEMS嵌入式实时操作系统的研究,颁发部门:江苏省教育厅,编号:06KJD520052,项目主请人:李红卫。

功能,通过软中断INT 0x90实现读/写磁盘扇区,读/写文件分配表,查找文件簇号等基本功能。图1的MOS-IOS 的功能代码包含在引导程序中。引导程序的主要功能是初始化MOS 运行环境,把MOS 系统装入内存,并将CPU 控制权交给MOS ,因此,引导程序需要在磁盘中寻找MOS 系统文件,找到后将其装入内存并运行。

4 MOS 各功能模块的设计

4.1 进程管理

MOS 系统采用可剥夺调度方式,以优先级高者优先的调度算法分配处理机。进程可在就绪、运行和阻塞三个状态之间变迁,其状态转换如图3所示。获得处理机的进程处于运行状态,在就绪链表中等待处理机的进程为就绪状态,运行中的进程因等待事件的发生进入阻塞状态。用于进程控制的系统调用有三个:(1) 创建进程 SysCreateProc :创建进程的主要工作是为新创建的进程申请一个空闲的进程控制块PCB 、一个堆栈,并初始化堆栈和填写PCB 信息,然后以优先级大小将新创建的进程插入到就绪链表中,等待进程调度程序的调度。(2) 删除进程 SysDelProc :处于运行状态的进程可将自己删除。(3) 进程延迟 SysTimeDly :执行该系统调用使处于运行状态的进程睡眠若干个时钟。当某一进程睡眠时间到,会由时钟中断处理程序将其唤醒。 中断向量表(1KB)0x00000

BIOS 数据区(256B)

0x00400 磁盘缓冲区(1KB)0x00500

FAT 表缓冲区(5KB)0x00900

引导程序0x01D00

引导程序的栈空间0x01F00

MOS(64KB) 0x02000

0x12000

0x32000

用户空间(440KB) 0xA0000

视频显示RAM (128KB) 存储堆和数据区(128KB) 0xC0000

VGA/其他卡上的 ROM BIOS 0xE0000

其他BIOS 映射区 0xF0000

ROM BIOS 映射区 0xFFFFF

图 2 MOS 系统内存布局图

硬件

ROM-BIOS

MOS-IOS

进程控制模块 信号量管理模块时钟管理模块内存管理模块文件系统模块 I/O 管

理模块

MOS 系统调用接口

图 1 MOS 操作系统层次结构

MOS 命令处理程序

用户调用MOS 系统调用接口

应用程序

相关文档
最新文档