基于32位X86CPU的嵌入式操作系统研发
发布时间:2021-08-07 01:17
根据日常工作中对嵌入式操作系统的功能要求以及当前x86CPU的发展趋势,提出研发基于32位x86CPU的嵌入式操作系统。本文通过对嵌入式操作系统的应用领域及发展情况的研究,以及对操作系统原理的分析,确定了本研究需要开发的系统的框架结构。分析并实现了将CPU从16位实模式到32位保护模式的切换,基于时间片轮转的可抢占式内核,对相同优先级的任务引入了优先数概念,实现了对相同优先级任务的时间分配和最先适应法的内存分配算法。建立了系统调试环境,设计了系统中任务管理模块、内存管理模块的测试方案,并成功通过了测试。为方便系统调试,实现了在DOS系统下装载内核和基本的控制台驱动程序。最后独立自主开发一套基于32位x86CPU的嵌入式操作系统。
【文章来源】:广西大学广西壮族自治区 211工程院校
【文章页数】:92 页
【学位级别】:硕士
【部分图文】:
源代码日录结构图
出仑文边幼~32位X86CPU的嵌夕、式操作龙蔽崖充花开发在本研究中,体系结构相关的程序统一存放在一个目录下,在这个目录下,分别为各个体系建立一个目录,用以保存不同体系结构的程序。其基本结构如图3.2:图3.2体系结构相关代码图Fig.3.2ArehiteetUresPeeifieeode这么设计的好处就是将硬件相关的代码独立出来,使操作系统移植的复杂性降到最低。例如,本操作系统是基于32位的x86处理器的,属于IA32体系,在开发的时候,只在L气32目录中添加代码。如果需要移植到ARM体系结构下,只需要增加ARM体系结构对应的代码即可完成移植,而不会影响到其它已经部分。体系结构无关代码。体系结构无关代码是指与硬件无关的代码,通常是操作系统的核心部分
跳转至内核。程序的流程图见图3.4:打打开文件件 读读内核文件数据据 至 至 RAMMM跳跳转至内核核调调整内存范围 围 图3.4系统装载程序流程图 Fig.3.4SystemloadingProgramflowehart装载程序主要有两个关键点。一是跨内存段传送数据。二是手动构造跳转指令。跨内存段传送数据。受调试环境是DOS的限制,DOS程序在默认情况下,只能访问当前段内的内存空间,而使用动态内存分配的时候,并不能保证系统分配的空间一定是0x80000(使用段:偏移的表示方式为8000:0000)这个地为L,因此需要直接操作段寄存器,直接定位到操作系统区的内存地址。同时受到16位实模式的现实,每个内存段最大只有64K的空间,如果超过这个范围,地址计算将出现错误,从而导致数据被覆盖。为完成跨内存段传送数据
本文编号:3326850
【文章来源】:广西大学广西壮族自治区 211工程院校
【文章页数】:92 页
【学位级别】:硕士
【部分图文】:
源代码日录结构图
出仑文边幼~32位X86CPU的嵌夕、式操作龙蔽崖充花开发在本研究中,体系结构相关的程序统一存放在一个目录下,在这个目录下,分别为各个体系建立一个目录,用以保存不同体系结构的程序。其基本结构如图3.2:图3.2体系结构相关代码图Fig.3.2ArehiteetUresPeeifieeode这么设计的好处就是将硬件相关的代码独立出来,使操作系统移植的复杂性降到最低。例如,本操作系统是基于32位的x86处理器的,属于IA32体系,在开发的时候,只在L气32目录中添加代码。如果需要移植到ARM体系结构下,只需要增加ARM体系结构对应的代码即可完成移植,而不会影响到其它已经部分。体系结构无关代码。体系结构无关代码是指与硬件无关的代码,通常是操作系统的核心部分
跳转至内核。程序的流程图见图3.4:打打开文件件 读读内核文件数据据 至 至 RAMMM跳跳转至内核核调调整内存范围 围 图3.4系统装载程序流程图 Fig.3.4SystemloadingProgramflowehart装载程序主要有两个关键点。一是跨内存段传送数据。二是手动构造跳转指令。跨内存段传送数据。受调试环境是DOS的限制,DOS程序在默认情况下,只能访问当前段内的内存空间,而使用动态内存分配的时候,并不能保证系统分配的空间一定是0x80000(使用段:偏移的表示方式为8000:0000)这个地为L,因此需要直接操作段寄存器,直接定位到操作系统区的内存地址。同时受到16位实模式的现实,每个内存段最大只有64K的空间,如果超过这个范围,地址计算将出现错误,从而导致数据被覆盖。为完成跨内存段传送数据
本文编号:3326850
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3326850.html