19 2020/09 java8 Streams API 详解(上) -- streams 入门 streams api 1. 引言多年前,我们在介绍 java8 新特性的时候,提到过作为 java8 一个亮点的新特性  #流 #streams #集合 #collection
01 2020/08 让单测变得如此简单 -- spock 框架体验 引言测试流程在软件开发过程中显得越来越重要了,因为无论经验多么丰富的开发者,都难免在编码过程中出现失误甚至是逻辑错误,在这样的前提下,单元测试就显得非常重要了单元测试通过对程序中每个部分进行独立的测试 #技术帖 #java #spring #单元测试
26 2020/07 内核的雏形(上) -- 创建属于 kernel 的堆栈与 GDT 引言经过 20 多篇文章的一步步走来,我们已经从开机启动的 BIOS 执行跳转进入到自己编写的起始扇区,又从起始扇区跳转进入到 loader,时至今日 #技术帖 #操作系统 #os #堆栈
18 2020/07 实战操作系统 loader 编写(下) -- 进军内核 引言上一篇文章中,我们结合此前已经介绍过的一系列知识,成功的将内核载入内存并进入到了保护模式中实战操作系统 loader 编写(上) -- 进入保护模式 但是,我们马上就遇到了一个十分重要的 #技术帖 #操作系统 #os #linux
14 2020/07 实战操作系统 loader 编写(上) -- 进入保护模式 引言此前的文章中,我们详细介绍了从引导扇区跳转到 loader 的工作:从启动扇区跳转到 loader 引导扇区的工作已经告一段落,接下来我们的工作就是编写我们的&nbs #操作系统 #内核 #nasm #汇编
08 2020/07 详解 Linux 可执行文件 ELF 文件的内部结构 引言上一篇文章中,我们介绍了如何让汇编语言与 C 语言相互调用:如何实现汇编语言与 C 语言之间的相互调用 还记得我们自制操作系统的脚步到哪里了呢?没错,已经完成了从启动 #技术帖 #操作系统 #linux #oranges
03 2020/07 从启动扇区跳转到 loader 引言上一篇文章中,我们详细介绍了 FAT12 文件系统的构成,并且在 linux 环境下构建了我们自己的软盘,虽然这在此前我们已经实现过了很多次实战 FAT12 #操作系统 #os #system #nasm
01 2020/07 实战 FAT12 文件系统 引言经过一系列的文章,我们终于完成了从实地址模式跳转到保护模式,并且实现了分段、分页以及保护模式下的中断与异常机制保护模式究竟“保护”了什么 可是我们除了最初的时候,在磁盘第一个扇区写入一段 #文件系统 #文件 #磁盘 #fat
27 2020/06 保护模式下的中断和异常(下) -- 软件实战篇 引言上一篇文章中,我们详细介绍了保护模式下的中断和异常以及他们的硬件基础结构 -- 可编程中断控制器 8259A,以及他的初始化和中断的屏蔽与打开:保护模式下的中断和异常 #cpu #interrupt #8086 #中断
25 2020/06 保护模式下的中断和异常(上) -- 硬件原理篇 引言在我们这个系列的第一篇文章中,我们就已经使用过了 BIOS 10H 中断,用来在屏幕上打印一行字符:计算机是如何启动的?如何制作自己的操作系统 除了&nbs #操作系统 #os #异常 #保护模式