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

正文內(nèi)容

geekos操作系統(tǒng)的研究與實(shí)現(xiàn)操作系統(tǒng)課程設(shè)計(jì)(更新版)

2025-08-02 06:16上一頁面

下一頁面
  

【正文】 *)(exeFileData + hdrphoff)。 Print(Wele to GeekOS!\n)。 Init_CRC32()。 }else { Print(%c,(asciiCode==39。 0xff。3. Project2與priject1一樣,并與用戶程序一起編譯。其中BIOSbochslastest文件模擬bochs硬件的BIOS。2. 開發(fā)環(huán)境的構(gòu)建(1)下載并安裝VMware虛擬機(jī);(2)在VMware虛擬機(jī)上安裝CentOS版本的linux操作系統(tǒng)。與“多啟動”系統(tǒng)相比,VMWare采用了完全不同的概念。(6) “src/GeekOS/”文件中主要是實(shí)現(xiàn)用戶程序要求內(nèi)核進(jìn)行服務(wù)的一些系統(tǒng)調(diào)用函數(shù)定義。(3) 編寫一個相應(yīng)的bochs配置文件。操作系統(tǒng)課程設(shè)計(jì)報告題 目:Geekos操作系統(tǒng)的研究與實(shí)現(xiàn) 專 業(yè): 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 2012年3月16日 目錄一、 實(shí)驗(yàn)?zāi)康?2二、 項(xiàng)目設(shè)計(jì)要求 3三、 開發(fā)環(huán)境的建立 41. 開發(fā)環(huán)境的介紹 42. 開發(fā)環(huán)境的構(gòu)建 4四、 項(xiàng)目設(shè)計(jì)原理 5五、 項(xiàng)目設(shè)計(jì)的實(shí)現(xiàn) 61. Project0項(xiàng)目的具體實(shí)現(xiàn) 62. Project1項(xiàng)目的具體實(shí)現(xiàn) 83. Project2項(xiàng)目的具體實(shí)現(xiàn) 9六、 系統(tǒng)編譯運(yùn)行的結(jié)果 20七、 遇到的問題和解決方法 23八、 課程設(shè)計(jì)總結(jié) 24 實(shí)驗(yàn)?zāi)康?. Project0:熟悉GeekOS的項(xiàng)目編譯、調(diào)試和運(yùn)行環(huán)境,掌握GeekOS運(yùn)行工作過程。(2) 在Linux環(huán)境下編譯系統(tǒng)得到GeekOS鏡像文件。Start_User_Thread()是一個高層操作,該函數(shù)使用User_Context對象開始一個新進(jìn)程。它可以使你在一臺機(jī)器上同時運(yùn)行二個或更多Windows、DOS、LINUX系統(tǒng)。Bochs 的模擬環(huán)境中也可以運(yùn)行大部分的操作系統(tǒng),包括 Linux, Windows 95, DOS, Windows NT 4, FreeBSD, MINIX 等。 項(xiàng)目設(shè)計(jì)原理1. Project0利用bochs模擬計(jì)算機(jī)執(zhí)行一個操作系統(tǒng)軟件。因此,通過分析可執(zhí)行文件的信息,然后為其分配內(nèi)存并載入建立內(nèi)核線程,供系統(tǒng)調(diào)度運(yùn)行。 KEY_RELEASE_FLAG)) ) //只處理非特殊按鍵的按下事件 { int asciiCode = keycode amp。 Exit(1)。 Init_Mem(bootInfo)。 Set_Current_Attr(ATTRIB(BLACK, GREEN|BRIGHT))。 elfHeader *hdr =(elfHeader*) exeFileData。 segmentsizeInMemory = phdrmemSize。(3)src/GeekOS/()。 Start_User_Thread()是一個高層操作,該函數(shù)使用User_Context對象開始一個新進(jìn)程。//可執(zhí)行文件的長度 struct User_Context *userContext = 0。exeFormat)) != 0 ) {//調(diào)用Parse_ELF_Executable函數(shù)分析ELF格式文件 Print(Failed to Parse ELF File!\n)。/* 開始用戶進(jìn)程,調(diào)用Start_User_Thread函數(shù)創(chuàng)建一個進(jìn)程并使其進(jìn)入準(zhǔn)備運(yùn)行隊(duì)列*/ process = Start_User_Thread(userContext, false)。//銷毀進(jìn)程對象 return rc。 //if (userDebug) Print(A[%p]\n, kthread)。 UserContext = (struct User_Context *)Malloc(sizeof(struct User_Context))。 //以下為用戶態(tài)進(jìn)程創(chuàng)建LDT(段描述符表) //新建一個LDT描述符 UserContextldtDescriptor = Allocate_Segment_Descriptor()。 //新建數(shù)據(jù)段和文本段選擇子 UserContextcsSelector = Selector(USER_PRIVILEGE, false, 0)。// KASSERT(userContextrefCount == 0)。 //釋放占用的LDT Free_Segment_Descriptor(userContextldtDescriptor)。 ulong_t maxva = 0。exeFormatsegmentList[i]。 size += argBlockSize。 } //格式化參數(shù)塊 Format_Argument_Block(userContextmemory + argBlockAddr, numArgs, argBlockAddr, mand)。 //: check if memory if validated if (!Validate_User_Memory(UserContext,srcInUser, bufSize)) return false。 ushort_t ldtSelector= userContextldtSelector。 //數(shù)據(jù)選擇子 Push(kthread, userContextstackPointerAddr)。 /* ebx */ Push(kthread, 0)。 /* fs */ Push(kthread, dsSelector)。 //超過最大長度 if (len maxLen){ return EINVALID。\039。//字符串長度 uchar_t* buf = 0。 //()}static int Sys_SetAttr(struct Interrupt_State* state){ //TODO(SetAttr system call)。 if (!Copy_To_User(stateebx, amp。 //函數(shù)返回值 char *program = 0。 //開中斷 rc = Spawn(program, mand, amp。}static int Sys_Wait(struct Interrupt_State* state){ //TODO(Wait system call)。}static int Sys_GetPID(struct Interrupt_State* state){ //TODO(GetPID system call)。2. 在編輯器中輸入以下配置內(nèi)容vgaromimage: file=$BXSHARE/VGABIOSlgpllatestromimage: file=$BXSHARE/BIOSbochslatest, address=0xf0000megs: 8boot: afloppya: 1_44=, status=insertedlog: ./keyboard_serial_delay: 200floppy_mand_delay: 500vga_update_interval: 300000ips: 1000000mouse: enabled=0private_colormap: enabled=0i440fxsupport: enabled=0ata0:enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14ata0master:type=disk,mode=flat,path=,cylinders=40,heads=8,spt=643. 保存,退出 gedit4. 啟動bochs:在build目錄中執(zhí)行 bochs f bochsrcbuild] bochs f bochsrc simulation 系統(tǒng)編譯運(yùn)行的結(jié)果1. Project0 運(yùn)行結(jié)果:終端打開:$ $ make $ make depend $ bochs Please choose one: [5] 5 2. Project1 運(yùn)行結(jié)果:終端打開:$ $ make $ make depend $ bochs Please choose one: [5] 5 3. Project2的運(yùn)行結(jié)果:終端打開:$ $ make $ make depend $ bochs Please choose one: [5] 5 遇到的問題和解決方法1. 安裝Ubuntu ,安裝bochs時出現(xiàn)了了一系列的問題,在$ cd $./configure 后出現(xiàn)錯誤ERROR: X windows gui was selected, but X windows libraries were not found. 按照提示后上網(wǎng)查找資料后,輸入命令:$ sudo aptget install libx11dev $ sudo aptget install xserverxorgdev $ sudo aptget install xorgde..但是還是出現(xiàn)了錯誤!再用命令$ ./configure withnogui依然還是出現(xiàn)錯誤!確定此版本的Linux操作系統(tǒng)附帶文件可能存在一定問題,所以安裝了另外一個CentOS 。雖然后來具體實(shí)施時也有點(diǎn)小波折,但最終也解決了該難題。通過這次操作系統(tǒng)課程設(shè)計(jì),我逐步了解了Liunx操作系統(tǒng)的使用,以及GeekOS編譯環(huán)境和運(yùn)行環(huán)境,了解計(jì)算機(jī)系統(tǒng)的啟動原理,熟悉可執(zhí)行鏈接文件(ELF文件)的結(jié)構(gòu),并學(xué)會加載和運(yùn)行可執(zhí)行文件,如何安裝和使用bochs,make工具的使用如果沒有經(jīng)過實(shí)踐的話,課本上的概念過一段時間就忘記了,但是有了課程設(shè)計(jì),這些知識便能
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1