MIT 6.828操作系统实践:JOS Lab1 深入解析启动与初始化

5星 · 超过95%的资源 需积分: 10 41 下载量 9 浏览量 更新于2024-10-25 收藏 481KB PDF 举报
"MIT 6.828操作系统实践课程主要教授操作系统工程基础,包括虚拟内存、内核和用户模式、系统调用、线程、上下文切换、中断、进程间通信、并发活动的协调以及软件与硬件之间的接口。学生将构建一个名为JOS的操作系统,它具有类似Unix的功能,但采用exokernel风格实现,即Unix功能主要作为用户级库而不是内建在内核中。JOS操作系统的主要部分包括:启动、内存管理、用户级环境、抢占式多任务处理、文件系统和spawn以及一个shell。参考链接为MIT的相关课程页面。" 在《MIT 6.828 Jos操作系统实践Lab1讲义》中,第三章介绍了系统的启动和初始化过程。这部分内容首先阐述了物理内存的分布,特别是在早期PC中的布局。物理内存从0x00000000开始,前640KB称为"LowMemory",接着是VGA显示缓存、16位外设、扩展ROMs、BIOS ROM以及扩展内存。其中,BIOS ROM位于0x000F0000到0x00100000,负责系统初始化并加载操作系统到内存。 BIOS的作用是初始化硬件,如激活显卡、检测内存,然后从指定设备(如软盘、硬盘、CD-ROM或网络)加载操作系统,并将控制权转移给操作系统。随着处理器技术的发展,如80286和80386,处理器能够访问更大的内存空间,但早期的PC架构仍保留了对1MB内存的特殊处理。 在Lab1中,学生将学习如何实现JOS操作系统的启动过程,这涉及理解BIOS的角色、BootLoader的功能以及内核如何加载到内存。启动过程中,BootLoader通常被放置在磁盘的特定位置,如MBR(主引导记录),它的任务是加载内核到内存的适当位置并开始执行。在这个过程中,学生需要理解地址映射、内存分配以及如何从16位实模式转换到32位保护模式,以允许操作系统访问和管理更多内存。 通过这个实验室,学生不仅会接触到实际操作系统开发的细节,还会学习到如何处理硬件与软件之间的交互,以及如何在用户级和内核级之间划分功能,这是理解现代操作系统设计的关键。在后续的实验中,学生将进一步实现内存管理、用户环境、多任务和文件系统等核心操作系统特性。这些知识对于未来从事操作系统开发或相关领域的工程师来说是必不可少的基础。