谁能分享下30天自制操作系统的光盘 [问题点数:0分]

Bbs1
本版专家分:0
结帖率 0%
30自制操作系统学习-第1天
                                                                  第一天  1 批处理文件:直接由DOS命令行解释执行的文件,通常后缀名为.bat或.cmd。  2 镜像文件:.img后缀的文件,可用于制作操作系统文件,一个3.5英寸的软盘容量为1440k。  3 nask:作者自己制作的汇编代码编译器,代码与nasm代码相差...
30自制操作系统》学习笔记_helloos0
本文转自:http://blog.sina.com.cn/s/blog_8a2281f701017miq.html 一.软件(文件)说明: 1.!cons_nt.bat文件:这是一种批处理文件,可以直接执行指令。本文件在这里的作用相当于cmd,用记事本查看其内容是,也即是cmd。 2.!cons_9x.bat文件:和!cons_nt.bat作用相同,只是用于windo
30自制操作系统光盘内容(全)
这是《<em>30</em>天<em>自制操作系统</em>》课本自带<em>光盘</em>中的内容,全部。有助于边看书边设计操作系统。 这是《<em>30</em>天<em>自制操作系统</em>》课本自带<em>光盘</em>中的内容,全部。有助于边看书边设计操作系统。
30自制操作系统中文版光盘 源码中文汉化
<em>30</em>天<em>自制操作系统</em>中文版<em>光盘</em>,绝对中文,包括工具包和<em>30</em>天每天的源代码,分开放在各个文件夹
30自制操作系统关盘文件
《<em>30</em>天<em>自制操作系统</em>》随书关盘,包括所有的代码及相关的工具。
30自制操作系统 光盘完整版 包括源码
因为看书需要<em>光盘</em>中的小工具和源码,但是<em>光盘</em>下载量最高的链接里并没有包含源码,我在别处找到了project源码,重新打包,发在这里,方便大家学习使用。
30自制操作系统 PDF + 完整源码光盘
这是一本集趣味性、实用性与学习性于一起的引导自己动手编写创建操作系统的书籍,指导大家从零编写所有代码来开发一个简易的带有窗口系统的32位多任务操作系统。 网上的源码基本都是不完整的,这也让本书的爱好者和学习者深受其害,本人经多次查找,终于找到了每个课程文件夹下包含多个完整子文件夹的源码<em>光盘</em>文件,整个<em>光盘</em>文件共 84.2M 大小,另加 PDF 书籍的文件,两文件合计共 138M 大小,合并压缩后共 60.5M ,在此<em>分享</em>给大家。 在此不知怎么发图片,大家可以去我的一篇推荐文章中去看此资源的实际情况,绝对是网上最完整的源码资源了。文章地址:https://blog.csdn.net/ccxhhw/article/details/80664015
30自制操作系统 书and随书光盘 都是完整版!!!
<em>30</em>天<em>自制操作系统</em> 书and随书<em>光盘</em> 都是完整版!!! //<em>光盘</em>下文件夹参考 Bz1621.lzh nasm-2.13.03-win64 操作系统
30自制操作系统——用U盘启动自制系统
最近试读了《<em>30</em>天<em>自制操作系统</em>》的前两章,感觉很有意思。 但是发现里面写的系统都是用软盘启动的,现在在大多数电脑上已经看不见软驱了,所以如果想运行书中的操作系统只能通过qemu(随书<em>光盘</em>中已经附带)模拟运行。这样的话成就感就会少很多,感觉像是在做一个简单的控制台程序,相信大多数童鞋都希望能做出一个能在真机上运行,能秀出来的作品。那有没有方法通过U盘去启动书中“自制”的操作系统呢?我的思路就是
(日本作家)30自制操作系统(随书光盘
<em>30</em>天<em>自制操作系统</em>(随书<em>光盘</em>)(日本作家注)
30自制操作系统-读取u盘数据
0.准备 再读取u盘这一节中,花费了一个月时间才成功,看到网站上有些博主说使用fat12文件格式的u盘,然后改下读取u盘的chs就能成功,有些博主说要用fat32文件格式的,再改chs也可以。我试了很久都不成功,实践证明还是要原理掌握了,才能实验成功。 先说下fat12文件格式的程序中的地址为什么是0xc200,0x4200+0x8000,0x8000是我们指定的内存读取地址,那么0x4200...
30自制操作系统-1
    因为前面看完了这本书, 所以准备花一些时间整理一下这本书(有空就写写),一开始在打算写一个&quot;操作系统&quot;的时候有两个打算,一个是于渊先生的《Orange's一个操作系统的实现》,另一个就是这本《<em>30</em>天<em>自制操作系统</em>》,这两个系统的区别是前者是类似Linux系统的命令行后者是图形界面,基于我对学习Windows内核的渴求(基本上不可能...万恶的商业软件),所以我选择了后者。    在开始之前需...
30自制操作系统-2
    今天早上发生了一件意想不到的事情,我一只拖鞋被不知道什么鬼吊走了....多半是猫啊狗的....回归正题,今天记录下面的内容,可能要变成60天<em>自制操作系统</em>了,哈哈,因为要忙其他的事情,所以不会那么勤快更新复习笔记...尽力吧    前面记录的是关于如何把作者已经制作好的&quot;操作系统&quot;通过U盘来启动,今天讲述的是这个&quot;操作系统&quot;是怎么做出来的.. 当然了作为开始之前,先得补充一些基础知识.......
30自制操作系统》PDF+ISO
《<em>30</em>天<em>自制操作系统</em>》<em>光盘</em>.iso 原书自带<em>光盘</em>文件。
30自制操作系统-随书光盘
<em>30</em>天<em>自制操作系统</em>随书<em>光盘</em>
30自制操作系统 (一个操作系统的实现)
<em>自制操作系统</em> (一个操作系统的实现)
30自制操作系统》——虚拟机使用
《<em>30</em>天<em>自制操作系统</em>》是一本学习操作系统的好教材,它教我们怎么从建立引导区开始,从零实现一个操作系统。但是,实现书中例子的时候,我们需要不断将我们写好的操作系统代码写入软盘并且还要不断重启电脑来试验我们的代码,大家一定感到很头疼吧。 与其不停的重启,不如使用模拟器,向大家推荐一款模拟器qemu,它是由Fabrice Bellard编写,功能非常强大。那么下面我就来教大家使用qemu运行书中自制操
30自制操作系统—川合秀实.pdf 高清中文电子书
操作系统开发入门经典书籍-<em>30</em>天<em>自制操作系统</em>,带有目录,十分适合想自己动手写一个操作系统的初学者
30自制操作系统附带的光盘文件
川合秀实的<em>30</em>天<em>自制操作系统</em>配套的<em>光盘</em>文件,非常全面,下载即可参考使用
30自制操作系统【笔记】
Day1 第四节我贴出部分源代码: ; hello-os ; TAB=4 ORG 0x7c00 ; 指明装载的地址 ; 以下的记述用于标准FAT12格式的软盘 JMP entry DB 0x90 DB &quot;HELLOIPL&quot; ; 启动区扇的名称可以是任...
30自制操作系统------命令行
实现一个命令行任务,首先需要一个命令行窗口,然后需要一个命令行任务,在命令行任务中实现命令行的相关功能。   一、创建一个命令行窗口 创建命令行窗口就是在屏幕上画个窗口出来,实际就是操作显存,这一部分利用前面已经实现的makewindow8函数即可实现。   二、创建一个命令行任务 有了命令行窗口,我们再来实现命令行的功能。 (1)光标闪烁功能       在刚开始做命令行时,
30自制操作系统之第二天Makefile
<em>30</em>天<em>自制操作系统</em>之第二天Makefile
30自制操作系统光盘
《<em>30</em>天<em>自制操作系统</em>》<em>光盘</em> 《<em>30</em>天<em>自制操作系统</em>》<em>光盘</em> 《<em>30</em>天<em>自制操作系统</em>》<em>光盘</em>
30自制操作系统》U盘启动,真机运行(16天)
首先说一下到目前为止U盘启动遇到的问题,首先的一个问题是“system volume information“,目前尚未解决,这个问题可能导致U盘启动失败,我猜测可能是由于每一次重新将OS写到U盘的时候原来的信息没有被清除,导致了在执行的时候把那些没有被覆盖掉的信息当成指令执行了。这个问题我会继续的追踪下去,力求能找到引起这个问题的真正原因是什么,如果有遇到同样问题的朋友,能留言相告。下面是真机的运
关于U盘启动操作系统《30自制操作系统
原本的启动是从img启动的,而且这个img是用FAT12文件系统进行格式化的(具体去搜索FAT12文件格式,这里给大家推荐一篇http://www.doc88.com/p-646605198560.html),那么也就是说我们的img文件符合FAT12文件系统的格式了,接下来我们用winhex这个软件来查看我们的img文件,同时比对FAT12文件系统的格式,看是否我们的img文件同FAT12文件系
30自制操作系统 光盘
<em>30</em>天<em>自制操作系统</em> <em>光盘</em>内容 <em>30</em>天<em>自制操作系统</em> <em>光盘</em>内容
30自制操作系统》第6天
1.PIC 可编程中断控制器 PIC 连接8个中断信号,监视输入管脚的8个中断信号。主PIC:IRQ0-IRQ7(IRQ2连接到从PIC:IRQ8-IRQ15)。 中断发生后,CPU命令PIC发送2个字节的数据,格式是:0xcd  0xXX,CPU收到2个字节后把数据当做指令来执行。0xCd 就是INT的机器码,cd  10 就是INT 0x10,于是执行了中断程序。 2.每次访问内存时,将
30自制操作系统》 day02
<em>30</em>天<em>自制操作系统</em> day02
30自制操作系统(pdf书籍+光盘文件)
想了解操作系统的朋友可以看看... 还要满50个字 还要满50个字 还要满50个字 还要满50个字
30自制操作系统光盘镜像完整版
1、随书<em>光盘</em>:每日文件+多个成果系统 2、全是随书<em>光盘</em>内容 3、很有意思的东西
30自制操作系统-第1天
第1天 从计算机结构到汇编程序入门 最近突发奇想要自己写一个操作系统,因为课上学的东西实在是一知半解、含混不清,废话少说,放马过来。(第一次写有这么多图片的csdn博客,都是泪)。本篇主要通过编写编写一个最基本的操作系统,来了解开发操作系统的流程,并初步引入汇编程序。
fdtoiso软盘镜像转光盘镜像
中的软盘镜像转<em>光盘</em>镜像的工具。可能因为作者是日本人,编码方式同国内不同吧,他制作的软盘镜像,国内大多数的工具都转不了,只能使用这个工具才能转换成<em>光盘</em>镜像。工具是日文的,把镜像拖到软件上就可以了。转换成<em>光盘</em>镜像就可以用U盘启动了。
30自制操作系统》 day5 小结
结构体、文字显示与GDT/IDT初始化
30自制操作系统学习笔记
<em>30</em>天<em>自制操作系统</em>学习笔记 本文大部分内容转自于http://www.mahaixiang.cn/internet/386.html BIOS CMOS等概念部分转自https://zhidao.baidu.com/question/13235310.html 还参考了http://blog.csdn.net/langeldep/article/details/8788119   笔
30自制操作系统》——从汇编到C
这次我们要用到4个文件,分别是ipl.nas、asmhead.nas、func.nas和 bootpack.c。 ipl.nas是引导扇区中的16bit程序,用于从磁盘中加载数据并跳转到asmhead.nas中。 asmhead.nas也是16bit程序,用于加载全局变量表,切换cpu到32位的保护模式,并跳转到后面的程序。 bootpack.c用于改变屏幕颜色,func.nas为bootp
30自制操作系统.pdf 完整版
<em>30</em>天<em>自制操作系统</em>.pdf 完整版,绝对值得珍藏
30自制操作系统光盘(分卷2)
<em>30</em>天<em>自制操作系统</em><em>光盘</em> 完整版带project目录 完整解压需要下载3个分卷 <em>30</em>天<em>自制操作系统</em><em>光盘</em>.part01.rar <em>30</em>天<em>自制操作系统</em><em>光盘</em>.part02.rar <em>30</em>天<em>自制操作系统</em><em>光盘</em>.part03.rar 本资源为分卷2
30自制操作系统-30days diy os
<em>30</em>days_diy_os <em>30</em>days_diy_os-head.pdf<em>30</em>days_diy_os-0.pdf<em>30</em>days_diy_os-1.pdf<em>30</em>days_diy_os-2.pdf<em>30</em>days_diy_os-3.pdf<em>30</em>days_diy_os-4.pdf<em>30</em>days_diy_os-5.pdf<em>30</em>days_diy_os-6.pdf<em>30</em>days_diy_os-7.pdf<em>30</em>days_
30自制操作系统光盘源码
《<em>30</em>天<em>自制操作系统</em>》<em>光盘</em>源码,日本《<em>30</em>天<em>自制操作系统</em>》<em>光盘</em>源码
30自制操作系统光盘(分卷1)
<em>30</em>天<em>自制操作系统</em><em>光盘</em> 完整版带project目录 完整解压需要下载3个分卷 <em>30</em>天<em>自制操作系统</em><em>光盘</em>.part01.rar <em>30</em>天<em>自制操作系统</em><em>光盘</em>.part02.rar <em>30</em>天<em>自制操作系统</em><em>光盘</em>.part03.rar 本资源为分卷1
30自制操作系统光盘(分卷3)
<em>30</em>天<em>自制操作系统</em><em>光盘</em> 完整版带project目录 完整解压需要下载3个分卷 <em>30</em>天<em>自制操作系统</em><em>光盘</em>.part01.rar <em>30</em>天<em>自制操作系统</em><em>光盘</em>.part02.rar <em>30</em>天<em>自制操作系统</em><em>光盘</em>.part03.rar 本资源为分卷3
30自制操作系统day23
编写malloc昨天的带窗口的应用程序,窗口的buffer是全局数组,导致生成的可执行文件很大。如果可以在运行时动态分配就可以解决这个问题。但是直接使用操作系统的memman_alloc()也不行,因为分配到的内存空间不属于应用程序的段。临时的解决方法是在编译时就把数据段开大一点,然后再用memman管理这段内存。因为分配的数据段大小不会对可执行文件的大小产生影响,所以是可行的。 malloc用的
30自制操作系统-第7天笔记
1.获取按键编码#define PORT_KEYDAT 0x0060void inthandler21(int *esp) /* 键盘中断 */ { struct BOOTINFO *binfo = (struct BOOTINFO *) ADR_BOOTINFO; unsigned char data ,s[4]; io_out8(PIC0_OCW2,0x61); //
30自制操作系统》学习笔记——第9天 内存管理
内存管理讲的两部分,容量检查,对内存的管理,作者的讲解已经非常清晰,所以这里不会重复,我会记录我个人对一些细节的理解,可能会有些和内存管理的题目跑偏
30自制操作系统(完整版)
<em>30</em>天<em>自制操作系统</em>,内容比较有趣,有兴趣的朋友可以下载看看。。。。
30自制操作系统学习-第7天
1 获取按键编码 如何让用户输入的键盘按键转换为对于的字符,只需使用汇编调用bios中断即可实现,我们在naskfuc.nas中编写好的大量in out接口尝试调用,修改后的int.c中inthandler函数: #define PORT_KEYDAT 0x0060 void inthandler21(int *esp) { struct BOOTINFO *binfo = (stru...
30自制操作系统day22
栈异常的处理当在应用程序中访问一个数组时,如果index超过数组的大小,可能会引起栈异常,因为只有访问到位置超过应用程序数据段的范围时才会导致异常。栈异常会触发0x0c中断。 处理异常时,最好能够显示发生异常的指令地址。因为中断时,CPU自动PUSH应用程序的EIP,CS,ESP,SS等,可以从栈上获得EIP。 中断后又执行了 PUSH ES PUSH DS P
30自制操作系统(中文版) PDF 文字版 非扫描
<em>30</em>天<em>自制操作系统</em>(中文版) PDF 文字版 非扫描 全网首发
30自制操作系统学习-第14天
1 提高分辨率 修改asmhead.nas画面模式的设定,只考虑支持QEMU模拟器的显卡: ; 设定画面模式 MOV BX,0x4101 ; VBE的640x480x8bi彩色 MOV AX,0x4f02 INT 0x10 MOV BYTE [VMODE],8 ; 记下画面模式,参照C语言 MOV WORD [SCRNX],640 MOV WORD [...
30自制操作系统
<em>30</em> 天<em>自制操作系统</em> <em>光盘</em>
30自制操作系统day28
allocaC语言编译器规定, 如果栈的大小超过4KB,则会调用__alloca()这个函数来获取栈的空间。为了能够使用更大的栈空间,我们需要简单地实现这个函数。__alloca: ADD EAX,-4 SUB ESP,EAX JMP DWORD [ESP+EAX]EAX是要分配的栈大小。因为call这个函数会push返回地址,
30自制操作系统(含源码及pdf书)
《<em>30</em>天<em>自制操作系统</em>》包含源码及pdf电子书 走过路过随便看看
30自制操作系统》学习笔记——第十五天
十五天的内容开始啦!         本书的进度大概已经到一半,今天要开始讲一个非常重要同时也挺难的东西,那就是多任务!                                                              多任务我们都很清楚,但一步步实现多任务的过程实在不容易,请跟紧思路哦!        首先,我们考虑电脑是如何完成多任务这样的功能呢?对了,就是
30自制操作系统》学习笔记——第十一天
开头先评评这本书。在豆瓣上看到了关于此书的书评。有人觉得这书小儿科,有人觉得这书不错,我也在这里说两句。那这本书适合什么样的人看呢?首先是像我这样缺乏开发经验的人。本书展现了一个较为完整的开发过程。它相当于是代领读者一步步开发出了这个操作系统,但很现实的是没有debug的经验。另外,虽说它对操作系统的探讨不深入,而且实现的基本上也都是最简单的功能。但是我觉得在这个学习过程中,你是一直可以清清楚楚看
30自制操作系统------文件读取
自制的操作系统已经可以实现一些简单的命令了,现在要新增一个type命令。   一、type命令简单介绍 1、type命令格式:type filename 2、type命令作用:读取文件内容,将文件内容显示在命令行窗口上   二、type命令实现思路 在实现命令行中dir命令时,我们了解到文件的相关信息在内存中保存为以下结构: struct FILEINFO { unsign
30自制操作系统》读书笔记Day4
具体代码移步:https://github.com/scusjs/MyOS 今天的内容为:C语言与画面显示的练习 写在前面:别用记事本打开或者保存文件,不然会出现各种纠结的错误,推荐sublime text2! 首先需要向VRAM中写入内容,使用指针写入内存下面会分析,这里采用在naskfunc.nas中添加函数的方法实现: _write_mem8: ; 等同于C语言的v
30自制操作系统》学习笔记——第八天
进入到第八天的内容。 第八天开始鼠标的数据的解读,函数moused-decode。首先,程序将鼠标传来的数据按三个字节一组,显示到屏幕上。为了实现这样的功能,使用了phase,来记录是第几个字节,工作进行到第几个阶段。第一个字节和按键有关,第二个字节和左右移动有关,第三个字节和上下移动有关。结构体MOUSE_DEC吧所有解读鼠标所需的变量都归总到此,其中,btn存放鼠标按键状态,x、y存放移
30自制操作系统》学习笔记--Mac环境搭建
弄了三天了,终于弄好了,先说结果,就是作者在网站上放了os x的工具(hrb.osask.jp,也有linux下的工具,可以自己去下载),也就是说我白忙活了三天。。。          再说一下这几天都干啥了,主要是想把c语言和nasm汇编连在一起。这个很多人都做过,但在网上现有的资料很少有在os X上做的的,也或者做了大家都没人说。。。。先贴代码: extern void swap(int
30自制操作系统之第15天 多任务(1)
多任务的本质是利用定时器和far跳转在任务之间进行切换,具体来说,一开始先运行main函数(就是处理我们的鼠标、键盘和定时器等事件),0.02s后定时器超时,执行如下语句: farjmp(0, 4 * 8); 这是一个far跳转,先看一下farjmp的实现: _farjmp: ; void farjmp(int eip, int cs) JMP FAR [ESP+4] ; eip, c
30自制操作系统之第一天的QEMU问题解析
在全书第18页上关于QEMU的使用,首先在http://wiki.qemu.org/Download下载对应的版本 (我的是windows64位的),下载后默认安装即可。 下面是刚入门的可能会碰到的错误(我就是其中之一),我在网上下载了PDF和tolset文件夹 于是,在安装好QEMU模拟器后,便在projects文件的01_day的helloos0文件夹里迫不及待的尝试了一把,在根据书上的命令
30自制操作系统中文光盘
<em>30</em>天<em>自制操作系统</em>随书<em>光盘</em>
30自制操作系统光盘内容)
<em>30</em>天<em>自制操作系统</em>(<em>光盘</em>内容)
30自制操作系统------字符串显示API
操作系统一般都会有一些系统功能可以供应用程序来使用,最基础的就是显示字符、字符串的API了。   一、API的编写 目前我们的应用程序都很简单,都是使用简单的汇编进行编写的。 而我们显示字符的函数cons_putchar是用C语言编写的,即使应用程序想要调用cons_putchar函数,首先需要传参,但是汇编语言是无法使用寄存器来给C函数传参的,所以我们需要在调用cons_putc
30自制操作系统------窗口操作
一个多任务的操作系统会有很多窗口,进行任务切换的同时窗口操作肯定也是必不可少的。   一、窗口切换 我们可以使用键盘或者鼠标进行窗口的切换。 自制的操作系统的窗口都是一个个图层,每个图层都是有各自的高度的,高度最低的是操作系统的背景图层(也就是桌面),高度最高的是鼠标图层。 我们使用按键F11来作为窗口切换的按键,按下F11,我们就将从下面数第2个图层的高度提升为sh
30自制操作系统笔记(四)
首先我们先展示一下第四天的成果: 图一:显示纯色 图二:显示格子 图三:使用调色板显示格子 图四:画正方形 最后的图为一个小界面: 第四天的内容其实不难,但是由于前三天写的代码部分有问题,导致今天调试了一天才找到问题所在问题的更正已经在下面的源文件中指出。 代码中唯一没有指出的是Makefile文件中的溢出小错误,将文件名字写错啦具体为: n
30自制操作系统 光盘 projects
<em>30</em>天<em>自制操作系统</em> <em>光盘</em> projects
30自制操作系统光盘文件
<em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em><em>30</em>天<em>自制操作系统</em>
30自制操作系统随书光盘
<em>30</em>天<em>自制操作系统</em>随书<em>光盘</em>
30自制操作系统 随书光盘
<em>30</em>天<em>自制操作系统</em> 随书<em>光盘</em>
30自制操作系统》学习笔记——第九天
第九天,咱们来说说内存管理。                                         很明显的,再次感受到《数据结构》的重要性。        首先我们来进行内存检查,即确定内存容量。用memtest函数实现。在确定容量前,首先要暂时让486以后的CPU的cache功能无效。为了确定CPU是386还是486以上,利用二者eflag的18位即可判断。486以上是AC
30自制操作系统学习笔记----day_two
一、实验主要内容 介绍文本编辑器: 重点总结:下载并安装文本编辑器TearPad,默认语言是日文,若想汉化安装汉化包即可,但推荐使用Notepad++,在软件安装时选择简体中文即可。 继续开发: 重点总结:各种指令及其作用 ORG:这个指令告诉nask,当程序开始执行的时候,把汇编文件中的机器语言装载到内存的某个地址中。需要注意的时候,当有ORG指令的时候,$代表的意思是立即数,亦即将要读入...
30自制操作系统》第一天
首先,这本书的操作系统需要用软驱来装载,但是当今都什么年代了,哪儿来的软驱,所以大家可以用虚拟机实现这本书里的所有东西,我用的是Virtual box,这是一款免费的虚拟机,个人感觉vmware太笨重了(虽然功能很全),言归正传,新建一个虚拟机神马的自己google,下面是添加一个软驱 然后就可以把软驱文件img文件加载进去了,前期工作已完成,下面是hello.img的编写,书上用2
30自制操作系统-显示鼠标指针
0.准备     克服了之前读取u盘和导入c语言的困难,接下来就是一些c语言和图形界面的编程,只要将作者提供的文件夹里的asmhead.nas更改,然后make img生成的haribote.sys写入u盘,ipl10.bin无须更改,写入u盘就可以 1.结果      ...
30自制操作系统学习-第13天
1 简化字符串显示 将HariMain中显示字符串的步骤: 1 :设置背景色 2:描绘字符串 3:刷新画面 我们简化这一过程,封装为一个用于字符串显示系列操作的putfont_asc_sht函数。 这时,主函数HariMain里只需调用传参即可: 2 重新调整FIFO缓冲区 在HariMain主函数中我们判断计时器的状态,是否超时,其中的判断部分: 倘若有一百多个计时...
第六天
为了让鼠标能移动起来,必须使用中断,而要使用中断则必须将GDT和IDT初始化。在此之前,首先要初始化PIC,它的意思是可编程中断控制器。它是将多个中断信号集合成一个中断信号的装置,PIC检测着输入管脚的多个中断信号,只要有一个中断信号过来,就将唯一的输出管脚信号变成ON,并通知给CPU。 其中与CPU直接相连的PIC为主PIC,与主PIC相连的PIC称为从PIC。其中从PIC通过第2号IRQ与主P
30自制操作系统》学习笔记(七)
一、代码执行顺序(前内容六天的内容) ipl10.nasasmhead.nasboopack.c 二、代码阅读 1.ipl10.nas(将软盘内容拷贝到内存中) ; haribote-ipl ; TAB=4 ; 读取软盘内容到内存中,然后跳转到0xc200开始执行,就是asmhead.nas文件 CYLS EQU 10 ; CYLS=10 读取是10个柱面
30自制操作系统》学习笔记——第十四天
来开始第14 天的内容吧。                                                                          今天一上来就要提高分辨率了,真是激动人心呀,提高之前:                                提高之后:                                   是不是一
30自制操作系统学习-第15天
多任务 bootpack.c: /* bootpack*/ #include &quot;bootpack.h&quot; #include &amp;lt;stdio.h&amp;gt; void make_window8(unsigned char *buf, int xsize, int ysize, char *title); void putfonts8_asc_sht(struct SHEET *sht, in...
30自制操作系统》学习笔记——第十天
来到第十天,很高兴啊,已经完成了大概三分之一的内容了!感觉写这个笔记,对自己还是很有用的。平日里看这种书,难免赶进度,草草浏览过。但是也因为要写笔记的因素,看得会相对认真一点。在回顾的时候看看自己以前的笔记,就会更快理清思路。                                               今天一开始,还是要继续昨天的内存管理内容。说来,对于内存管理这块,我还是
30自制操作系统》 day8 小结
鼠标控制与32位模式切换在编写代码的时候可以对照书中的代码,以便及时找出自己的错误。
30自制操作系统(高清非扫描带书签目录)
<em>30</em>天<em>自制操作系统</em>(高清非扫描带书签目录: 麻雀虽小五脏俱全,<em>30</em>天真正明白一个最小的操作系统怎么写出来
30自制操作系统笔记(三)
今天学习了第三天的内容,相比较前两天的内容有点难,但是还好成果出来啦。本次主要的改进之处是修改了主函数的名字,是我们可以不拘泥作者的要求。 我们先看一下运行结果截图: 此图为正常的运行结果,到现在操作系统采用了汇编+C语言的方式。我们看一下操作系统的主函数: /*告诉C编译器,有一个函数在别的文件里*/ void io_hlt(void); void UcanMain(void) {
30自制操作系统——用U盘启动自制系统》所用的工具
《<em>30</em>天<em>自制操作系统</em>——用U盘启动自制系统》所用的工具 文章地址:http://blog.csdn.net/nonekey/article/details/8758715 以上工具均来自互联网!
30自制操作系统笔记(九十)——源码
这里为了节省篇幅和csdn服务器的空间,我们只给出在七八之上改动的或者新建的源码文件的内容: sheet.c /* filename: sheet.c * description: 对图层的管理 * author: Howard * date: 2013-12-01 * version: v1.0 */ #include "bootpack.
30自制操作系统》学习笔记--番外篇之Mac环境下的工具介绍
这几天又有点不务正业了,书也没看,一直在搞这个破环境,尝试各种做法,网上各种垃圾信息,浪费了很多时间,说的基本都是废话,不过还是找到了一些,赶紧写下来,不然这个过几天又忘了         首先是环境,我用的是Max os Maverick 64,就是10.9,硬件(有点低0.0,对于小菜的我已经完全够用啦):         10.9刚发布,新出来的东西总问题一大堆,然后解决办法没几
30自制操作系统day16
任务自动化 今天要实现任务切换的自动化。最好能够有一个任务数组,每次定时器timeout就切换到下一个,这样就不用写很复杂的taskswitch()了。 首先执行task_init(),这里创建TASKCTL结构,为task数组的每一个TASK在段表中注册。最后设置当前的任务,也就是把调用task_init()函数的这个程序变成一个任务。之后便可进行任务切换了。 task_run()只是将任
30自制操作系统PDF文档
操作系统:从01天到<em>30</em>天,<em>自制操作系统</em>;
[读书笔记]30自制操作系统 day9 内存管理
1. 内存容量检查 由于内存和CPU的距离比CPU内部元件之间的距离要远很多, 因此,在寄存器内部使用 mov 要比 从寄存器MOV 到内存快很多 另外, 由于寄存器的速度快, 但是存储的容量非常有限, 所以不得不频繁的使用内存 为了解决这个问题, IBM 引入了 高速缓存存储器 (cache memory), 但是成本非常高 本质上呢, 我们可以讲这个高速缓存器件理解成是一个类似缓冲区的概念 2.
30自制操作系统》第1天
1.下载一个二进制编辑器(网上很多下载,google一下即可,也叫十六进制编辑器),他能直接对二进制数进行编辑。如果你对(某种处理器的)机器码非常熟悉的话,理论上可以用二进制编辑器完成(此处理器上的)任何软件的制作,小至一个计算器,大至一个编译器,操作系统(因为所有软件本质上都是CPU的机器指令和一些数据组成)。但是不同类型CPU的机器码是不一样的。当然,实际上用一个二进制编辑器编写一个windo
30自制操作系统(完美精排版)亚马逊自购azw格式 kindle专用
自己编写一个操作系统,是许多程序员的梦想。也许有人曾经挑战过,但因为太难而放弃了。其实你错了,你的失败并不是因为编写操作系统太难,而是因为没有人告诉你那其实是一件很简单的事。那么,你想不想再挑战一次呢? 已破解,复制到kindle即可阅读
30天编写操作系统》 如何制作U盘启动
笔者看了《<em>30</em>天编写操作系统》 之后,很想装一下B,所以一直很想让《<em>30</em>天编写操作系统》 的程序不只是在虚拟机里面运行,而且还希望将这个OS放到U盘上,从U盘启动,网上寻觅了各种方法均未实现我装B的伟大理想,所以只能自己动手了。下面是效果图,我的测试电脑屏幕坏掉了,不过还是看的清楚 下面的是步骤 1——首先到http://zhidao.baidu.com/share/cc932
30自制操作系统电子书及光盘源码
<em>30</em>天<em>自制操作系统</em>电子书及<em>光盘</em>源码
30自制操作系统day10
这一章讲到了多图层的显示问题。 首先将图层作为一个数据结构:struct SHEET{ unsigned char *buf; int bxsize,bysize,vx0,vy0,col_inv,height,flags; };其中,buf指向该图层所描绘的内容,应该是一个像素的数组。bxsize和bysize是图层大小。vx0,vy0是图层在屏幕的位置坐标,height表示图层高
30自制操作系统》 day3 小结
《<em>30</em>天<em>自制操作系统</em>》 day3 小结
30自制操作系统之第13天 定时器(2)
这一节我们同样只讲优化工作,关于缓冲区的优化。 我们为键盘、鼠标和定时器各维护了一个FIFO缓冲区,如果定时器有100个,我们要创建100个FIFO缓冲区。这是不优雅的。 FIFO缓冲区的作用:拿定时器1来说,我们怎样知道定时器1超时了。假设它的超时时间是10s,那么10s后,定时器1被告知超时,同时往它的FIFO缓冲区写入数据,这样在其他地方,我们只需查看它的FIFO缓冲区是否有数据,就知道
30自制操作系统》(川合秀实[日] 著,周自恒 等 译)
自己编写一个操作系统,是许多程序员的梦想。也许有人曾经挑战过,但因为太难而放弃了。其实你错了,你的失败并不是因为编写操作系统太难,而是因为没有人告诉你那其实是一件很简单的事。那么,你想不想再挑战一次呢?这是一本兼具趣味性、实用性与学习性的书籍。作者从计算机的构造、汇编语言、C语言开始解说,让你在实践中掌握算法。在这本书的指导下,从零编写所有代码,<em>30</em>天后就可以制作出一个具有窗口系统的32位多任务操作系统。本书以课题为主导,边做边玩,抛开晦涩难懂的语言,行文风格十分随性,还充满了各种欢乐的吐槽,适合操作系统爱好者和程序设计人员阅读。 作者: 川合秀实(Hidemi Kawai)生于1975年,是一位以“轻量化”编程思想见长的“非主流”开发者。2000年因自行开发的OSASK项目而名声大噪。OSASK是一个开源的32位微型操作系统,它并非以Linux等内核为基础,而是完全从零开始开发,在一张软盘的容量下实现了GUI、多任务、多语言等高级特性,启动时间只需1秒。本书的内容可以看成是作者以OSASK为蓝本,教会读者从零开始开发一个操作系统,同时可以让初学者在编写操作系统的过程中,了解操作系统背后更多的知识。 目录: 第0天  着手开发之前  1 1  前言  1 2  何谓操作系统  3 3  开发操作系统的各种方法  4 4  无知则无畏  4 5  如何开发操作系统  6 6  操作系统开发中的困难  7 7  学习本书时的注意事项(重要!)  9 8  各章内容摘要  11 第1天  从计算机结构到汇编程序入门  13 1  先动手操作  13 2  究竟做了些什么  19 3  初次体验汇编程序  22 4  加工润色  24 第2天  汇编语言学习与Makefile入门  28 1  介绍文本编辑器  28 2  继续开发  29 3  先制作启动区  40 4  Makefile入门  41 第3天  进入32位模式并导入C语言  45 1  制作真正的IPL  45 2  试错  50 3  读到18扇区  51 4  读入10个柱面  52 5  着手开发操作系统  54 6  从启动区执行操作系统  55 7  确认操作系统的执行情况  56 8  32位模式前期准备  57 9  开始导入C语言  59 10  实现HLT(harib00j)  62 第4天  C语言与画面显示的练习  64 1  用C语言实现内存写入(harib01a)  64 2  条纹图案(harib01b)  67 3  挑战指针(harib01c)  69 4  指针的应用(1)(harib01d)  74 5  指针的应用(2)(harib01e)  74 6  色号设定(harib01f)  75 7  绘制矩形(harib01g)  84 8  今天的成果(harib01h)  86 第5天  结构体、文字显示与GDT/IDT初始化  88 1  接收启动信息(harib02a)  88 2  试用结构体(harib02b)  89 3  试用箭头记号(harib02c)  91 4  显示字符(harib02d)  91 5  增加字体(harib02e)  94 6  显示字符串(harib02f)  96 7  显示变量值(harib02g)  97 8  显示鼠标指针(harib02h)  99 9  GDT与IDT的初始化(harib02i)  101 第6天  分割编译与中断处理  108 1  分割源文件(harib03a)  108 2  整理Makefile(harib03b)  109 3  整理头文件(harib03c)  110 4  意犹未尽  112 5  初始化PIC(harib03d)  115 6  中断处理程序的制作(harib03e)  119 第7天  FIFO与鼠标控制  125 1  获取按键编码(hiarib04a)  125 2  加快中断处理(hiarib04b)  127 3  制作FIFO缓冲区(hiarib04c)  1<em>30</em> 4  改善FIFO缓冲区(hiarib04d)  133 5  整理FIFO缓冲区(hiarib04e)  135 6  总算讲到鼠标了(harib04f)  138 7  从鼠标接受数据(harib04g)  141 第8天  鼠标控制与32位模式切换  144 1  鼠标解读(1)(harib05a)  144 2  稍事整理(harib05b)  146 3  鼠标解读(2)(harib05c)  148 4  移动鼠标指针(harib05d)  151 5  通往32位模式之路  153 第9天  内存管理  162 1  整理源文件(harib06a)  162 2  内存容量检查(1)(harib06b)  163 3  内存容量检查(2)(harib06c)  168 4  挑战内存管理(harib06d)  172 第10天  叠加处理  181 1  内存管理(续)(harib07a)  181 2  叠加处理(harib07b)  184 3  提高叠加处理速度(1)(harib07c)  194 4  提高叠加处理速度(2)(harib07d)  197 第11天  制作窗口  201 1  鼠标显示问题(harib08a)  201 2  实现画面外的支持(harib08b)  202 3  shtctl的指定省略(harib08c)  203 4  显示窗口(harib08d)  206 5  小实验(harib08e)  208 6  高速计数器(harib08f)  209 7  消除闪烁(1)(harib08g)  211 8  消除闪烁(2)(harib08h)  214 第12天  定时器(1)  220 1  使用定时器(harib09a)  220 2  计量时间(harib09b)  224 3  超时功能(harib09c)  225 4  设定多个定时器(harib09d)  228 5  加快中断处理(1)(harib09e)  232 6  加快中断处理(2)(harib09f)  234 7  加快中断处理(3)(harib09g)  236 第13天  定时器(2)  240 1  简化字符串显示(harib10a)  240 2  重新调整FIFO缓冲区(1)(harib10b)  241 3  测试性能(harib10c~harib10f)  243 4  重新调整FIFO缓冲区(2)(harib10g)  246 5  加快中断处理(4)(harib10h)  253 6  使用“哨兵”简化程序(harib10i)  257 第14天  高分辨率及键盘输入  262 1  继续测试性能(harib11a~harib11c)  262 2  提高分辨率(1)(harib11d)  266 3  提高分辨率(2)(harib11e)  269 4  键盘输入(1)(harib11f)  272 5  键盘输入(2)(harib11g)  275 6  追记内容(1)(harib11h)  277 7  追记内容(2)(harib11i)  279 第15天  多任务(1)  282 1  挑战任务切换(harib12a)  282 2  任务切换进阶(harib12b)  289 3  做个简单的多任务(1)(harib12c)  291 4  做个简单的多任务(2)(harib12d)  293 5  提高运行速度(harib12e)  294 6  测试运行速度(harib12f)  297 7  多任务进阶(harib12g)  299 第16天  多任务(2)  <em>30</em>4 1  任务管理自动化(harib13a)  <em>30</em>4 2  让任务休眠(harib13b)  <em>30</em>8 3  增加窗口数量(harib13c)  313 4  设定任务优先级(1)(harib13d)  317 5  设定任务优先级(2)(harib13e)  320 第17天  命令行窗口  329 1  闲置任务(harib14a)  329 2  创建命令行窗口(harib14b)  331 3  切换输入窗口(harib14c)  334 4  实现字符输入(harib14d)  337 5  符号的输入(harib14e)  341 6  大写字母与小写字母(harib14f)  343 7  对各种锁定键的支持(harib14g)  346 第18天  dir命令  350 1  控制光标闪烁(1)(harib15a)  350 2  控制光标闪烁(2)(harib15b)  352 3  对回车键的支持(harib15c)  355 4  对窗口滚动的支持(harib15d)  357 5  mem命令(harib15e)  359 6  cls命令(harib15f)  363 7  dir命令(harib15g)  366 第19天  应用程序  371 1  type命令(harib16a)  371 2  type命令改良(harib16b)  378 3  对FAT的支持(harib16c)  382 4  代码整理(harib16d)  387 5  第一个应用程序(harib16e)  387 第20天  API  392 1  程序整理(harib17a)  392 2  显示单个字符的API(1)(harib17b)  399 3  显示单个字符的API(2)(harib17c)  402 4  结束应用程序(harib17d)  403 5  不随操作系统版本而改变的API(harib17e)  405 6  为应用程序自由命名(harib17f)  408 7  当心寄存器(harib17g)  410 8  用API显示字符串(harib17h)  412 第21天  保护操作系统  418 1  攻克难题——字符串显示API(harib18a)  418 2  用C语言编写应用程序(harib18b)  420 3  保护操作系统(1)(harib18c)  424 4  保护操作系统(2)(harib18d)  426 5  对异常的支持(harib18e)  431 6  保护操作系统(3)(harib18f)  434 7  保护操作系统(4)(harib18g)  435 第22天  用C语言编写应用程序  443 1  保护操作系统(5)(harib19a)  443 2  帮助发现bug(harib19b)  448 3  强制结束应用程序(harib19c)  452 4  用C语言显示字符串(1)(harib19d)  455 5  用C语言显示字符串(2)(harib19e)  457 6  显示窗口(harib19f)  462 7  在窗口中描绘字符和方块(harib19g)  465 第23天  图形处理相关  468 1  编写malloc(harib20a)  468 2  画点(harib20b)  472 3  刷新窗口(harib20c)  475 4  画直线(harib20d)  478 5  关闭窗口(harib20e)  483 6  键盘输入API(harib20f)  484 7  用键盘输入来消遣一下(harib20g)  488 8  强制结束并关闭窗口(harib20h)  489 第24天  窗口操作  493 1  窗口切换(1)(harib21a)  493 2  窗口切换(2)(harib21b)  495 3  移动窗口(harib21c)  496 4  用鼠标关闭窗口(harib21d)  498 5  将输入切换到应用程序窗口(harib21e)  500 6  用鼠标切换输入窗口(harib21f)  506 7  定时器API(harib21g)  507 8  取消定时器(harib21h)  511 第25天  增加命令行窗口  515 1  蜂鸣器发声(harib22a)  515 2  增加更多的颜色(1)(harib22b)  518 3  增加更多的颜色(2)(harib22c)  520 4  窗口初始位置(harib22d)  523 5  增加命令行窗口(1)(harib22e)  524 6  增加命令行窗口(2)(harib22f)  528 7  增加命令行窗口(3)(harib22g)  531 8  增加命令行窗口(4)(harib22h)  532 9  变得更像真正的操作系统(1)(harib22i)  534 10  变得更像真正的操作系统(2)(harib22j)  538 第26天  为窗口移动提速  541 1  提高窗口移动速度(1)(harib23a)  541 2  提高窗口移动速度(2)(harib23b)  543 3  提高窗口移动速度(3)(harib23c)  547 4  提高窗口移动速度(4)(harib23d)  549 5  启动时只打开一个命令行窗口(harib23e)  551 6  增加更多的命令行窗口(harib23f)  554 7  关闭命令行窗口(1)(harib23g)  555 8  关闭命令行窗口(2)(harib23h)  561 9  start命令(harib23i)  563 10  ncst命令(harib23j)  564 第27天  LDT与库  571 1  先来修复bug(harib24a)  571 2  应用程序运行时关闭命令行窗口(harib24b)  573 3  保护应用程序(1)(harib24c)  577 4  保护应用程序(2)(harib24d)  580 5  优化应用程序的大小(harib24e)  583 6  库(harib24f)  587 7  整理make环境(harib24g)  590 第28天  文件操作与文字显示  598 1  alloca(1)(harib25a)  598 2  alloca(2)(harib25b)  601 3  文件操作API(harib25c)  605 4  命令行API(harib25d)  612 5  日文文字显示(1)(harib25e)  615 6  日文文字显示(2)(harib25f)  624 7  日文文字显示(3)(harib25g)  629 第29天  压缩与简单的应用程序  635 1  修复bug(harib26a)  635 2  文件压缩(harib26b)  636 3  标准函数  644 4  非矩形窗口(harib26c)  647 5  bball(harib26d)  648 6  外星人游戏(harib26e)  651 第<em>30</em>天  高级的应用程序  659 1  命令行计算器(harib27a)  659 2  文本阅览器(harib27b)  664 3  MML播放器(harib27c)  671 4  图片阅览器(harib27d)  679 5  IPL的改良(harib27e)  683 6  <em>光盘</em>启动(harib27f)  688 第31天  写在开发完成之后  690 1  继续开发要靠大家的努力  690 2  关于操作系统的大小  692 3  操作系统开发的诀窍  693 4  <em>分享</em>给他人使用  694 5  关于<em>光盘</em>中的软件  695 6  关于开源的建议  696 7  后记  698 8  毕业典礼  703 9  附录  704 ——《豆瓣读书》
30自制操作系统》 第三天
程序: 本次的程序,汇编语言:; haribote-os ; TAB=4 ORG 0xc200 ; 这个程序将要被装载到内存的什么地方呢? MOV AL,0x13 ; VGA显卡,320x200x8位彩色 MOV AH,0x00 INT 0x10 fin: HLT ; 让cpu停止,等待指令 JMP fin ; 无限循环 说明:
文章热词 机器学习 机器学习课程 机器学习教程 深度学习视频教程 深度学习学习
相关热词 android时间戳加30天 android时间戳增加30天 疯狂android讲义光盘 c# 光盘刻度 30多岁+学习人工智能 python教程光盘
我们是很有底线的