linux内核设计与实现 pdf
- 12 -
基于x86架构的操作系统微内核设计与实现
吴斯梁心雨
(广西谷堆信息科技有限公司,广西南宁530012;桂林航天工业学院,广西桂林541004)
【摘要】操作系统是计算机系统的关键组成部分,负责管理和协调计算机的所有硬件资源和软件资源,它使得人们能够能容易地使用计算机完成学习和工作。但是要理解操作系统本身的架构和运行机制是一件非常困难的事情,文章介绍了一种基于x86架构的操作系统设计方法,通过实现操作系统的内存管理、进程与线程管理以及中断和系统调用等基本功能,来帮助人们更深入地理解操作系统内部的实现机制。
【关键词】操作系统;进程;中断;内存管理
【中图分类号】TP316【文献标识码】A【文章编号】1008-1151(2020)10-0012-03 Design and Implementation of Operating System Microkernel Based
on x86 Architecture
Abstract: Operating system is the key component of the computer system, which is responsible for the management and coordination of all the hardware and software resources of the computer. It makes it easy for people to use the computer to finish study and work. However, it is very difficult to understand the architecture and operating mechanism of the operating system itself. This paper introduces method to design operating system based on x86 architecture. By implementing the memory management, process and thread management, interrupt and system call and other basic fu
nctions of the operating system, people can understand the internal implementation mechanism of the operating system more deeply.
Key words: operating system; thread; interrupt; memory management
引言
从1946年第一台计算机诞生到20世纪50年代中期,一
直都是手工操作计算机,之后才陆续出现了批处理系统、多
道程序系统、分时系统以及最后的通用操作系统[1-3]。它集成
了前面的多种系统功能为一体,并不断地提供新的功能,简
化用户门槛,使得计算机越来越普及,即使是没有相关专业
知识的人也可以非常方便轻松的使用计算机完成日常中的工
作[4]。发展到如今,计算机更是成了人们生活中不可或缺的一
部分,密切嵌入到日常生活中的方方面面,而这一部分也归
功于操作系统的发展,带来的低门槛使用与高效协调硬件资
源与软件程序,成功将计算机带入了千家万户[5]。
在操作系统带来越来越多方便的同时,客观上也带来了
一些问题,高度的抽象与低门槛的使用,使得人们想要了解
计算机的工作原理也变得越发困难。计算机历史的发展过程,
某种程度上可以概括为在用户与计算机之间不断地增加抽象
层,这些抽象层越多,用户越方便,但想要触及到原理性的
知识,也意味着要不断地去挖掘、穿透这些抽象层,特别是
鉴于操作系统这种工程性的产物[6]。在长达几十年的发展中,
错误的探索或者无意义的历史包袱也会附加在其上,使其变
得愈发臃肿,想要了解原理性的知识也变得愈发困难,如何
能用一种趣味加有效的方法帮助人们更好地了解计算机原理
知识就变得很有研究意义[7]。本文利用基于x86架构,设计操
作系统的基本框架,实现内存管理、进程与线程管理以及中
断和系统调用等模块的基本功能,通过这些功能的实现,便
于人们更容易深入到操作系统内部,了解和掌握其核心架构。
1 设计思路
利用32位Linux系统作为编译机器,在其上运行着gcc、
nasm、make三个软件,内核代码经过编译成功后,得到可执
行的内核文件,然后使用真实的物理机运行该内核文件,使
用bochs虚拟机作为内核镜像运行的载体,因为bochs与
VirtualBox都支持跨平台,因此系统可以运行在任意平台上。
从层次结构上来划分,系统内核最底层是MBR,主引导
记录,其负责读取内核加载器并将控制权转交给内核加载器。
内核加载器负责将整个内核加载到内存中,然后再将控制权
交给内核。第二层是内核的基础模块,主要涵盖内存管理模
块、进程管理模块、文件系统、中断与系统调用等4个最核
心的方面。第三层是驱动层,实现硬盘驱动、键盘驱动等,
以实现人机交互和文件管理。最上层则是用户相关的,包括
【收稿日期】2020-08-08
【作者简介】吴斯(1980-),女,广西玉林人,广西谷堆信息科技有限公司工程师,研究方向为计算机应用技术。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。