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天自制操作系统
——第7天实验总结
实验日期实验项目2020.11.12第7天FIFO与鼠标控制文章目录一、实验主要内容1、内容1获取按键编码和加快中断处理2、内容2引入FIFO缓冲区,从制作到改善3、内容3整理FIFO缓冲区4、内容4鼠标数据的接收二、遇到的问题及解决方法1、描述问题12、描述问题23、描述问题34、描述问题4三、程序设计创新点1、描述创新点1,关键代码及结果截图2、描述创新点2,关键代码及结果截图3、描述创新点3
核小体_hhh
·
2023-01-22 23:38
30天自制操作系统
30天自制操作系统
——第8天实验总结
实验日期实验项目2020.11.19第8天鼠标控制与32位模式切换文章目录一、实验主要内容1、内容1鼠标数据的解读2、内容2鼠标的移动3、内容3通往32位模式之路二、遇到的问题及解决方法1、描述问题12、描述问题23、描述问题34、描述问题4三、程序设计创新点1、描述创新点1,关键代码及结果截图2、描述创新点2,关键代码及结果截图四、实验心得体会一、实验主要内容1、内容1鼠标数据的解读(1).内容
核小体_hhh
·
2023-01-22 23:38
30天自制操作系统
30天自制操作系统
——第4天实验总结
实验日期实验项目2020.10.22第4天C语言和画面显示的练习文章目录一、实验主要内容1、内容1用C语言实现内存写入2、内容2条纹图案3、内容3挑战指针和指针的应用4、内容4色号设定5、内容5绘制矩形和系统界面二、遇到的问题及解决方法1、描述问题1三、程序设计创新点1、描述创新点1,关键代码及结果截图四、实验心得体会一、实验主要内容1、内容1用C语言实现内存写入(1).内容概要实验内容:用C语言
核小体_hhh
·
2023-01-22 23:37
30天自制操作系统
30天自制操作系统
——第2天实验总结
实验日期实验项目2020.10.10第2天汇编语言学习和Makefile入门文章目录一、实验主要内容1、内容1汇编指令制作映像文件2、内容2启动区和磁盘映像文件分开制作3、内容3使用Makefile文件实现二、遇到的问题及解决方法1、描述问题12、描述问题2三、程序设计创新点1、描述创新点1,关键代码及结果截图2、描述创新点2,关键代码及结果截图四、实验心得体会一、实验主要内容1、内容1汇编指令制
核小体_hhh
·
2023-01-22 23:07
30天自制操作系统
30天自制操作系统
——第2天
操作系统实验日志实验日期2018/9/29实验项目第2天:汇编语言学习与Makefile入门一、实验主要内容(一)汇编1、关键代码运行结果:2、相关汇编指令的解释指令格式含义ORG指令ORGaddress指定程序的装载地址JMP指令JMPaddress跳往指定地址执行ADD指令ADDr1,r2ADDr,mADDm,rADDr,data加法指令,将两个操作数相加,m可以为[r]、[address],
观望II
·
2023-01-22 23:00
30天自制操作系统
本科
操作系统
30天自制操作系统
——Day9实验报告
文章目录一、实验主要内容1、内容1:整理源文件2、内容2:内存容量检查(1)3、内容3:内存容量检查(2)4、内容4:挑战内存管理二、遇到的问题及解决方法1、描述问题1:内存检查前为什么要使高速缓存的功能无效?2、描述问题2:在内存检测中为什么每次遍历跳转的步长为0x1000?3、描述问题3:C语言写的内存检测函数为什么在编译后反转不见了,只剩下for语句?4、描述问题4:如何分配指定大小内存?5
冠long馨
·
2023-01-22 23:30
30天自制操作系统
操作系统
30天自制操作系统
——Day11实验报告
文章目录一、实验主要内容1、内容1:鼠标显示问题2、内容2:实现画面外的支持3、内容3:shtctl指定省略4、内容4:显示窗口5、内容5:小实验6、内容6:高速计数器7、内容7:消除闪烁(1)8、内容8:消除闪烁(2)二、遇到的问题及解决方法1、描述问题1:制作一个图像窗口的步骤?2、描述问题2:为什么图层移动时新位置只需要刷新图层本身就行了?三、程序设计创新点1、描述创新点1,实现一个画图工具
冠long馨
·
2023-01-22 23:30
30天自制操作系统
操作系统
30天自制操作系统
——Day7实验报告
一、实验主要内容1、内容1:获得按键编码重点总结:改善程序,让程序在按下一个键后不结束,而是把按键的编码显示出来(1)int.c1、函数功能检测键盘IRQ1是否发生中断,发生中断后接受按键编码并在屏幕上输出2、Io_out8(PIC0_OCW2,0x61)1.功能通知PIC已经捕获了IRQ1的中断。2.可以将0x61修改为0x61~0x6e,将对应的IRQ号码输出给OCW23.执行这句话后,PIC
冠long馨
·
2023-01-22 23:00
30天自制操作系统
操作系统
30天自制操作系统
——Day8实验报告
文章目录一.主要内容1、内容1:鼠标解读(1)2、内容2:稍事整理3、内容3:鼠标解读(2)4、内容4:移动鼠标指针5、内容5:通往32位模式之路二、遇到的问题及解决方法1、描述问题1:理解鼠标数据第一阶段的if判断操作2、描述问题2:理解ECX寄存器+3并向左移位的意义一.主要内容1、内容1:鼠标解读(1)重点总结:在Day7中,我们已经从鼠标中取得了数据。现在我们要来解读这些数据(1)boot
冠long馨
·
2023-01-22 23:00
30天自制操作系统
操作系统
SnailOS0.03是很傻很天真!
SnailOS003SnailOS0.03是基于郑钢先生《操作系统真相还原》和川合秀实先生《
30天自制操作系统
》,当然也有一些网络上当来的代码,甚至还有一些自己杜撰的代码,不过好在运行起来了,真的是不幸之中的万幸吧
weixin_39410618
·
2023-01-19 08:27
操作系统
c语言
linux
windows
gnu
30天自制操作系统
:第4天:C语言与画面显示的练习
第4天:C语言与画面显示的练习英特尔电脑CPU家谱8086->80186->286->386->486->Pentium->PentiumPro->PentiumⅡ->…286及以前CPU是16位的,386及以后CPU是32位的。一段汇编程序_write_mem8:;voidwrite_mem8(intaddr,intdata);MOVECX,[ESP+4];[ESP+4]中存放的是地址,将其读入
yiichan
·
2022-12-28 10:57
自制操作系统
30天自制操作系统
01-03 从汇编到C语言
01-03-Day-Note第一天到第三天的笔记1.运行环境准备可以直接在作者提供的开发包中执行作者提供的文件,执行过程如下:将对应project中包含源代码的目录复制到tolset中执行对应的Makefile指令需要在Windows的Shell环境下执行,在GitBash执行会存在命令的不一致问题作者在nasm的基础上开发了名为nask的汇编编译器,然后通过imgtol制作img镜像文件,最后通
隔壁的二大爷
·
2022-04-06 15:51
操作系统
操作系统
【原创】浅谈指针(十一)alloca函数
目录前言alloca函数1.简介2.反汇编看alloca3.手工调用alloca函数4.注意事项alloca函数1.简介之前看《
30天自制操作系统
》的时候,看见了这样一个东西:没错,这就是alloca函数
计算机知识杂谈
·
2022-03-26 09:00
X86汇编调试环境搭建的过程
安装NASM,并添加到环境变量安装QEMU,并将其添加到环境变量下编写代码:(代码来自
30天自制操作系统
);hello-os;TAB=4;标准FAT12格式软盘专用的
·
2021-11-10 11:25
30天自制操作系统
——第二十四天增加命令行窗口
蜂鸣发声器目前制作的操作系统还不能发声呢,由于调用声卡的过程比较复杂,这里我们就先实现蜂鸣器发声好了。蜂鸣器发出的声音,是那种哔哔哔哔的,听起来有些奇怪。这里设置声音的频率随着时间以100Hz的速度降低,当声音频率降到20Hz以下或键盘按下任意键时结束。beepdown.cvoidHariMain(void){inti,timer;timer=api_alloctimer();api_initti
水龙吟唱
·
2021-10-11 06:57
操作系统
操作系统
c
30天自制操作系统
——第二十一天用C语言编写应用程序
帮助发现bugCPU的异常处理功能,还能帮助我们发现bug,比如下面的例子:bug1.c:voidapi_putchar(intc);voidapi_end(void);voidHariMain(void){chara[100];a[10]='A';/*这句没有问题*/api_putchar(a[10]);a[102]='B';/*这句有问题*/api_putchar(a[102]);a[123]
水龙吟唱
·
2021-09-23 22:40
操作系统
c语言
操作系统
30天自制操作系统
——第二十天保护操作系统
在实现保护操作系统之前,我们先来实现两个功能。一个是使用API显示字符串,另一个是用C语言编写应用程序。使用API显示字符串显示字符串有两种方法,一种是显示一串字符,当遇到字符编码0时结束。另一种是先指定要显示的字符串的长度,然后进行显示。实现方式如下:console.c节选:voidcons_putstr0(structCONSOLE*cons,char*s){for(;*s!=0;s++){c
水龙吟唱
·
2021-09-18 07:34
操作系统
操作系统
c语言
汇编
30天自制操作系统
——第十九天系统调用(API)
系统调用API(applicationprograminterface)即应用系统对操作系统功能的调用,也可以称为系统调用(systemcall)。今天我们就来实现系统调用的功能,我们先来思考一下WIN10系统是如何实现系统调用的呢?下图是简化版的Windows系统架构图:Windows计算机中处理器有两种模式,分别为用户模式(用户态、目态)和内核模式(核心态、内核态、管态、系统模式、管理模式)。
水龙吟唱
·
2021-09-16 20:59
操作系统
windows
c++
操作系统
30天自制操作系统
——第十七天制作命令行窗口
今天的任务是制作命令行窗口,那么命令行窗口应该是什么样呢?在Windows系统里我们都使用过命令行窗口,它首先是黑底的,可以在里面输入各种字符、可以对输入的命令进行响应…命令行窗口的制作用到的都是之前的知识点,难度并不大。修改的代码量较大,篇幅有限,就不把代码粘贴上来了,有兴趣的同学可以自行下载阅读。这里主要记录一下制作命令窗口的关键步骤(本节没有什么新的知识点,可以直接跳过):一、绘制命令行窗口
水龙吟唱
·
2021-08-24 20:30
操作系统
windows
操作系统
30天自制操作系统
——第十六天实现多任务(二)
任务休眠上一篇我们实现的多任务,是为每个任务分配相同的时间。实际情况可能是A任务一直闲着没事干,B任务就一直拼命干活,这种分配显然是不合理的。那么如何避免这种浪费呢?我们可以把这样闲着没事干的任务,从tasks里删除,这种做法在多任务里叫作“休眠”(sleep)。当FIFO有数据过来时,我们再将A任务唤醒。(这里大家可以类比线程状态及状态切换,思路是相同的。)首先来创建task_sleep,mta
水龙吟唱
·
2021-08-23 05:19
操作系统
操作系统
汇编语言
c语言
《
30天自制操作系统
》的第一天--2018-03-26
下了一本电子书,分别是《Linux内核设计与实现》,《深入理解LINUX内核》,分别了看了快一个月了,但是感觉只是这样看太无聊,没有练手的机会,所以今天开始看了《
30天自制操作系统
》的第一章,明天开始搭建环境
zerophp_os
·
2021-06-11 06:05
「30天制作操作系统系列」1~4天从汇编到C语言
这个听起来像天方夜谭,但是真有一本书就叫做《
30天自制操作系统
》,当然,自制操作系统的目的不是要去对标Windows、Linux、MacOS等流行的现代化操作系统,而是了解操作系统制作与运行的整个流程与细节
代码狂魔v
·
2021-05-16 17:10
代码狂魔
操作系统
30天制作操作系统第2天
30天制作操作系统第二天这是一个菜鸡为了学习操作系统来练习写的操作系统,参照于书籍《
30天自制操作系统
》。
Most3R-03
·
2021-03-08 10:18
30天自制操作系统
操作系统
linux
c++
编程语言
30天自制操作系统
光盘_计算机自制操作系统:总序
一、不忘初心电子计算机---是20世纪人类最伟大的发明之一。本人机械专业出身,但是最热爱的专业是电子,如果有机会再让我选择一次,我会毫不犹豫的选择读EE。由于缺乏电子行业所需的实验环境和实践机会,后来慢慢就把注意力转移到了计算机,因为只需要一台电脑就可大显身手了。没有机会当程序员,多年以来一直在自学,业余写点小代码,但却有一颗非要将问题弄懂的纠结心。记得90年代末上大学的时候刚开始接触计算机,对计
weixin_39757122
·
2020-11-18 11:31
30天自制操作系统光盘
dosbox
中文操作系统
windows操作系统原理
30天自制操作系统
day03-进入32位模式并导入C语言
30天自制操作系统
进入32位模式并导入C语言制作真正的IPL该部分主要是对第二天结尾内容的深入。
抱山
·
2020-11-02 01:37
操作系统实验
操作系统
《
30天自制操作系统
》避坑排雷指南和命令大全
前言《
30天自制操作系统
》是日本Coder川合秀实先生的著作,对于想了解操作系统原理或者有志于底层开发的同学们好处多多。
末树之墨
·
2020-09-16 10:08
综合基础
2020年7月27日-2020年8月2日(每天1小时,共5小时,合计220小时,剩9780小时)
按照计划,进行周一到周五:早上:进行设计模式视频教程一个(继之于重构,重构与模式等)和业务晚上:进行UE4视频教程一个,文档一个,大象无形以及InsideUE4一个周六上午:3,windows核心编程->
30
directx3d_beginner
·
2020-09-13 01:23
验证第二个1万小时定律
自制操作系统第一站
参考《
30天自制操作系统
》老规矩,先显示一个Hello,World;tiger-os;TAB=4;以下这段是标准FAT12格式DB0xeb,0x4e,0x90DB"TIGERIPL";启动区的名称,可以是任意字符串
wanyongtai
·
2020-09-12 10:08
自制操作系统
自制操作系统第一站
自制操作系统
30天自制操作系统
(一)从计算机结构到汇编程序入门
《
30天自制操作系统
》这本书就不一样,一点一点的构建一个玩具操作系统,虽然没
weixin_34111819
·
2020-09-11 17:56
30天自制操作系统
笔记
2016.8月做的笔记,偶然翻到以防后面丢失。最后的操作系统代码上传GitHubhttps://github.com/Dandelionshine/30OSconsole:控制台通过键盘输入命令的一种方式。基本上只用文字进行计算机操作。开发操作系统:制作一张“含有操作系统的,能够自动启动的磁盘”映像文件:软盘的备份数据。做出备份数据,将备份数据写入磁盘世界上第一个操作系统:对着CPU的命令代码表,
dandesy
·
2020-09-11 15:53
OS
30天自制操作系统
——用U盘启动自制系统
本文转自:http://blog.csdn.net/nonekey/article/details/8758715最近试读了《
30天自制操作系统
》的前两章,感觉很有意思。
piaopiaopiaopiaopiao
·
2020-09-11 15:13
OS
30天自制操作系统
第一天 从计算机结构到汇编程序入门
一,先动手操作这个故事的一开始,作者先用了一个二进制编辑器和一个汇编工具写了操作系统的启动程序helloos.img,在这个软盘已成为传说的时代,书中使用了PC模拟器QEMU,书中方法就不介绍了,其实直接使用VMware也是可以达到同样效果的。操作步骤如下:列出其中几个关键步骤:系统选择:虚拟机创建好,找到软驱:在软驱连接到helloos.img:启动后的效果图:我把helloworld改成了he
fw1993
·
2020-09-11 14:32
operating
system
《
30天自制操作系统
》第2天
1.汇编语言学习与Makefile入门ORG0x7C00;指明程序的装载地址(将程序装到内存哪个起始地址上)INT0x10;调用显卡BIOSJMPentry;跳到某个地址MOVax,0;AX=0所有的汇编指令都汇编为对应的机器指令,比如:ADDCX,0x1234;编译为:81C134122,计算机是用来计算的,计算的是什么?数据;数据需要一个地方保存、存储他,这个地方在哪?叫什么?存储数据的地方很
宇宙379
·
2020-09-11 13:04
《30天自制操作系统》
30天自制操作系统
:第1天:从计算机结构到汇编程序入门
第1天:从计算机结构到汇编程序入门先是用一个二进制文件编辑器手写了一个二进制文件,再解释了一通CPU内部的数据表示和二进制,再写了一点汇编程序。汇编语言讲解DB指令意为“definebyte”,也就是往文件里直接写入1个字节的指令。DB指令也可以用来写字符串,如DB“hello,world”RESB指令意为“reservebyte”,如果想从现在地址开始空出10个字节来,就可以写成RESB10,意
Yichuan_Sun
·
2020-09-11 13:20
自制操作系统
30天自制操作系统
------窗口操作
一个多任务的操作系统会有很多窗口,进行任务切换的同时窗口操作肯定也是必不可少的。一、窗口切换我们可以使用键盘或者鼠标进行窗口的切换。自制的操作系统的窗口都是一个个图层,每个图层都是有各自的高度的,高度最低的是操作系统的背景图层(也就是桌面),高度最高的是鼠标图层。我们使用按键F11来作为窗口切换的按键,按下F11,我们就将从下面数第2个图层的高度提升为shtctl->top-1,shtctl->t
Xuan0715
·
2020-09-11 13:16
操作系统
《
30天自制操作系统
》 第一天 从计算机结构到汇编程序入门
效果图相关概念CPU开发环境搭建源码汇编程序指令解释启动区bootsector效果图相关概念CPU中央处理单元,除了与别的电信号交换以外什么都不会,对于电信号只能理解开与关两种状态。CPU就是个集成电路板,它只是忠实地执行电信号给它的指令,输出相应的电信号。指定位置显示0还是1等。CPU最早只是发明用于处理电信号,后续发现开/关与0/1,可以结合到一起,变成二进制数计算机。给每一个文字都编上号(字
love_world_
·
2020-09-11 12:08
操作系统
30天自制操作系统
第二天
;hello-os;TAB=4ORG0x7c00;指明程序的装载地址;以下的记述用于标准FAT12格式的软盘JMPentryDB0x90DB"HELLOIPL";可以自由写扇区的名字(8字节)DW512;1扇区的大小(必需要512)DB1;集群的大小(必需要做一个扇区)DW1;FATA从这里开始(一般是从第一扇区开始)DB2;FATA的个数(必须是2)DW224;根目录区域的大小(通常为224项)
岳麓山鸡王
·
2020-09-05 21:49
自己开发操作系统
算是《
30天自制操作系统
》的读书笔记吧,但是我觉得原书不少地方啰嗦,某些做法值得商榷http://product.china-pub.com/36828381.二进制编译器首先下载Bzl1621.lzh
21aspnet
·
2020-08-25 17:06
汇编语言
C基础
Linux基础
30天自制操作系统
30天自制操作系统
下载地址https://pan.baidu.com/s/1VkNiKw3OmH4DQmwIX8qECA扫码下面二维码关注公众号回复100024获取分享码本书目录结构如下:第0天着手开发之前
余松
·
2020-08-25 16:55
操作系统
c
硬件
30天自制操作系统
30天自制操作系统
下载地址https://pan.baidu.com/s/1VkNiKw3OmH4DQmwIX8qECA扫码下面二维码关注公众号回复100024获取分享码本书目录结构如下:第0天着手开发之前
余松
·
2020-08-25 16:11
操作系统
c
硬件
《
30天自制操作系统
》第一天
首先,这本书的操作系统需要用软驱来装载,但是当今都什么年代了,哪儿来的软驱,所以大家可以用虚拟机实现这本书里的所有东西,我用的是Virtualbox,这是一款免费的虚拟机,个人感觉vmware太笨重了(虽然功能很全),言归正传,新建一个虚拟机神马的自己google,下面是添加一个软驱然后就可以把软驱文件img文件加载进去了,前期工作已完成,下面是hello.img的编写,书上用2进制编辑器写太扯淡
战魂嗜杀
·
2020-08-22 03:09
30天自制操作系统
[Rx86OS-I] 计算机开机从软盘启动显示字符串Hello World
平台处理器:IntelCeleron(R)Dual-CoreCPU操作系统:Windows7专业版x86阅读《
30天自制操作系统
》—川合秀实[2015.03.12–03.14],[03.26整理]笔记。
文字篇章
·
2020-08-22 02:25
碚大
读书笔记《
30天自制操作系统
》day01
1.计算机只知道01代码,计算机启动时从引导扇区开始执行,文件如下hellos.asm(2013.04.07自己用二进制代码构筑一个引导扇区,具体构成见下图二)DB0xeb,0x4e,0x90,0x48,0x45,0x4c,0x4c,0x4fDB0x49,0x50,0x4c,0x00,0x02,0x01,0x01,0x00DB0x02,0xe0,0x00,0x40,0x0b,0xf0,0x09,0
ltbylc
·
2020-08-22 02:53
虚拟机-操作系统
30天自制操作系统
笔记
1keyDBdefinebyteRESBreservebyteDWdefinewordDDdefinedouble-wordword->16bytes字节->16*8=128bitsdouble-word->32bytes->256bits0x1fe-$:这一行现在的字节数如果是100,则输出0x1fe-100个字节的0x00FAT12:windows软盘格式FileAllocationTable
Mancuojie
·
2020-08-22 00:22
OS
30天自制操作系统
(第02天)–汇编语言学习和MakeFile入门
第二天,我们将之前的程序进一步翻译成汇编语言,进一步了解启动程序到底做了些啥。还记得第一天中有一部分程序主体么,以及最开头的代码,我们把它们翻译成汇编看看。;hello-os;TAB=4ORG0x7c00;指名程序的装载地址;以下一段是标准FAT12格式软盘专用的代码JMPentryDB0x90DB"HELLOIPL";引导扇区的名称,随意写,8字节DW512;每个扇区(sector)的大小,必须
Excel_Fan
·
2020-08-22 00:03
30天自制操作系统
30天自制操作系统
自制操作系统前5天内容的总结-HelloWorld输出;hello-os;TAB=4ORG0x7c00;ORG命令指令程序开始地址JMPentry;无条件跳转到entry函数中//我寻思,后面这段代码不会执行啊,直接跳entry了//测试后发现如果不加后面这一段,是无法通过编译阶段的DB0x90DB"HELLOIPL";DW512;DB1;DW1;DB2;DW224;DW2880;DB0xf0;D
shu_8708
·
2020-08-20 01:13
操作系统
C语言实现队循FIFO缓冲区-《
30天自制操作系统
》
本代码整理自《
30天自制操作系统
》P135的整理FIFO缓冲区写的很好,所以记录一下(增加了一个fifo8_free函数,用于查询剩余容量,觉得有用)。
Tianyu-liu
·
2020-08-18 13:19
ffmpeg
30天自制操作系统
之第15天 多任务(1)
多任务的本质是利用定时器和far跳转在任务之间进行切换,具体来说,一开始先运行main函数(就是处理我们的鼠标、键盘和定时器等事件),0.02s后定时器超时,执行如下语句:farjmp(0,4*8);这是一个far跳转,先看一下farjmp的实现:_farjmp:;voidfarjmp(inteip,intcs)JMPFAR[ESP+4];eip,csRETfar-JMP指令指向的目标地址段是4*
刘秋杉
·
2020-08-11 20:27
30天自制操作系统
操作系统-第十五天 多任务(多进程)实现
多任务的实现过程终于等到第十五天-多进程的实现,在《
30天自制操作系统
》中介绍了多任务的实现,在此理清一下思路。
lz_zl_
·
2020-08-11 20:19
操作系统
汇编学习
babyos (六)—— 显示ASCII字符和汉字
参考:http://blog.sina.com.cn/s/blog_8c7bf19701010rhn.html《
30天自制操作系统
》0.实验结果:1.测试
孤舟钓客
·
2020-08-11 12:19
BabyOS
上一页
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
其他