原文:[自制操作系统] 第16回 锁的实现

目录 一 前景回顾 二 锁的实现 三 使用锁实现console函数 四 运行测试 一 前景回顾 上回我们实现了多线程,并且最后做了一个小小的实验,不过有一点小瑕疵。 可以看到黄色部分的字符不连续,按道理应该是 argB Main ,这是为什么呢 其实仔细思考一下还是很好得出结论。我们的字符打印函数是put str,实际上是调用的put char函数。所以打印一个字符串需要多次调用put char函 ...

2022-07-09 16:32 0 522 推荐指数:

查看详情

[自制操作系统] 第18 实现用户进程(上)

目录 一、前景回顾 二、任务切换相关 三、实现TSS 四、运行测试 一、前景回顾   在上一我们已经实现了键盘的驱动编写和环形缓冲区的实现,现在让我们来想这么一个问题:   一直以来我们的程序都在最高特权级0下工作,这意味着任何程序都和操作系统平起平坐,可以改动任何资源。如果不改 ...

Tue Aug 16 05:20:00 CST 2022 0 589
[自制操作系统] 第15 实现内核线程

目录 一、前景回顾 二、线程的实现 三、线程的切换 四、运行测试 一、前景回顾   上一我们实现了内存管理系统,说实话代码还是比较多,看起来还是比较头疼的,不过为了知识这都是小事。这一节终于可以来实现我们的线程了,以前学操作系统的时候,听到的最多的就是什么线程,进程等,这一我们来自 ...

Fri Jul 08 22:28:00 CST 2022 0 714
自制操作系统13】

没错,就是你们这群高级程序员(其实我也是)所耳熟能详但又讲不明白的 ,只是本章不是如何用,也不是讲它是什么原理,而是在实现我们操作系统的过程中所自然而然地产生的一个需求,并且我们从零开始来实现 本章需要和上一章 【自制操作系统12】熟悉而陌生的多线程 连起来看,因为正是上一章我们多线程输出 ...

Sun Mar 08 23:48:00 CST 2020 0 971
[自制操作系统] 第14 内存管理系统

目录 一、前景回顾 二、位图bitmap及函数实现 三、内存池划分 四、运行 一、前景回顾   前面我们已经花了一个回合来完善了一下我们的系统,包括增加了makefile,ASSERT以及一些常见的字符串操作函数。关于makefile,还是我以前学习Linux系统编程的时候学了一点点 ...

Fri Jul 08 04:30:00 CST 2022 0 668
[自制操作系统] 第19 实现用户进程(下)

目录 一、前景回顾 二、进程的创建与初始化 三、如何进行进程的切换 四、运行测试 五、原书勘误 一、前景回顾   在上一我们大概讲述了任务切换的发展,并且知道Linux采用的是一个CPU使用一个TSS的方式,在最后我们成功实现了tss。现在万事俱备,我们正式来实现用户进程。 二、进程 ...

Sun Sep 04 20:29:00 CST 2022 5 577
[自制操作系统] 第17 编写键盘驱动

目录 一、前景回顾 二、实现键盘输入的中断函数 三、编写键盘驱动 四、实现环形输入缓冲区 五、运行测试 一、前景回顾   上一我们完成了实现,并且利用优化了终端输出函数。这一我们来实现键盘的输入,为后面的用户交互功能打好基础。 二、实现键盘输入的中断函数   首先我们需要 ...

Tue Jul 12 05:39:00 CST 2022 0 1449
自制操作系统:引导扇区的实现

本书依靠的教材是于渊的《Orange'S:一个操作系统实现》 实验环境及工具 ArchLinux(windows也可以) 代码编辑器Emacs(你尽情使用自己喜欢的编辑器) nasm (一个开源的汇编器,可以从sourceforge下载,也可以从Linux发行版的软件 ...

Mon Apr 13 18:32:00 CST 2015 1 5322
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM