WangFuJie Blog

路在脚下,心向远方

自制操作系统 - 系统调用

系统调用

系统调用是用户进程与内核沟通的方式。可以将 CPU 从用户态转向内核态;系统调用通过中断门来实现。本文将实现系统调用的框架,并实现一个yield系统调用。yield的作用是进程主动交出执行权,去调度执行其他进程。

自制操作系统 - 创建内核线程

创建内核线程

在内核进行相关组件初始化后,就会进入内核线程,执行内核的相关任务。本文将创建内核线程,通过时间片和任务优先级进行线程的切换和调度

自制操作系统 - 内核内存映射

内核内存映射

内核使用前边8M的内存,本文将对内核使用的内存进行映射。在已经启用内存分页后通过页目录最后一项指向自身来修改页目录和页表。并通过位图来管理内核的1M~8M的内存位置。

自制操作系统 - 内存管理初步

内存管理初步

计算机使用分页机制来管理内存,32位最大访问4G内存,通过页目录和页表机制来映射着4G内存,我们自制的操作系统将使用平坦模型,即线性地址、物理地址、虚拟地址都是对应的。本文将对物理内存进行管理已经实现内存映射。

自制操作系统 - 计数器、时钟与蜂鸣器

计数器、时钟与蜂鸣器

计算机硬件中使用CMOS实时时钟(RTC)数据, 它使用电池供电,维持系统时间和日期。通过 I/O 端口读写CMOS寄存器,用来获取CMOS中的时间和实时时钟信息,并触发周期性中断或时钟中断。