30天自制操作系统期末实验报告-(12147)

30天自制操作系统期末实验报告-(12147)

ID:42160300

大小:645.50 KB

页数:23页

时间:2019-09-09

30天自制操作系统期末实验报告-(12147)_第1页
30天自制操作系统期末实验报告-(12147)_第2页
30天自制操作系统期末实验报告-(12147)_第3页
30天自制操作系统期末实验报告-(12147)_第4页
30天自制操作系统期末实验报告-(12147)_第5页
资源描述:

《30天自制操作系统期末实验报告-(12147)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、```浙江工业大学计算机学院计算机实验班1101章鹏201126100329实验报告名称:创新实践(30天自制操作系统)实验目标:根据教材从零开始使用C与汇编语言编写一个简单的操作系统,实现操作系统的基本功能。实验背景:为了让学生对操作系统的底层有更清晰的了解,选取了一本名为《30天自制操作系统》的书作为两学期创新实践课程的教材,并根据该教材一步步从零开始完成每个人自己特色的简易版操作系统,锻炼学生动手能力,提高学生对操作系统的知识理解。实验进度:第28天成果界面截图:截图1:操作系统初始化界面```````截图2:运行命令获取操作系

2、统基本信息截图2.1Mem:读取系统内存与存储空间截图2.2Dir:读取当前系统允许使用的应用程序```````截图2.3Exit:关闭当前console命令窗截图2.4应用程序名:在当前窗口下运行应用程序```````截图2.5Start+应用程序名:新建一个console命令窗并运行程序截图2.6Ncst(noconsolestart):无新建窗口运行程序```````截图2.7Shift+f2:新建一个空的console窗口截图2.8F11:将下一层的console窗口切至最顶层```````截图2.9Tab:将当前工作区间(键

3、盘)在窗口间循环截图3应用程序截图:```````截图3.1a(显示字符A):截图3.2Winhelo/winhelo2/winhelo3:``````````````截图3.3Color:截图3.4Color2:```````截图3.5Hello3:截图3.6Hello4与hello5:```````截图3.7Lines:画线程序截图3.8Noddle:计时程序(三分钟)```````截图3.9Sosu:显示1-1000内的素数截图3.10Sosu3:显示1-10000内的素数```````截图3.11Star1:显示一个点截图3.

4、12Stars:显示多个点```````截图3.13Walk:使用方向键控制点的移动```````源代码截取:操作系统代码:haribote文件夹(以graphic界面颜色与图形控制为例)//graphic.c#include"bootpack.h"voidinit_palette(void){staticunsignedchartable_rgb[16*3]={0x00,0x00,0x00,/*0:黑*/0xff,0x00,0x00,/*1:亮红*/0x00,0xff,0x00,/*2:亮绿*/0xff,0xff,0x00,/*3:

5、亮黄*/0x00,0x00,0xff,/*4:亮蓝*/0xff,0x00,0xff,/*5:亮紫*/0x00,0xff,0xff,/*6:浅亮蓝*/0xff,0xff,0xff,/*7:白*/0xc6,0xc6,0xc6,/*8:亮灰*/0x84,0x00,0x00,/*9:暗红*/0x00,0x84,0x00,/*10:暗绿*/```````0x84,0x84,0x00,/*11:暗黄*/0x00,0x00,0x84,/*12:暗青*/0x84,0x00,0x84,/*13:暗紫*/0x00,0x84,0x84,/*14:浅暗蓝*/

6、0x84,0x84,0x84/*15:暗灰*/};unsignedchartable2[216*3];intr,g,b;set_palette(0,15,table_rgb);for(b=0;b<6;b++){for(g=0;g<6;g++){for(r=0;r<6;r++){table2[(r+g*6+b*36)*3+0]=r*51;table2[(r+g*6+b*36)*3+1]=g*51;table2[(r+g*6+b*36)*3+2]=b*51;}}}set_palette(16,231,table2);return;}voi

7、dset_palette(intstart,intend,unsignedchar*rgb){inti,eflags;eflags=io_load_eflags();io_cli();io_out8(0x03c8,start);for(i=start;i<=end;i++){io_out8(0x03c9,rgb[0]/4);io_out8(0x03c9,rgb[1]/4);io_out8(0x03c9,rgb[2]/4);rgb+=3;}io_store_eflags(eflags);return;}voidboxfill8(unsi

8、gnedchar*vram,intxsize,unsignedcharc,intx0,inty0,intx1,inty1){intx,y;for(y=y0;y<=y1;y++){for(x=x0;x<=x1;x++)``

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。