日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

桂林电子科技大学操作系统课程设计(一)

發(fā)布時(shí)間:2023/12/10 windows 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 桂林电子科技大学操作系统课程设计(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

桂林電子科技大學(xué)大三操作系統(tǒng)課設(shè)(project0)

1.project0 目的:熟悉GeekOS的項(xiàng)目編譯、調(diào)試和運(yùn)行環(huán)境,掌握GeekOS運(yùn)行工作過程。

2.要求:熟悉鍵盤操作函數(shù),編程實(shí)現(xiàn)一個(gè)內(nèi)核進(jìn)程。該進(jìn)程的功能是:接收鍵盤輸入的字符并顯示到屏幕上,當(dāng)輸入ctrl+d時(shí),結(jié)束進(jìn)程的運(yùn)行。

3.環(huán)境:linux環(huán)境+boch

4.操作步驟:

????(1).編寫main函數(shù)
????(2)在main()函數(shù)前添加 void project0()函數(shù)的定義
????(3)在main()函數(shù)下添加project0()函數(shù)
void project0() {Print("To Exit hit Ctrl + d.\n");Keycode keycode;while(1){if( Read_Key(&keycode) ) //讀取鍵盤按鍵狀態(tài){if(!( (keycode & KEY_SPECIAL_FLAG) || (keycode & KEY_RELEASE_FLAG)) ) //只處理非特殊按鍵的按下事件{ //低8位為Ascii碼,KEY_CTRL_FLAG 0x4000 0x4064 & 0xff = 0x0064if( (keycode & KEY_CTRL_FLAG)==KEY_CTRL_FLAG && asciiCode=='d') //按下Ctrl鍵{Print("\n---------BYE!--------\n");Exit(1); }else{Print("%c",(asciiCode=='\r') ? '\n' : asciiCode);}} }} }
????(4)在main()中添加線程
struct Kernel_Thread *thread;thread=Start_Kernel_Thread(&project0,0,PRIORITY_NORMAL,false);
????(5)還要配置一下環(huán)境,差不多要完成了,首先,把include文件夾下面的sigment.h的定義下的變量修改一下見圖:

切記,baseHigh一定要加上 “:8”大小值

????(6)最后配置一下.bochs 這里的bochs指的是build文件夾下的,而不是和main()函數(shù)同一目錄下的,把環(huán)境配成如下代碼:
megs: 8 boot: a floppya: 1_44=fd.img, status=inserted
????(6)運(yùn)行結(jié)果:
首先編譯一下文件,生成鏡像

用make命令,生成fd.img命令

接著是運(yùn)行用bochs命令運(yùn)行:

運(yùn)行結(jié)果:

謝謝大家!!!

總結(jié)

以上是生活随笔為你收集整理的桂林电子科技大学操作系统课程设计(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。