华中科技大学计算机学院操作系统课程设计报告

上传人:ji****72 文档编号:26796202 上传时间:2018-01-01 格式:PDF 页数:35 大小:1.03MB
返回 下载 相关 举报
华中科技大学计算机学院操作系统课程设计报告_第1页
第1页 / 共35页
华中科技大学计算机学院操作系统课程设计报告_第2页
第2页 / 共35页
华中科技大学计算机学院操作系统课程设计报告_第3页
第3页 / 共35页
华中科技大学计算机学院操作系统课程设计报告_第4页
第4页 / 共35页
华中科技大学计算机学院操作系统课程设计报告_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《华中科技大学计算机学院操作系统课程设计报告》由会员分享,可在线阅读,更多相关《华中科技大学计算机学院操作系统课程设计报告(35页珍藏版)》请在金锄头文库上搜索。

1、华中科技大学嵌 入 式 操 作 系 统 课 程 设 计 实 验 报 告院 系 : 计 算 机 科 学 与 技 术 学 院专 业 :班 级 :姓 名 :指 导 老 师 :报 告 时 间 :计算机科学与技术学院计 算 机 科 学 与 技 术 学 院 操 作 系 统 课 程 设 计 实 验 报 告 U2 0 1 0 1 4 2 8 1_第 2页 /共 35页目 录1.课 程 设 计 目 的 32.课 程 设 计 环 境 搭 建 33.内 容 一 : 熟 悉 和 理 解 Linux编 程 环 境3.1 内 容 要 求 53.2 设 计 过 程 及 实 现 54.内 容 二 : 掌 握 添 加 系 统

2、调 用 的 方 法4.1 内 容 要 求 94.2 设 计 过 程 及 实 现 95.内 容 三 : 掌 握 添 加 设 备 驱 动 程 序 的 方 法5.1 内 容 要 求 175.2 设 计 过 程 及 实 现 176.内 容 四 : 理 解 和 分 析 /proc文 件6.1 内 容 要 求 226.2 设 计 过 程 及 实 现 22计 算 机 科 学 与 技 术 学 院 操 作 系 统 课 程 设 计 实 验 报 告 U2 0 1 0 1 4 2 8 1_第 3页 /共 35页1 课 程 设 计 目 的( 1) 掌 握 Linux操 作 系 统 的 使 用 方 法 ;( 2) 了 解

3、 Linux系 统 内 核 代 码 结 构 ;( 3) 掌 握 实 例 操 作 系 统 的 实 现 方 法 。2 课 程 设 计 环 境 搭 建( 1) windows 7上 , 利 用 虚 拟 机 软 件 VMware软 件 搭 建 的 linux平 台 : Ubuntu 11.10 ( 安 装 包 : ubuntu-11.10-desktop-i386) 内 核 : linux-headers-3.0.0-12-generic( 2) 更 改 root登 录 :在 现 阶 段 Ubuntu的 系 统 中 , 是 不 允 许 直 接 以 root身 份 登 录 系 统 的 , 但 是 在做

4、课 设 的 过 程 中 , 需 要 大 量 的 使 用 root权 限 来 进 行 命 令 的 操 作 。 如 果 以 普 通 用户 登 录 ubuntu, 会 连 编 辑 一 个 文 件 都 非 常 周 折 。 为 此 , 我 找 到 了 一 种 修 改 系 统文 件 , 以 达 到 直 接 使 用 root身 份 登 录 的 方 法 : 开 始 的 时 候 , 只 能 以 普 通 用 户 登 录 , 用 Ctrl+Alt+T打 开 终 端 :初 始 化 /修 改 root密 码sudo passwd root用 vi编 辑 器 修 改 这 个 文 件 :sudo vi /etc/light

5、dm/lightdm.conf在 文 件 最 后 加 入 这 么 一 行 代 码 :greeter-show-manual-login=true然 后 保 存 退 出 , sudo reboot 重 启 系 统 。 之 后 就 可 以 输 入 root用 户 登 录 。( 3) 在 添 加 系 统 调 用 中 用 到 的 其 他 内 核 包 : 下 载 和 当 前 实 验 环 境 最 为 接 近 的 系 统 版 本 ( 这 点 很 重 要 )使 用 apt-get install linux-source-3.0.0 命 令 , 下 载 结 果 是 linux-source-3.0.0.tar

6、.bz2 解 压 命 令 : tar xjvf linux-source-3.0.0.tar.bz2 C /usr/src 解 压 后 , 在 /usr/src目 录 下 得 到 内 核 文 件 夹 linux-source-3.0.0计 算 机 科 学 与 技 术 学 院 操 作 系 统 课 程 设 计 实 验 报 告 U2 0 1 0 1 4 2 8 1_第 4页 /共 35页( 4) 在 调 用 linux图 形 库 时 需 要 安 装 GTK环 境 : 安 装 gcc/g+/gdb/make 等 基 本 编 程 工 具apt-get install build-essentialTip

7、: 如 果 提 示 由 于 依 赖 项 不 能 安 装 , 需 要 使 用 apt的 强 化 版 aptitude, 这个 工 具 可 以 自 动 分 析 软 件 包 依 赖 , 系 统 一 般 不 自 带 , 需 要 先 安 装 , 具 体 过 程 是 :apt-get install aptitudeaptitude install build-essentialaptitude这 个 工 具 很 强 大 , 对 于 解 决 软 件 包 安 装 时 的 依 赖 问 题 很 有 帮 助 。 安 装 libgtk2.0-dev libglib2.0-dev 等 开 发 相 关 的 库 文 件

8、:apt-get install gnome-core-devel 安 装 GTK核 心 组 件 :apt-get install libgtk2.0-dev这 个 安 装 完 成 后 , GTK 环 境 就 基 本 搭 建 成 功 , 网 上 有 些 教 程 说 要 安 装 其 他 配置 文 件 , 经 我 亲 测 , 发 现 只 要 安 装 libgtk2.0-dev这 个 包 就 能 搞 定 。计 算 机 科 学 与 技 术 学 院 操 作 系 统 课 程 设 计 实 验 报 告 U2 0 1 0 1 4 2 8 1_第 5页 /共 35页3 内 容 一 : 熟 悉 和 理 解 Linu

9、x编 程 环 境3.1 内 容 要 求( 1) 编 写 一 个 C程 序 , 实 现 文 件 拷 贝 功 能( 2) 编 写 一 个 C程 序 , 使 用 Linux下 的 图 形 库 , 分 窗 口 显 示 三 个 并 发 进 程 运 行 ;3.2 设 计 过 程 及 实 现( 1) 文 件 拷 贝 : 文 件 的 拷 贝 主 要 的 思 想 就 是 利 用 文 件 指 针 操 作 , 在 两 个 文 件 之 间 进 行 按 字 符的 fget和 fput。 从 而 完 成 整 个 文 件 的 拷 贝 操 作 。 在 这 个 基 本 功 能 之 外 , 需 要 增加 程 序 的 健 壮 性

10、, 具 体 有 以 下 几 个 方 面 : 源 文 件 是 否 存 在 且 能 读 取 数 据 ; 是 否 能 创 建 目 的 文 件 , 且 能 向 里 面 写 入 数 据 ; 程 序 需 要 的 argc参 数 个 数 是 否 满 足 要 求 ; 基 于 以 上 几 点 和 内 容 要 求 , 主 要 的 程 序 段 如 下 :if(argc!=3) /判 断 参 数 个 数 是 否 为 3 , 否 则 返 回 printf(Error in argc!n);return 0;if( (fsource=fopen(argv1,rb)=NULL ) printf(Error in open

11、source file!n); /判 断 源 文 件 是 否 能 打 开 和 读 出return 0;if( (ftarget=fopen(argv2,wb)=NULL )计 算 机 科 学 与 技 术 学 院 操 作 系 统 课 程 设 计 实 验 报 告 U2 0 1 0 1 4 2 8 1_第 6页 /共 35页printf(Error in open target file! n); /判 断 目 的 文 件 时 候 能 创 建和 写 入return 0;while(c=fgetc(fsource)!=EOF) fputc(c,ftarget); /按 字 符 读 取 和 写 入 数

12、据 执 行 结 果 如 下 :将 source/source.txt文 件 拷 贝 到 到 target.txt,开 始 时 如 下 图 3-1所 示 :图 3-1 复 制 开 始 前 source/source.txt文 件 内 容利 用 mycopy程 序 复 制 , 查 看 target.txt文 件 复 制 结 果 如 下 图 3-2所 示 :图 3-2 复 制 后 target.txt文 件 的 具 体 内 容( 2) 实 现 三 个 进 程 之 间 的 并 发 程 序 :这 里 需 要 用 到 课 程 实 验 时 的 fork( )程 序 以 及 GTK的 图 形 显 示 。计 算

13、 机 科 学 与 技 术 学 院 操 作 系 统 课 程 设 计 实 验 报 告 U2 0 1 0 1 4 2 8 1_第 7页 /共 35页 基 本 fork( ) 程 序 , 调 用 显 示 一 个 父 进 程 和 两 个 子 进 程 的 结 构 如 下 :if(pid_1=fork()=0) printf(Child 1# is running.n); /第 一 个 子 进 程Child 1#show(argc,argv,This is Child 1#); /调 用 函 数 显 示 窗口 else if(pid_2=fork()=0)printf(Child 2# is running

14、.n); /第 二 个 子 进 程Child 2# show(argc,argv,This is Child 2#); /调 用 函 数 显 示 窗口elseprintf(Parent # is running.n); /父 进 程 Parent# /由 于 父 进 程 需 要 显 示 全 部 子 进 程 PID, 所 以 这 里 直 接 用 参 数 画 窗 口计 算 机 科 学 与 技 术 学 院 操 作 系 统 课 程 设 计 实 验 报 告 U2 0 1 0 1 4 2 8 1_第 8页 /共 35页 调 用 GTK显 示 窗 体 函 数 模 块 的 结 构 :void show(int argc,char *argv

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号