minix3.1.8源代码解读(一)

本文介绍了Minix3.1.8操作系统启动流程,包括内核初始化、进程调度、消息传递机制的实现细节,并提到了源代码阅读工具Source Insight。此外,概述了时钟服务和进程调度的内部工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在大二上学习《操作系统》这门课的时候,课程主要是以linux系统为案例,当时老师推荐我们去阅读minix3.1.8的源代码,minix3是基于微内核架构的类UNIX计算机操作系统,精巧而且完全开源,对于操作系统的入门者来说较容易理解。以下为本人在课程中整理的源代码阅读笔记,如果也有想要解读minix3.1.8源代码的朋友,推荐一款读代码的软件 source insight,利用其树状架构可以很清楚地追踪函数及变量定义。


一、Minix3的启动:

l  硬件读入引导程序,引导程序装入boot,Boot在内存中装入引导映像(包含内核、pm、fs等)

l  内核初始化(/Kernel/main.c):

1、初始化进程表和特权进程表:

状态设成空闲、区别任务还是其他进程设置p_nr值、将priv[i]映射到ppriv_addr[i]等

2、初始化引导映像中的程序,将进程名、进程指针等都复制到proc表中,并设置它们的特权(是否允许陷阱、是否能够运行kernel call等等);如果是内核任务或者根系统进程则可以立即被调度,其他进程则不能被调度;

3、初始化栈、建立内存映射、初始化寄存器值

4、初始化服务器的栈指针,将proc_ptr 指向当前进程,入队,设为可调度状态

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值