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

1、计算机科学与技术学院 操作系统课程设计实验报告 U201014281华中科技大学嵌入式操作系统课程设计实验报告院 系: 计算机科学与技术学院专 业: 班 级: 姓 名: 指导老师: 报告时间: 计算机科学与技术学院目 录1.课程设计目的32.课程设计环境搭建33.内容一:熟悉和理解Linux编程环境3.1 内容要求53.2 设计过程及实现54.内容二:掌握添加系统调用的方法4.1 内容要求94.2 设计过程及实现95.内容三:掌握添加设备驱动程序的方法5.1 内容要求 175.2 设计过程及实现 176.内容四:理解和分析/proc文件6.1 内容要求 226.2 设计过程及实现 221 课程。

2、设计目的(1)掌握Linux操作系统的使用方法;(2)了解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身份登录系统的,但是在做课设的过程中,需要大量的使用root权限来进行命令的操作。如果以普通用户登录ubuntu,会连编辑一个文件都非常周折。为此,。

3、我找到了一种修改系统文件,以达到直接使用root身份登录的方法:开始的时候,只能以普通用户登录,用Ctrl+Alt+T打开终端:初始化/修改root密码sudo passwd root用vi编辑器修改这个文件:sudo vi /etc/lightdm/lightdm.conf 在文件最后加入这么一行代码:greeter-show-manual-login=true然后保存退出,sudo reboot 重启系统。之后就可以输入root用户登录。(3)在添加系统调用中用到的其他内核包:下载和当前实验环境最为接近的系统版本(这点很重要)使用apt-get install linux-source-3。

4、.0.0 命令,下载结果是linux-source-3.0.0.tar.bz2 解压命令:tar xjvf linux-source-3.0.0.tar.bz2 C /usr/src解压后,在/usr/src目录下得到内核文件夹linux-source-3.0.0(4)在调用linux图形库时需要安装GTK环境:安装gcc/g+/gdb/make 等基本编程工具apt-get install build-essential Tip:如果提示由于依赖项不能安装,需要使用apt的强化版aptitude,这个工具可以自动分析软件包依赖,系统一般不自带,需要先安装,具体过程是:apt-get inst。

5、all aptitudeaptitude install build-essentialaptitude这个工具很强大,对于解决软件包安装时的依赖问题很有帮助。安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件:apt-get install gnome-core-devel 安装GTK核心组件: apt-get install libgtk2.0-dev这个安装完成后,GTK环境就基本搭建成功,网上有些教程说要安装其他配置文件,经我亲测,发现只要安装libgtk2.0-dev这个包就能搞定。3 内容一:熟悉和理解Linux编程环境3.1 内容要求(1)编写一个。

6、C程序,实现文件拷贝功能(2)编写一个C程序,使用Linux下的图形库,分窗口显示三个并发进程运行;3.2 设计过程及实现(1)文件拷贝:文件的拷贝主要的思想就是利用文件指针操作,在两个文件之间进行按字符的fget和fput。从而完成整个文件的拷贝操作。在这个基本功能之外,需要增加程序的健壮性,具体有以下几个方面:源文件是否存在且能读取数据;是否能创建目的文件,且能向里面写入数据;程序需要的argc参数个数是否满足要求;基于以上几点和内容要求,主要的程序段如下:if(argc!=3)/判断参数个数是否为3 ,否则返回printf(Error in argc!n);return 0;if( (f。

7、source=fopen(argv1,rb)=NULL )printf(Error in open source file!n);/判断源文件是否能打开和读出return 0;if( (ftarget=fopen(argv2,wb)=NULL )printf(Error in open target file!n);/判断目的文件时候能创建和写入return 0;while(c=fgetc(fsource)!=EOF)fputc(c,ftarget);/按字符读取和写入数据执行结果如下:将source/source.txt文件拷贝到到target.txt,开始时如下图3-1所示:图3-1 复制。

8、开始前source/source.txt文件内容利用mycopy程序复制,查看target.txt文件复制结果如下图3-2所示:图3-2 复制后target.txt文件的具体内容(2)实现三个进程之间的并发程序:这里需要用到课程实验时的fork( )程序以及GTK的图形显示。基本fork()程序,调用显示一个父进程和两个子进程的结构如下:if(pid_1=fork()=0)printf(Child 1# is running.n);/第一个子进程 Child 1#show(argc,argv,This is Child 1#);/调用函数显示窗口elseif(pid_2=fork()=0)pr。

9、intf(Child 2# is running.n);/第二个子进程 Child 2#show(argc,argv,This is Child 2#);/调用函数显示窗口elseprintf(Parent # is running.n);/父进程 Parent #/由于父进程需要显示全部子进程PID,所以这里直接用参数画窗口调用GTK显示窗体函数模块的结构:void show(int argc,char *argv ,char *title ) gtk_init (&argc, &argv); /初始化工具包并且获取命令行参数;window = gtk_window_new (GTK_WIN。

10、DOW_TOPLEVEL); /创建新的窗口;/设定窗口的位置;gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);/监听窗口的destroy事件;g_signal_connect (G_OBJECT (window), destroy, G_CALLBACK (destroy_progress), NULL);gtk_window_set_title (GTK_WINDOW (window), title);/用来设定更改窗口标题;gtk_container_set_border_width (GTK_CONTAIN。

11、ER (window), 20);/设定宽度;/使用gtk_vbox_new函数建立纵向组装盒;/为了显示构件,必须将构件放入组装盒中,并将组装盒放在窗口内;vbox = gtk_vbox_new (FALSE, 10);gtk_container_set_border_width (GTK_CONTAINER (vbox), 100);/设定宽度;gtk_container_add (GTK_CONTAINER (window), vbox);gtk_widget_show (vbox);/使用gtk_box_pack_start函数将构件放到组装盒中;sprintf (id_char, %。

12、s ,My ID:%d, title,getpid ();/显示PID号label = gtk_label_new (id_char);gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 10);gtk_widget_show (label);sprintf (id_char, 父进程ID:%d, getppid ();/显示PPID号label = gtk_label_new (id_char); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 10);gtk_wi。

13、dget_show (label);button = gtk_button_new_with_label (close);/关闭窗口按钮/信号登记函数,监听按钮的clicked事件。/当窗口clicked时, gtk_widget_destroy 就会被调用。/而 gtk_widget_destroy 函数又调用 gtk_main_quit() 结束程序运行。g_signal_connect_swapped (G_OBJECT (button), clicked, G_CALLBACK (gtk_widget_destroy), window);gtk_box_pack_start (GTK_BOX (vbox), bu。

华中科技大学计算机课程设计,华中科技大学计算机学院操作系统课程设计报告[1] (精选可编辑)...相关推荐

  1. 华中科技大学计算机课程设计,华中科技大学计算机学院操作系统课程设计资料报告材料[1].doc...

    <华中科技大学计算机学院操作系统课程设计资料报告材料[1].doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<华中科技大学计算机学院操作系统课程设计资料报 ...

  2. 计算机课实验三,成都信息工程学院计算机网络课程实验三

    成都信息工程学院计算机网络课程实验三 本文关键词:成都,计算机网络,信息工程学院,课程,实验 成都信息工程学院计算机网络课程实验三 本文简介:计算机网络实验报告实验三:编写客户服务器程序班级xxxxx ...

  3. 一流在线课程申报表公共计算机,衡阳财经业职业技术学院精品课程建设申报表.doc...

    衡阳财经业职业技术学院精品课程建设申报表 编号 衡阳财经工业职业技术学院 精品课程建设申报表 课程名称 计算机应用基础 课程类别 公 共 基 础 课 课程负责人 邹 伟 民 所属系部 信 息 管 理 ...

  4. word计算机基础考试题及答案,计算机基础习题及答案题库(期末考试)-word资料(精).doc...

    文档介绍: 1. 计算机的诞生: 第一台电子计算机是 1946 年在美国诞生的,该机的英文缩写是.答案(A)ENIAC 2. 计算机的诞生: 第一台电子计算机诞生于______ .答案(C) 美国 3 ...

  5. linux系统编程课程改革,项目驱动的Linux操作系统课程教学改革

    摘 要 <Linux操作系统>是一门应用性很强的课程,在技师学院已被列为计算机网络技术专业的教学计划.在传统的教学模式中,教师往往按照教材编排的顺序,把知识介绍给学生,而不是把知识的应用方 ...

  6. 多伦多大学计算机科学课程,加拿大多伦多大学各学院本科课程设置

    多伦多大学有3个校区,分别是圣乔治校区,士嘉堡校区,密西沙加校区.Rotman商学院位于圣乔治校区.学校的三个校区都独立招生,各自开展自己的活动.课程设计不大相同,侧重点也不同.本文小编留学专家为你介 ...

  7. 苏州大学文正学院计算机组成期末,苏州大学文正学院操作系统复习题

    苏州大学操作系统期末复习题 一.填空(15 ') 二.选择(1.5 '*20) 1.处理器能直接访问_________ A. 寄存器 B. 硬盘 C. 主存 D. 光盘 E. 高速缓冲存储器 2.把逻 ...

  8. 大学生暑期短学期实验报告总结关于计算机编程,浙大电院短学期潮流综合实验实验报告(含源程序).doc...

    <浙大电院短学期潮流综合实验实验报告(含源程序).doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<浙大电院短学期潮流综合实验实验报告(含源程序).doc ...

  9. matlab 精品课程,同济大学经济与管理学院精品课程

    3-1 人员 构成 (含外 聘教师) 姓名 性别 出生年月 职称 学科专业 在教学中承担的工作 王效俐 男 196002 教授 管理科学与工程 主讲,课件建设 段永瑞 女 197506 副教授 管理科 ...

最新文章

  1. python mysql批量insert数据、返回id_Python3 操作 MySQL 插入一条数据并返回主键 id的实例...
  2. IntellJ_打开选中的文件所在的文件夹
  3. 基于激光雷达点云的3D检测方法汇总(LiDAR only)
  4. php 去除中英文空格,php去除字符串首尾中英文空格程序-PHP源码
  5. python黑色背景编辑器_如何更换python默认编辑器的背景色
  6. 看看人家 SpringBoot + vue后台管理系统,多么优雅...
  7. 博士申请 | 美国罗格斯大学王灏助理教授招收机器学习方向博士生
  8. mysql中基本的DDL语句(关注一下,以后会继续更新喔!)
  9. LoadRunner常用术语
  10. python需要配置环境变量吗_python安装和配置环境变量
  11. 睡眠音频分割及识别问题(十)--Java读取wav文件
  12. 谈谈结构体部分成员排序(重载的利用/sort)
  13. numeric.js
  14. Eclipse自定义文档注释和方法注释
  15. jmeter - 录制app接口
  16. Crackme019
  17. bm3d matlab,Note --- BM3D
  18. 双路服务器单路运行,什么叫双路服务器?与PC机、单路机有什么区别?
  19. java自学笔记(4)-Stanford CS106A 弹球动画 20.9.9
  20. 如何在电脑上下载python中文版_Python下载-Python中文版官方下载

热门文章

  1. 腾讯系:微信,公众号,小程序,企业微信开发知识概括
  2. 中药药对药组挖掘系统(Java)
  3. MYSQL安装步骤及配置
  4. 第12章 Docker 中 MySQL 的安装与配置
  5. 刘韧:好记者到事实为止(2020修订版)
  6. IBM让存储带来效益 TSM升级使企业更智慧
  7. 世界五百强第一的沃尔玛在用区块链做什么
  8. cron表达式解析 获取N条结果集
  9. 区间内的真素数 计蒜客 Python
  10. 算法竞赛——进阶指南——acwing214. Devu和鲜花 容斥原理