E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
30天自制操作系统
《
30天自制操作系统
》学习笔记——第六天
好的,第六天的笔记开始! 如题,今天的主要内容就是分割编译与中断处理。 首先说分割编译。这是由于把所有函数都放在一个源文件里使得略显庞大,为此可以根据功能划分为多个文件。而各个文件公用的,比如定义的常数,和公用的函数的声明,便写在.h的文件里,也就是头文件里。这样,在每个文件开始时,只要写上#include"xxx.h"即可。一个细节,""代表头文件和源文件
u011879578
·
2014-02-16 00:00
《
30天自制操作系统
》学习笔记——第五天
新的一天又来到啦!话说为啥这么兴奋呢?想说说学习这本书的动机。看这本书到现在,真的觉得是对c和汇编在开发应用方面的一本非常好的教材。从中可以回顾c和汇编,学习开发过程,还有就是,了解一个最基础的操作系统。这些事情对我来说是非常诱人的,于是学习这本书便是有意义的。 回到正题,开始第五天的笔记。 第五天一开始讲的是结构体。从书中的例子,我们可以更直观地体会为什么会有结构体
u011879578
·
2014-02-14 23:00
《
30天自制操作系统
》学习笔记——第四天
但虽说耽搁了一点时间,回头再看这本《
30天自制操作系统
》,我觉得这种程度的汇编基础还是需要的。本书虽说是零基础,但若真是汇编和c都啥不懂,肯定会越看越迷糊。 现在觉得,
u011879578
·
2014-02-12 23:00
《
30天自制操作系统
》学习笔记——第三天
由于准备期末考试,耽误了挺长时间,重新拿起来,快马加鞭!期末的时候,好好复习了一下《微机原理与接口》,对汇编又复习了一遍,买了本王爽的《汇编语言》,趁这个机会多学点汇编。 好的,进入第三天。第三天的重要内容是c语言和汇编的混合使用,这点对以前没有这样用过的菜鸟来说,让我非常兴奋。 一开始,作者在原来的程序上,加了汇编语言编写的读盘程序。这部分没啥好说的,但是特定像是INT0x1
u011879578
·
2014-01-08 21:00
《
30天自制操作系统
》第5天
1. 结构体、文字显示与GDT/IDT初始化结构体 strucar {}test; 传参代替多个参数的传参。以前我们调用BIOS绘图,现在在32位模式下不能调用了,需要自己自力更生。显示器上显示的一切都是绘制的,包括鼠标形状等。2. 查询方式效率低,中断效率高,鼠标键盘均是中断实现。3. 只认识机器指令0101,汇编器,编译器将高低级语言翻译为机器码,OS抽象,内存区!!信息的表示,信息的处理
a379039233
·
2014-01-06 20:00
《
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.每次访问内存时,将所访问的地址
a379039233
·
2014-01-06 20:00
《
30天自制操作系统
》第4天
1. C语言与画面显示的练习汇编与C语言结合时能自由使用的寄存区只有EAX,ECX,EDX3个,其他寄存区用于记忆非常重要的值,只能读不能写。Intel系列CPU:8086->80186->286->386->486->Pentium->PentiumPro->Pentium2->Pentium3->Pentium4->.....286是16位,386以后是32位。2. char i;是类似AL的
a379039233
·
2014-01-06 20:00
《
30天自制操作系统
》第3天
1. 进入32位模式并导入C语言制作真正的IPL(启动程序加载器)-用他来装载程序BIOS 0x13号函数(INT 0x13)读写磁盘。将硬盘内容装入内存。JC error ;jump if carry,如果有进位标志则跳转到error。2. 软盘就像一棵树的截面,他有上下两面,向上的面用磁头0读写,下面用磁头1读写。树有很多年轮,软盘也类似,软件年轮之间的部分叫柱面(cylinder),上下各有
a379039233
·
2013-12-23 20:00
操作系统
C语言
《
30天自制操作系统
》第2天
1.汇编语言学习与Makefile入门 ORG 0x7C00 ;指明程序的装载地址 (将程序装到内存哪个起始地址上) INT 0x10 ;调用显卡BIOS JMP entry ;跳到某个地址 MOV ax, 0 ;AX=0 所有的汇编指令都汇编为对应的机器指令,比如: ADD CX,0x1234 ;编译为: 81 C1 34 12 2,计算机是用来计算
a379039233
·
2013-12-23 20:00
《
30天自制操作系统
》第0天
1.天下无难事,只怕有心人。兴趣遍地都是,专注与持之以恒才是最重要的。2.所谓开发操作系统,就是想办法制作一张"含有操作系统(代码),能够自动启动的磁盘。" (电脑开机后,将磁盘上OS代码读取到内存某个位置,再将PC指向这个位置,开始OS指令执行). ---所有运行程序都在内存中(少部分代码在磁盘交换区)。3.第一个操作系统是用0101二进制指令写出来的,在第一个操作系统基础上开发编辑器,编译器
a379039233
·
2013-12-21 18:00
《
30天自制操作系统
》第1天
1.下载一个二进制编辑器(网上很多下载,google一下即可,也叫十六进制编辑器),他能直接对二进制数进行编辑。如果你对(某种处理器的)机器码非常熟悉的话,理论上可以用二进制编辑器完成(此处理器上的)任何软件的制作,小至一个计算器,大至一个编译器,操作系统(因为所有软件本质上都是CPU的机器指令和一些数据组成)。但是不同类型CPU的机器码是不一样的。当然,实际上用一个二进制编辑器编写一个windo
a379039233
·
2013-12-21 18:00
《
30天自制操作系统
》学习笔记--第16天
今天是多任务第二讲,比昨天的层次更高,更加接近实际使用的设计。 首先是任务的自动化,所谓任务就是正在执行的程序,程序成千上万,可以自己随意安装,所以,管理就不能靠人工修改代码,而要自动管理,自动分配空间,自动注册相关设置,所以就要建立一个结构体来管理众多任务,记录当前任务的信息。 任务的休眠,有些任务需要等待数据,或者等待中断程序,等待的时候CPU等就会跟着闲着,这可不好,我们
TonyShengTan
·
2013-12-19 14:00
30天自制操作系统
《
30天自制操作系统
》学习笔记--第15天
今天的内容是多任务,所谓多任务就是“同时”执行多个任务,作者写的是在单核cpu上轮流执行多个任务,在短时间进行各种切换,但是实际上还是串联的,虽然表面上看的是同时执行,不知道现在的多核处理器是如何完成多任务的,我一会儿google一下,写出来,应该有很些不同。 先说今天的内容,对于任务切换,处理器是有代价的,也就是说,切来切去是要消耗时钟周期的,例如如果切换一次需要消耗额外的1s但是
TonyShengTan
·
2013-12-17 15:00
30天自制操作系统
《
30天自制操作系统
》学习笔记--Mac环境搭建
弄了三天了,终于弄好了,先说结果,就是作者在网站上放了osx的工具(hrb.osask.jp,也有linux下的工具,可以自己去下载),也就是说我白忙活了三天。。。再说一下这几天都干啥了,主要是想把c语言和nasm汇编连在一起。这个很多人都做过,但在网上现有的资料很少有在osX上做的的,也或者做了大家都没人说。。。。先贴代码:externvoidswap(int*,int*);voidmain()
非主流科学家
·
2013-12-13 14:34
30天自制操作系统
笔记
《
30天自制操作系统
》学习笔记——第二天
好了,第二天开始! 第二天作者一上来就给介绍了一个文本编辑器——Terapad,用它打开helloos.nas,就不会出现乱码了,而是漂亮的日语。 写到这儿,我先吐槽一下csdn的文本编辑器吧,图片大小不会调,看着好突兀。 先解答一下昨天自己提的一个疑问,就是关于模拟器QEUM。昨天提到自己不知道这个工具在哪里,不知道作者是怎样就神不知鬼不觉地用上了它。其实它就在to
u011879578
·
2013-12-08 22:00
汇编
操作系统
文本编辑
日语
批处理文件
《
30天自制操作系统
》学习笔记——第一天
写在前面: 一直都在想写写学习博客。因为既然工作是和电脑打交道,用博客记录自然也是一件很顺其自然的。我是一个比较认可笔记这种形式的人。走马观花之后,要把好看的花带回家,这样才能心满意足。 本人是在读大学生,说实话计算机功底很薄,编程语言只是学过c和java,汇编还是在《微机原理》课上学的,很是不深入。但是既然是在学习,就不用怕自己不懂,因为不懂到懂才是学
u011879578
·
2013-12-08 20:00
《
30天自制操作系统
》之——第05天
1.优化第4天代码:在第四天的bootpack.c中绘制界面部分,都是将一些数字直接写入程序,这样的程序是没法维护的。所以第五天首先把这些数字用变量代替,后期更改需要更改的时候只需更改一处即可。如下:structBOOTINFO{ charcyls,leds,vmode,reserve; shortscrnx,scrny; char*vram; }结构体中的变量和之前在asmhead.nas中设置
gaohuaid
·
2013-10-10 13:00
操作系统
C语言
汇编语言
《
30天自制操作系统
》之——第04天
第四天开始正式的导入C语言,并且进行画面的显示。今天的内容倒不是很多,但我觉的对于c语言的指针的进一步理解有很大的帮助,而且今天终于可以摆脱一片漆黑的界面了。切入正题!--------------------------------------------------------------------------------------------------------------------
gaohuaid
·
2013-10-08 23:00
操作系统
C语言
汇编语言
30天自制操作系统
-第三天-着手开发操作系统小节
一般向一个空软盘保存文件时:文件名会写在0x002600以后的地方;文件内容会写在0x004200以后的地方。 我们接下来要将操作系统本身的内容写到名为haribote.sys文件中,再将它保存到磁盘映像里,然后我们从启动区执行这个haribote.sys就行了。
guimingyue
·
2013-10-08 14:00
《
30天自制操作系统
》之——第03天
第三天操作系统的开发才慢慢步入正轨,当然这一天的内容和难度较前两天明显增加,还有一些汇编语言中不好理解的知识点,所以第三天的学习内容要详细的记录一下。切入正题!---------------------------------------------------------------------------------------------------------------今天的主要内容就是
gaohuaid
·
2013-10-07 21:00
操作系统
汇编语言
《
30天自制操作系统
》之——第1--2天
假期开始看一本小日本的书《
30天自制操作系统
》,今天看到了书中内容的第八天,感觉书写的不错。
gaohuaid
·
2013-10-06 22:00
汇编
操作系统
ubuntu qemu/kvm试玩helloos
最近在翻日本人川合秀实的
30天自制操作系统
,看起来自己写一个不是很难,难在动手,工具的使用,还要了解ibmx86兼容机架构的种种规则。里面用到的虚拟机软件是qemu(我读ki:mu:)。
jollyjumper
·
2013-10-05 18:00
虚拟机
kvm
qemu
自制操作系统
helloos
从你的u盘启动:
30天自制操作系统
第四天u盘启动学习笔记
文章转载自 http://blog.csdn.net/h397916230/article/details/9732425暑假学习小日本的那本书:
30天自制操作系统
更多学习中的问题、资料,群里分享developingenvironment
jjchen_lian
·
2013-08-04 09:00
操作系统
从你的u盘启动:
30天自制操作系统
第四天u盘启动学习笔记
阅读更多文章转载自http://blog.csdn.net/h397916230/article/details/9732425暑假学习小日本的那本书:
30天自制操作系统
更多学习中的问题、资料,群里分享
jjchen_lian
·
2013-08-04 09:00
索骥馆-DIY操作系统之《
30天自制操作系统
》扫描版[PDF]
内容简介:《
30天自制操作系统
》是一本兼具趣味性、实用性与学习性的操作系统图书。作者从计算机的构造、汇编语言、C语言开始解说,让读者在实践中掌握算法。
cinnarnia
·
2013-07-09 15:47
操作系统
diy
自制
30天自制操作系统
笔记1
由于能力有限,不一定跟得上书本的进度,只能以自己的能力为限,一步一步写下去。 第一天的内容是用二进制编辑工具写一个.img的文件,如图: 这是照着书上内容抄的。可以看到窗口右下方的数字1,474,560bytes,1474560/1024=1440,就是一张3寸盘的容量。 我们用二进制编辑器,编写了一张可启动的软盘,通过虚拟机(qemu)加载这张“软盘”后可以启动并显示一些字符。 说实
flying_g
·
2013-05-12 16:19
自制操作系统
30天自制操作系统
笔记
第二天 ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序的装载地址 ; 以下用于标准fat32格式的软盘 JMP entry DB 0x90 DB "HELLOIPL" ; 启动区的名称可以是任意字符串 DW 512 ; 每个扇区(sector)的大小(必须是512个字节)
haoningabc
·
2013-02-26 17:00
c
OS
30天自制操作系统
笔记
第二天 ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序的装载地址 ; 以下用于标准fat32格式的软盘 JMP entry DB 0x90 DB "HELLOIPL" ; 启动区的名称可以是任意字符串 DW 512 ; 每个扇区(sector)的大小(必须是512个字节)
haoningabc
·
2013-02-26 17:00
c
OS
读书笔记《
30天自制操作系统
》day12~day13
http://blog.csdn.net/ltbylc/article/details/83092571. 定时器是任务切换的重要中断响应程序,由8254芯片PIT生成。2.初始化,发送out指令。中断产生在IRQ0,由此可见这个中断的重要性了。10ms产生一次。[cpp]viewplaincopy#define PIT_CTRL 0x0043 #define PIT_CNT0 0x0040
djinglan
·
2013-02-18 14:00
读书笔记《
30天自制操作系统
》day11
http://blog.csdn.net/ltbylc/article/details/83092571.窗口的绘制,与鼠标绘制类似[cpp]viewplaincopyvoid make_window8(unsigned char *buf, int xsize, int ysize, char *title) { static char closebtn[14][16] = {
djinglan
·
2013-02-18 14:00
读书笔记《
30天自制操作系统
》day10
http://blog.csdn.net/ltbylc/article/details/83092571.显示到屏幕上的图形界面信息要分层,比如最顶层是鼠标,中间是应用程序,最低是桌面。2.移动鼠标和窗口应用可以看为是移动图层。3.屏幕显示的原理是向显存内写信息,显存的地址在0x000a0000这个已经在前面见过了。[cpp]viewplaincopy/*一个图层结构体*/ struct SHE
djinglan
·
2013-02-18 14:00
读书笔记《
30天自制操作系统
》day09
http://blog.csdn.net/ltbylc/article/details/83092571.寄存器EFLAGS第18位AC标志表示CPU是否为486以上,486以上CPU有缓存 2.对CR0寄存器标志位进行改写实现关闭缓存功能[cpp]viewplaincopy#define CR0_CACHE_DISABLE /*...*/ cr0=load_cr0(); cr0 |= CR
djinglan
·
2013-02-18 14:00
读书笔记《
30天自制操作系统
》day08
http://blog.csdn.net/ltbylc/article/details/83092571.鼠标的显示,这个与显示字符是一样的道理,写像素[cpp]viewplaincopyvoid init_mouse_cursor8(char *mouse, char bc) { static char cursor[16][16] = { "***********
djinglan
·
2013-02-18 14:00
读书笔记《
30天自制操作系统
》day06
http://blog.csdn.net/ltbylc/article/details/83092571.鼠标及键盘的响应功能,因为用到中断所以必须自32位保护模式下设置GDT和IDT,以前在asmhead中设置时用汇编代码设置,现在用C操作。2.GDT,IDT的补充知识,图片来自赵炯博士linux0.11内核分析书[cpp]viewplaincopystruct SEGMENT_DESCRIPT
djinglan
·
2013-02-18 14:00
读书笔记《
30天自制操作系统
》day07
http://blog.csdn.net/ltbylc/article/details/83092571.键盘中断的处理:产生中断后中断处理程序应该向PIC发出OCW2发出0x60+IRQ号码的out指令,并发出in指令从0x0060读取键盘信息,该键盘信息保存到FIFO缓冲区中。[cpp]viewplaincopy#define PORT_KEYDATA 0x0060 struct FIFO8
djinglan
·
2013-02-18 14:00
读书笔记《
30天自制操作系统
》day05
http://blog.csdn.net/ltbylc/article/details/83092571.将字库看成为保存像素的数组2.将hankaku.txt读到数组,编译链接成为C可调用的数组,编译bat修改为[plain]viewplaincopy..\z_tools\makefont.exe hankaku.txt hankaku.bin ..\z_tools\bin2obj.exe h
djinglan
·
2013-02-18 14:00
读书笔记《
30天自制操作系统
》day04
http://blog.csdn.net/ltbylc/article/details/83092571.调色板的使用,照猫画虎就可以了2.func.nas[plain]viewplaincopy; naskfunc ; TAB=4 [FORMAT "WCOFF"] [INSTRSET "i486p"] [BITS 32]
djinglan
·
2013-02-18 14:00
读书笔记《
30天自制操作系统
》day03
http://blog.csdn.net/ltbylc/article/details/83092570.自己试着在win7下用NASM和minGW改写汇编和C混合编程,结果受挫了。还是先使用作者提供的工具构建吧。1.通过前2天的工作已经能使用NASM制作一个映像了,并且编写的汇编代码可以成为引导扇区代码。2.引导扇区代码中可以调用BIOS中断,读取软盘上其它扇区到内存中,根据FAT12文件系统格
djinglan
·
2013-02-18 14:00
读书笔记《
30天自制操作系统
》day02
http://blog.csdn.net/ltbylc/article/details/82804881.将第一天直接生成软盘映像的代码抽取出引导扇区部分,ipl.asm[plain]viewplaincopy ORG 0x7c00 JMP entry DB 0x90 DB
djinglan
·
2013-02-18 14:00
读书笔记《
30天自制操作系统
》day01
http://blog.csdn.net/ltbylc/article/details/83092571.计算机只知道01代码,计算机启动时从引导扇区开始执行,文件如下hellos.asm [plain]viewplaincopy DB 0xeb, 0x4e, 0x90, 0x48, 0x45, 0x4c, 0x4c, 0x4f DB 0x49, 0x50,
djinglan
·
2013-02-18 14:00
由《
30天自制操作系统
》引发的漫画创作
大家可还记得《
30天自制操作系统
》的封面上的那只猫吗?记得当时,在果壳网有人问,为何这只猫长了两只尾巴呢,延着这条线,我把这本书捧上了展示的舞台。事隔四个多月,我又重提此书。
zuoninger
·
2013-02-06 15:00
由《
30天自制操作系统
》引发的漫画创作
大家可还记得《
30天自制操作系统
》的封面上的那只猫吗?记得当时,在果壳网有人问,为何这只猫长了两只尾巴呢,延着这条线,我把这本书捧上了展示的舞台。事隔四个多月,我又重提此书。
turingbooks
·
2013-01-16 09:00
操作系统
漫画
30天
日文书
由《
30天自制操作系统
》引发的漫画创作
阅读更多大家可还记得《
30天自制操作系统
》的封面上的那只猫吗?记得当时,在果壳网有人问,为何这只猫长了两只尾巴呢,延着这条线,我把这本书捧上了展示的舞台。事隔四个多月,我又重提此书。
turingbooks
·
2013-01-16 09:00
日文书
操作系统
30天
漫画
自己开发操作系统
算是《
30天自制操作系统
》的读书笔记吧,但是我觉得原书不少地方啰嗦,某些做法值得商榷http://product.china-pub.com/3682838 1.二进制编译器首先下载Bzl1621.lzh
21aspnet
·
2012-11-17 00:00
为什么《
30天自制操作系统
》封面中的猫是两只尾巴
刚刚在一社区,发了一贴,被指出一问题,询一高人,得一答案。这便是我没有关注到的封面上的那只猫,我想这也是很多读者没有关注到的。因为在我微博的200转发贴中,并没有人提到封面中的猫为何有两只尾巴。于是咨询了一下本书的策划编辑方得知,这猫的封面解读在第31章的后记中。想想还是贴出来,便于大家了解。在原版书出版之前,看来作者是动了很多脑筋与心思的,才能把这只“妖怪”——“猫又”提到封面中来。封面解读书的
zuoninger
·
2012-11-16 17:00
C语言实现队循FIFO缓冲区-《
30天自制操作系统
》
本代码整理自《
30天自制操作系统
》P135的整理FIFO缓冲区写的很好,所以记录一下(增加了一个fifo8_free函数,用于查询剩余容量,觉得有用)。
fovwin
·
2012-10-30 16:00
推荐一本书,
30天自制操作系统
如果说什么是Geek精神的话,这本书的作者川合秀实俨然是纯Geek了。这本书中,这哥们把自己从0开始开发一款多任务操作系统的过程像写日记一样记录下来。注意了,是真正的从0开始。不光不利用Linux之类的内核,甚至连Grub的功能都要从头实现。虽然我的水平有限,现在看来几个月也消化不了,但光是看一看别人做的过程,已经很有意思啦!原来,操作系统是这样做出来的!百度文库里貌似有了,但是为了支持ge
goldenhawking
·
2012-10-16 23:00
《
30天自制操作系统
》的译者在上市之前想说的话
这本《
30天自制操作系统
》马上就要在各大书店和网上商城全面上架了,作为本书的4位译者之一,我负责翻译了本书约三分之二的内容。
turingbooks
·
2012-08-15 15:00
入门
操作系统
OS
为什么《
30天自制操作系统
》封面中的猫是两只尾巴
刚刚在一社区,发了一贴,被指出一问题,询一高人,得一答案。这便是我没有关注到的封面上的那只猫,我想这也是很多读者没有关注到的。因为在我微博的200转发贴中,并没有人提到封面中的猫为何有两只尾巴。于是咨询了一下本书的策划编辑方得知,这猫的封面解读在第31章的后记中。想想还是贴出来,便于大家了解。在原版书出版之前,看来作者是动了很多脑筋与心思的,才能把这只“妖怪”——“猫又”提到封面中来。封面解读书的
turingbooks
·
2012-08-08 10:00
入门
操作系统
OS
日文书
为什么《
30天自制操作系统
》封面中的猫是两只尾巴
刚刚在一社区,发了一贴,被指出一问题,询一高人,得一答案。这便是我没有关注到的封面上的那只猫,我想这也是很多读者没有关注到的。因为在我微博的200转发贴中,并没有人提到封面中的猫为何有两只尾巴。于是咨询了一下本书的策划编辑方得知,这猫的封面解读在第31章的后记中。想想还是贴出来,便于大家了解。在原版书出版之前,看来作者是动了很多脑筋与心思的,才能把这只“妖怪”——“猫又”提到封面中来。封面解读书的
turingbooks
·
2012-08-07 17:00
hadoop
汇编
读书
语言
任务
旅游
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他