linux编译错误 程序中有游离的,操作系统实验报告 附思考题(24页)-原创力文档...
課程設計(綜合實驗)報告
( 2015 -- 2016 年度第 1 學期)
名 稱: 操作系統綜合實驗
題 目: oslab 綜合實驗
院 系: 計算機系
班 級:
學 號:
學生姓名:
指導教師:
設計周數: 分散進行
成 績:
日期: 2015 年 10 月 29 日
實驗 1 實驗環境的使用
一、 綜合實驗的目的與要求
? 熟悉操作系統集成實驗環境 OS Lab 的基本使用方法。
? 練習編譯、調試 EOS 操作系統內核以及 EOS 應用程序。
二、實驗正文
1.啟動 OS Lab
2.1 執行項目
Windows 控制臺窗口內容顯示
2.2 調試項目
2.2.1 使用斷點中斷執行
2.2.2 單步調試
2.2.2 .3 單步調試 結果顯示:
練習使用 “逐語句”功能和 “跳出”功能
2.2.3 查看變量的值
快速監視
添加監視
2.2.4 調用堆棧
調用堆棧顯示內容
進入 Func 函數
雙擊 main 函數所在的行表示此函數是當前調用堆棧中的活動函數。
3 新建 EOS 內核項目
4 EOS 應用程序項目的生成和調試
4.1 新建 EOS 應用程序項目
4.2 調試項目
添加斷點后單步調試結果顯示
4.3 查看軟盤鏡像文件中的內容
4.4 修改 EOS 應用程序項目名稱
5 退出 OS Lab
6 保存 EOS 內核項目
三、綜合實驗總結或結論
思考與練習:
1. 在哪些情況下應該使用 “逐過程”調試,在哪些情況下應該使用 “逐語句”調試。
0
答:逐語句為每執行一行語句,如果碰到函數調用它就會進入到函數里面。而逐過程碰到
函數時不進入函數,把函數調用當成一條語句去執行。
2. 生成 EOS SDK 文件夾的目的和作用。明白文件夾的組織結構和各個文件的來源和
作用。查看 EOS 應用程序包含了 SDK 文件夾中的哪些頭文件,是如何包含的?
(1)EOS SDK 為應用程序調用系 API 提供服務,可作為用戶編程中使用的工具包集合。
(2)其主要包括 INC 頭文件 LIB 文件夾、導入庫文件和 BIN 文件夾、動態鏈接庫、可執行
程序、二進制文件。
(3)包含的頭文件有:eos.h負責導出 API 函數,eosdef.h 聲明負責導出函數類型的定義,
error.h 負責導出錯誤碼。
(4)EOS 應用程序在項目的頭文件中只是包含了 eos.h 文件,在 eos.h 文件中又包含了
eosdef.h 和 error.h 文件。
實驗 2 操作系統的啟動
一、 綜合實驗的目的與要求
跟蹤調試 EOS 在 PC 機上從加電復位到成功啟動全過程,了解操作系統的啟動過程。
查看 EOS 啟動后的狀態和行為,理解操作系統啟動后的工作方式。
二、實驗正文
1. 準備實驗
新建一個 EOS Kernel 項目。打開 boot.asm 和 loader.asm 兩個匯編文件。生成項目。找
到 loader.bin 文件,記錄下此文件的大小 1566 字節。
2 調試 EOS 操作系統的啟動過程
2.1 使用 Bochs 做為遠程目標機
找到 “遠程目標機”屬性,將此屬性值修改為 “BochsDebug”
2.2 調試 BIOS 程序
2.2.1 在 Console 窗口中輸入調試命令 sreg 后按回車,其中 CS 寄存器信息行中的 “
s=0xf000”表示 CS 寄存器的值為 0xf000。
2.2.2 輸入調試命令 r 后按回車,顯示當前 CPU 中各個通用寄存器的值。其中 “
rip:00000fff0
總結
以上是生活随笔為你收集整理的linux编译错误 程序中有游离的,操作系统实验报告 附思考题(24页)-原创力文档...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如果linux目录中没有srv,了解li
- 下一篇: mysql 本地连接_mysql开启远程