freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

geekos操作系統(tǒng)的研究與實現(xiàn)操作系統(tǒng)課程設(shè)計-wenkub

2023-07-09 06:16:36 本頁面
 

【正文】 ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9ata0master: type=disk, path=, mode=flat, cylinders=40, heads=8, spt=64ata0slave: type=cdrom, path=/dev/cdrom, status=insertedboot: aips: 1000000log:./vga_update_interval: 300000keyboard_serial_delay: 250keyboard_paste_delay: 100000private_colormap: enabled=0 (4)運行在build目錄下輸入:$ bochs –f bochsrc3. Project2項目的具體實現(xiàn)1. 添加代碼(1)修改src/GeekOS/(),其功能是生成一個用戶級進程。 segment++。 segmentlengthInFile = phdrfileSize。 struct Exe_Segment * segment= exeFormatsegmentList。 Exit(0)。 Set_Current_Attr(ATTRIB(BLACK, GRAY))。 Init_Timer()。 Init_TSS()。 } } } }}void Main(struct Boot_Info* bootInfo){ Init_BSS()。\r39。d39。 //低8位為Ascii碼 if( (keycode amp。keycode) ) //讀取鍵盤按鍵狀態(tài) { if(!( (keycode amp。再根據(jù)傳遞的中斷向量查找并調(diào)用相關(guān)的中斷處理程序,并實現(xiàn)調(diào)度進程的選擇??蓤?zhí)行文件包含一些基本的要素——代碼、數(shù)據(jù)、重定位信息和符合信息。VGABIOSlgpllastest文件模擬bochs顯示系統(tǒng)的BIOS。$ make$ make install(7):vgaromimage: file=$BXSHARE/VGABIOSlgpllatestromimage: file=$BXSHARE/BIOSbochslatest, address=0xf0000megs: aboot: cfloppya: 1_44=, status=insertedfloppya: 1_44=, status=insertedlog: ./keyboard_serial_delay: 200floppy_mand_delay: 500vga_update_interval: 300000ips: 1000000mouse: enabled=0private_colormap: enabled=0i440fxsupport: enabled=0(8)啟動Boch環(huán)境,在提示的出現(xiàn)GeekOS的歡迎界面。(3)在VMware虛擬機上的linux環(huán)境下對GeekOS源文件進行編譯和鏈接,;(4)下載并安裝系統(tǒng)仿真工具Bochs;(5)$ ./configure 配置bochs的文件(6)make 工具無論是在Linux還是在UNIX環(huán)境中,make都是一個非常重要的系統(tǒng)開發(fā)工具。(3)Bochs PC 模擬器 GeekOS運行于Windows(或Linux)下的Bochs PC模擬器,Bochs 是用 C++ 開發(fā)的可移植的 IA32 (x86) PC 模擬器,Bochs仿真器其實質(zhì)就是一臺虛擬PC機,它包括對 Intel x86 CPU 、通用 I/O 設(shè)備和可定制的 BIOS 的模擬,幾乎可以運行在所有流行的平臺上。多啟動系統(tǒng)在一個時刻只能運行一個系統(tǒng),在系統(tǒng)切換時需要重新啟動機器。出于教學(xué)目的,這個系統(tǒng)內(nèi)核設(shè)計簡單,卻又兼?zhèn)鋵嵱眯?,它可以運行在真正的X86 PC硬件平臺。要求用戶實現(xiàn)的有Sys_Exit()函數(shù)、Sys_PrintString()函數(shù)、Sys_GetKey()、Sys_SetAttr()、Sys_GetCursor()、Sys_PutCursor()、Sys_Spawn()函數(shù)、Sys_Wait()函數(shù)和Sys_GetPID( )函數(shù)。(5) “src/GeekOS/”文件中的Start_User_Thread函數(shù)和Setup_User_Thread函數(shù)。(4) 在bochs中運行GeekOS系統(tǒng)顯示結(jié)果。該進程的功能是:接收鍵盤輸入的字符并顯示到屏幕上,當(dāng)輸入ctrl+d時,結(jié)束進程的運行。2. Project1:熟悉ELF文件格式,了解GeekOS系統(tǒng)如何將ELF格式的可執(zhí)行程序裝入到內(nèi)存,建立內(nèi)核進程并運行的實現(xiàn)技術(shù)。3. Project2:擴充GeekOS操作系統(tǒng)內(nèi)核,使得系統(tǒng)能夠支持用戶級進程的動態(tài)創(chuàng)建和執(zhí)行。2. Project1(1) 修改/geekos/:在函數(shù)Parse_ELF_Executable( )中添加代碼,分析ELF格式的可執(zhí)行文件(包括分析得出ELF文件頭、程序頭,獲取可執(zhí)行文件長度,代碼段、數(shù)據(jù)段等信息),并填充Exe_Format數(shù)據(jù)結(jié)構(gòu)中的域值。3. Project2:要求用戶對以下幾個文件進行修改:(1) “src/GeekOS/”文件中的函數(shù)Spawn(),其功能是生成一個新的用戶級進程;(2) “src/GeekOS/”文件中的函數(shù)Switch_To_User_Context(),調(diào)度程序在執(zhí)行一個新的進程前調(diào)用該函數(shù)以切換用戶地址空間;(3) “src/GeekOS/”文件中的函數(shù)Parse_ELF_Executable()。Setup_User_Thread()函數(shù)的功能是為進程初始化內(nèi)核堆棧,堆棧中是為進程首次進入用戶態(tài)運行時設(shè)置處理器狀態(tài)要使用的數(shù)據(jù)。(7) :Spawn_Init_Process(void) 。(2)VMware WorkstationVMware Workstation 是一款功能強大的桌面虛擬計算機軟件,提供用戶可在單一的桌面上同時運行不同的操作系統(tǒng),和進行開發(fā)、測試 、部署新的應(yīng)用程序的最佳解決方案。VMWare是真正“同時”運行,多個操作系統(tǒng)在主系統(tǒng)的平臺上,就象標準Windows應(yīng)用程序那樣切換。目前, Bochs 可以模擬 386, 486, Pentium Pro 或者 AMD64 CPU 。利用make工具,可以將大型的開發(fā)項目分解成為多個更易于管理的模塊,對于一個包括幾百個源文件的應(yīng)用程序,使用make和makefile工具就可以簡潔明快地理順各個源文件之間紛繁復(fù)雜的相互關(guān)系。(9)GeekOS系統(tǒng)編譯和仿真成功。其中, Wait_For_Key(void),循環(huán)等待一個鍵盤事件,然后返回一個16位的數(shù)據(jù) Keycode型的, 。以及一些可選輔助信息,如調(diào)試信息、硬件信息等。 項目設(shè)計的實現(xiàn)1. Project0項目的具體實現(xiàn)(1)include geekos/include geekos/include geekos/include geekos/include geekos/include geekos/include geekos/include geekos/include geekos/include geekos/include geekos/void project0(){ Print(To Exit hit Ctrl + d.\n)。 KEY_SPECIAL_FLAG) || (keycode amp。 KEY_CTRL_FLAG)==KEY_CTRL_FLAG amp。) //按下Ctrl鍵 { Print(\nBYE!\n)。) ? 39。 Init_Screen()。 Init_Interrupts()。Init_Keyboard()。 struct Kernel_Thread *thread。}(2)編譯文件終端打開 $ cd project0/build 的目錄: 在其目錄下:$ make $ make depend 編譯,生成文件 (3)建立配置文件bochsrc終端打開 $ cd project0/build 的目錄:建立配置文件: $ gedit .bochs修改其內(nèi)容如下:vgaromimage: file=$BXSHARE/VGABIOSlgpllatestromimage: file=$BXSHARE/BIOSbochslatest, address=0xf0000megs: 8boot: afloppya: 1_44=, status=insertedfloppya: 1_44=, status=insertedlog: ./keyboard_serial_delay: 200floppy_mand_delay: 500vga_update_interval: 300000ips: 1000000mouse: enabled=0private_colormap: enabled=0i440fxsupport: enabled=0(4)運行在build目錄下輸入:$ bochs –f bochsrc 2. Project1項目的具體實現(xiàn)(1)終端打開 $include geekos/include geekos/include geekos/include geekos/ /* for debug Print() statements */include geekos/include geekos/include geekos/include geekos/int Parse_ELF_Executable(char *exeFileData, ulong_t exeFileLength,struct Exe_Format *exeFormat){ int i。 for( i=0。 segmentstartAddress = phdrvaddr。 } exeFormatnumSegments = hdrphnum。(2)src/GeekOS/(),調(diào)度程序在執(zhí)行一個新的進程前調(diào)用該函數(shù)以切換用戶地址空間。 Destroy_User_Context()函數(shù)的功能是釋放用戶態(tài)進程占用的內(nèi)存資源。 Setup_User_Thread()函數(shù)的功能是為進程初始化內(nèi)核堆棧,堆棧中是為進程首次進入用戶態(tài)運行時設(shè)置處理器狀態(tài)要使用的數(shù)據(jù)。 要求用戶實現(xiàn)的有Sys_Exit()函數(shù)、Sys_PrintString()函數(shù)、Sys_GetKey()、Sy
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1