自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 30天自制操作系统------增加命令行窗口

一、蜂鸣器发声我们的操作系统还没有发声的功能,蜂鸣器发声的操作控制如下:    1、音高操作 (1)AL=0xb6;OUT(0x43,AL) (2)AL=设定值的低8位;OUT(0x42,AL) (3)AL=设定值的高8位;OUT(0x42,AL) (4)设定值为0时当作65536来处理 (5)发声的音高为时钟除以设定值。也就是说设定值为10

2017-08-23 11:06:27 577

原创 30天自制操作系统------窗口操作

一个多任务的操作系统会有很多窗口,进行任务切换的同时窗口操作肯定也是必不可少的。 一、窗口切换我们可以使用键盘或者鼠标进行窗口的切换。自制的操作系统的窗口都是一个个图层,每个图层都是有各自的高度的,高度最低的是操作系统的背景图层(也就是桌面),高度最高的是鼠标图层。我们使用按键F11来作为窗口切换的按键,按下F11,我们就将从下面数第2个图层的高度提升为sh

2017-08-23 09:51:38 677

原创 30天自制操作系统------图形处理相关

一、编写malloc每个应用程序至少都需要一个窗口,窗口的内容需要保存在一块内存中,我们原来的做法是使用固定大小的数组如buf[320*200],然后往里面填写东西,但是这样子的后果就是应用程序的.hrb文件比较大,使用二进制文件打开.hrb文件发现里面有很多“00”。原因就是数组的声明就相当于汇编中的RESB指令,在内存中给为数组预留出了数组所需要的空间。为了减小.hrb的大小,我们需要

2017-07-17 17:25:20 793

原创 30天自制操作系统------用C语言编写应用程序

一、攻击(3)破坏操作系统可以从内存上下手,使得操作系统无法正常工作。定时器对于操作系统也是非常重要的,因为很多中断都是依赖于定时器的,没有定时器,光标就不会闪烁,任务也无法切换,整个操作系统就好像瘫痪了一般。所以我们可以通过修改定时器的中断频率来攻击操作系统,因为操作系统的中断频率=主频/中断周期,CPU的主频是不可修改的,所以我们可以通过修改中断周期来修改中断频率,将中断周期设的大

2017-07-14 11:17:07 5772

原创 30天自制操作系统------保护操作系统

一、攻击(1)使用C语言编写的应用程序擅自修改操作系统管理的内存,导致操作系统的功能出错。void api_end(void); void HariMain(void) { *((char*)0x00102600)=0; api_end(); }二、解决办法(1)   为操作系统以及应用程序分配各自的段,互不影响。函数cmd_app(由C语言编

2017-07-14 08:50:37 552

原创 30天自制操作系统------字符串显示API

操作系统一般都会有一些系统功能可以供应用程序来使用,最基础的就是显示字符、字符串的API了。 一、API的编写目前我们的应用程序都很简单,都是使用简单的汇编进行编写的。而我们显示字符的函数cons_putchar是用C语言编写的,即使应用程序想要调用cons_putchar函数,首先需要传参,但是汇编语言是无法使用寄存器来给C函数传参的,所以我们需要在调用cons_putc

2017-07-04 09:25:44 685

原创 30天自制操作系统------文件读取

自制的操作系统已经可以实现一些简单的命令了,现在要新增一个type命令。 一、type命令简单介绍1、type命令格式:type filename2、type命令作用:读取文件内容,将文件内容显示在命令行窗口上 二、type命令实现思路在实现命令行中dir命令时,我们了解到文件的相关信息在内存中保存为以下结构:struct FILEINFO{unsign

2017-06-30 10:13:06 934

原创 30天自制操作系统------命令行

实现一个命令行任务,首先需要一个命令行窗口,然后需要一个命令行任务,在命令行任务中实现命令行的相关功能。 一、创建一个命令行窗口创建命令行窗口就是在屏幕上画个窗口出来,实际就是操作显存,这一部分利用前面已经实现的makewindow8函数即可实现。 二、创建一个命令行任务有了命令行窗口,我们再来实现命令行的功能。(1)光标闪烁功能      在刚开始做命令行时,

2017-06-28 17:23:00 2743 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除