30天自制操作系统期末实验报告_第1页
30天自制操作系统期末实验报告_第2页
30天自制操作系统期末实验报告_第3页
30天自制操作系统期末实验报告_第4页
30天自制操作系统期末实验报告_第5页
免费预览已结束,剩余29页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、获取操作系统基本信息截图Mem :读取系统内存与存储空间conso 1 e>iien tota1 32MB free 28800KB截图Dir:读取当前系统允许使用的应用程序回截图Exit :关闭当前con sole命令窗2SJconso i e10?consoleI console>exi t>>dirHARIBOTE,SYS HELLO4 .HRBr OEMU* QFMU截图应用程序名:在当前窗口下运行应用程序截图Start+应用程序名:新建一个con sole命令窗并运行程序 OEWUconso 1 e>start lines1- consol d>l

3、ineslines因截图 Nest (no con sole start):无新建窗口运行程序截图 Shift+f2 :新建一个空的 con sole窗口 OEMU - Press Ctrl-AJt to exitconsoleI*截图F11 :将下一层的con sole窗口切至最顶层截图Tab:将当前工作区间(键盘)在窗口间循环截图3应用程序截图:截图a (显示子符A):*1 OEMU - Prf 话 Ctrl-Alt to exit abconso i e截图 Winhelo/winhelo2 /winhelo3 :conso 1 e>winhelo OEMU截图Color:截图 C

4、olor2:截图 Hello3 :” r QFMUconso i e>hGllo3 hel lo>=I回 bead因截图 Hello4 与 hello5 :r OEMUconso 1 e>hel hello, world>hel hello,worldo4o5回截图Lines:画线程序截图Noddle :计时程序(三分钟)截图Sosu:显示1-1000内的素数conso i eOEWUc c83935 5g8 879823817 8497conso e截图Sosu3:显示1-10000内的素数OEMU -卩待¥$ Ctrl-Alt to exitgrtj

5、9;回 a£37788999 9 905048899999993197184 9384677889 gggggg99733 7 3-88 6 7 TIP 8 g g g g g3 191 73827 67788 9 g 9 9 9332 7截图Starl :显示一个点I OEMU - Press Ctrl-Alt to eKitflrbconsole>stdrBad coinmnd.>starl截图Stars:显示多个点 OEWU - Pr科$ Ctrl-Alt to exitconso i e>stars2stars2截图 Walk:使用方向键控制点的移动B OE

6、WU - Preis Ctrl-Alt to exiconsole>walk1walkB1x_=!回星I源代码截取:操作系统代码:haribote文件夹(以graphie界面颜色与图形控制为例),asm head .na52014/6/1 0:21NAS丈件5 KB1 bootpaclcc2014/4/23 22:00C交件11 KB© bootp日clch2014/4/39 11:00C/C+-I- Header9 KB1 consol 吐 c2014/5/31 23:03Cx呻14 KB,1 dsctbl.c2014/4/3 14:17c文哗2 KB1 fifo.c2014

7、/2/21 16:55c文性1組,1 file.匚2014/6/1 0:07匚文好2 KEU graphicc2014/3/29 业20c文性5 KB,harkaku.tott2OO5/V17 19:1044 KG心 haribote,irng2014/5/22 14;091.440 KB爲 1 harlbote.sys2014/6/12 13:6累蜿如55 KR,1 intc2014/4/3 14:13c立畔1 KQi_2j ipIlO'-bin2014/5/31 31:43EIN交好1 KG二 ipllO,nas2014/5/31 21;JSNAS文件3 KB.,keyboards

8、2014/3/13 32:53亡交件1 KIB囤ma如bat2014/5/31 21;43Windows批赴現T1 Ke M'akefile2014/5/31 51;S6文祥2 KG , memory,u2014/2/10 2256匚直件3 KB一,mouse.c2014/2/13 22:53匚交件2 KG.nitask.c2014/4/29 1117C文阵4 KB rakfuncnas2014/5/31 21:42NAS交件5 KB.sheet匚2014/4/5 21:13C文彳牛7 KB1 timer.c2014/3/25 16;25匚交样3 KS.window,匚2014/3/2

9、4 20:14匚文哗4 KBs+atidchar ctorsorElS 16 = *+00000000000. "枕恥MSOOO*. "WQQQOCOOO.,. +00000000+. .000000 冲"+C0000004"TOOOOOOO+期 ooo*ooo*. "woo*. woo*. "toot. . 4000t. #+0 半+000*.*+"也=W00+*j"枕0#A-屮"mousey * 16 + x = be;return;void putblock8_8(char *vram, int v

10、xsize, int pxsize,int pysize, int px0, int py0, char *buf, int bxsize) int x, y;for (y = 0; y < pysize; y+) for (x = 0; x < pxsize; x+) vram(py0 + y) * vxsize + (px0 + x) = bufy * bxsize + x;return;操作系统 api以 api002 '输出单个字符 '为例):_ alloca.nas2005/12/24 14j24 IM AS文祥1 K3. apiOOl.nds200 S/

11、12/12 13:45 NIAS 丈卅1 KB2005/12/12 18:53 NAS 文性1 KBL. api003.rid52005/12/1; 1S:53 NQ5 立性1KB2005/12/12 IS; 57N 阳文科;1 KB,_ apiOOS.nas2005/12/14 14:12 IM AS文髀1 KB二 apiOO&.ns2005/12/14 14:13 NAS 文得1 KQZ apr007.nd52005/12/14 14:17MAS 交I牛1 K'B团 apiOOB nas黄型! NA&文件AS文件1 K1B团 apiOOS.ridSX Jv 495字

12、节JAS对牛1 KB凶 apiDlO.nas序散日期! 2005/12/14 14:17JAS対1 KB3 apiOll.nas2005/12/14 14:13N AS 文禅1 KG蜀 apr012,na52005/12/14 14:19 NIAS 文彳牛1 KB屈 aproiB.rias2005/12/14 14:20N 跖交1*iKe apiQM.rias200 5/12/14 14:21 IMIAS 文申牛1 KB3 api015.nas2005/12/14 1 业22NAS 交禅1 Ke辺 apiOl.rias200 5/12/14 14:2 3 NIAS 文性1 KB図 apiOiy

13、.nas200 5/12/14 14空4N'AS 文禅1 KB凶 apiOl&.ridsZm 5/12/14 14:25 NIAS 立性1 KB3 apiDlS.nds2005/12/14 14:2& NAS 文4牛1 KB工 apiDO.nas200 5/12/14 14:3 7HAS1 KB乞 mpFlibJib2014/6/5 14:2&LIB 文件10 KOext_api_pu tstrO: ; void api_pu tstrO(char *s);P USHEBXMOVEDX,2MOVEBX,ES P+8INT0x40POPEBXRET应用程序(以st

14、ars为例)/z_tools/INCP ATH = ./ztools/haribote/MAKE= $(TOOLPATH) -rEDIMG= $(TOOLPATH)IMGTOL= $(TOOLPATH)COPY= copyDEL= deldefault :$(MAKE): haribote/ haribote/a/ hello3/ hello4 / hello5 winhelo/ winhelo2 / winhelo3 star1/ stars/ stars2 beepdown/ color/ color2 /$(EDIMG)copy from:hello3 copy from:hello4

15、copy from:hello5 copy from:winhelo2 copy from:winhelo3run :copy from:star1copy from:stars2copy from:color2imgout:$(MAKE)$(COPY)$(MAKE) -C ./z_tools/qemuinstall :$(MAKE)$(IMGTOL) w a:full :$(MAKE) -C haribote$(MAKE) -C apilib$(MAKE) -C a$(MAKE) -C hello3$(MAKE) -C hello5$(MAKE) -C winhelo$(MAKE) -C h

16、ello4$(MAKE) -C winhelo2$(MAKE) -C winhelo3$(MAKE) -C star1$(MAKE) -C stars$(MAKE) -C stars2$(MAKE) -C lines$(MAKE) -C walk$(MAKE) -C noodle$(MAKE) -C beepdown$(MAKE) -C color$(MAKE) -C color2$(MAKE) run_full :$(MAKE) full$(COPY)$(MAKE) -C ./z_tools/qemu install_full :$(MAKE) full$(IMGTOL) w a: run_

17、os :$(MAKE) -C haribote clean : src_only :$(MAKE) clean-$(DEL) clean_full :$(MAKE) -C hariboteclean$(MAKE) -C apilibclean$(MAKE) -C aclean$(MAKE) -C hello3clean$(MAKE) -C hello4clean$(MAKE) -C hello5clean$(MAKE) -C winheloclean$(MAKE) -C winhelo2clean$(MAKE) -C winhelo3clean$(MAKE) -C star1clean$(MA

18、KE) -C starsclean$(MAKE) -C stars2clean$(MAKE) -C linesclean$(MAKE) -C walkclean$(MAKE) -C noodleclean$(MAKE) -C beepdownclean$(MAKE) -C colorclean$(MAKE) -C color2cleansrc_only_full :$(MAKE) -C apilibsrc_only$(MAKE) -C asrc_only$(MAKE) -C hello3src_only$(MAKE) -C hello4src_only$(MAKE) -C hello5src_only$(MAKE) -C winhelosrc_only$(MAKE) -C winhelo2src_only$(MAKE) -C winhe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论