动手写操作系统 -- 任务切换(独立栈)

同步来自我的博客http://fillzero.github.io/os/diy-os-05.html

每次调度,都先将之前的任务寄存器保存在任务自己的栈中,再将下个任务栈中的寄存器放置CPU中,然后iret即可继续执行下个任务。

时间: 2024-10-08 08:15:50

动手写操作系统 -- 任务切换(独立栈)的相关文章

动手写操作系统 -- 任务切换(共享栈)

同步来自我的博客:http://fillzero.github.io/os/diy-os-04.html

读 自己动手写操作系统

用一个月左右的时间读了<自己动手写操作系统>,这是一本让人读着很过瘾,却也特别累的一本书. http://ike.126.com 对操作系统的兴趣由来已久,只是一直未能找到入门之径.操作系统教材是个令人生畏的东西,它可以告诉人有什么,却不能告诉人为什么,从那里了解的操作系统有如盲人摸到的象,得到各个部分,却不能拥有整体,加之缺乏实践的支持,理论显得苍白空洞.如Linux般的开源操作系统,虽然可以让人坐拥全部源码,但一来规模庞大,让人不知从何入手,二来源码背后更多的是业务--操作系统和硬件知识,

Orange&#39;s 自己动手写操作系统 第一章 十分钟完成的操作系统 U盘启动 全记录

材料: 1 nasm:编译汇编源代码,网上很多地方有下 2  WinHex:作为windows系统中的写U盘工具,需要是正版(full version)才有写的权限,推荐:http://down.liangchan.net/WinHex_16.7.rar 步骤: 1 编译得到引导程序的机器代码.用命令行编译汇编源代码:name boot.asm -o boot.bin,其中boot.bin文件产生在命令行的当前目录中. 2 将引导程序写入到U盘引导盘的第一个扇区的第一个字节处(后),即主引导区.

自己动手写操作系统 -- 环境搭建

目录: 软件和工具下载 Bochs虚拟机配置文件 Hello World编辑编译 1. 软件和工具下载 Bochs虚拟机下载安装 下载地址: http://download.pchome.net/system/sysenhance/down-19486.html dd for windows下载安装 下载地址: http://www.downxia.com/downinfo/17093.html nasm for windows下载安装 下载地址: http://download.csdn.ne

自己动手写操作系统--个人实践

近期開始看于渊的<自己动手写操作系统>这本书,刚開始看就发现做系统的引导盘居然是软盘!心里那个汗啊! 如今都是U盘了,谁还用软盘.于是考虑用U盘. 于是開始下面步骤: 1.既然书上说给先要把软盘做引导盘,那我就相似地把U盘做成引导盘.在网上找了半天,发现USboot,于是就用它给自己的U盘做了一个引导盘. 2.把编译后的boot.bin文件用绝对扇区工具写入U盘就万事大吉了.相同,在网上找到了winhex(还有ultraiSO,这个没有什么用),但是这个关键的一步,自己不知道如何用winhex

自己动手写操作系统(一)环境准备

参考书籍为<自己动手写操作系统>于渊著 VMware12 centOS7.4.1708 1.bochs安装 首先下载安装包: 下载地址 然后解压,解压命令:sudo tar -zxvf bochs-2.6.9.tar.gz cd命令进入解压目录,先进行配置 配置命令:./configure --enable -debugger --enable-disasm 然后:sudo make 当我执行这一步的时候,报错了 没有Xlib的话就安装一下,这里进行全部安装:yum install libX*

自己动手写操作系统(一)环境准备【转】

转自:https://blog.csdn.net/qq_41785376/article/details/90739557 参考书籍为<自己动手写操作系统>于渊著 VMware12centOS7.4.1708 1.bochs安装首先下载安装包: 下载地址然后解压,解压命令:sudo tar -zxvf bochs-2.6.9.tar.gz cd命令进入解压目录,先进行配置配置命令:./configure --enable -debugger --enable-disasm 然后:sudo ma

自己动手写操作系统 第四章总结

本章主要内容是建立一个功能比較完好的引导扇区也称为 boot sector 首先回想一下一个操作系统从开机到执行的过程 1.引导 2.载入内核入内存 3.跳入保护模式 4.開始运行内核 可见在内核開始运行前还有非常多工作要做,假设所有交给boot sector,512字节非常可能不够用,所以我们须要将这个 功能分担出来,这个模块就是loader 如今,boot sector 的功能就是负责把loader载入到内存中,而且把控制权交给它,到此,boot sector就完毕任务了 而载入内核的功能就

自己动手写操作系统(二)一个最小的“操作系统”

第一步 首先新建一个boot.asm文件,用vim将书中的代码1-1写入文件中,并保存.然后使用nasm编译. 附上代码: org 07c00h mov ax, cs mov ds, ax mov es, ax call DispStr jmp $ DispStr: mov ax, BootMessage mov bp, ax mov cx, 16 mov ax, 01301h mov bx, 000ch mov dl, 0 int 10h ret BootMessage: db "Hello,