操作系统课程设计课件.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《操作系统课程设计课件.pptx》由会员分享,可在线阅读,更多相关《操作系统课程设计课件.pptx(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统课程设计1内容简介 设计目的 设计内容 实施方法及要求 时间安排 辅导2设 计 目 的 掌握Linux操作系统的使用方法 了解Linux系统内核代码结构 掌握实例操作系统的实现方法3内容简介设计目的设计内容实施方法及要求时间安排辅导4设 计 内 容 (1)要求: 熟悉和理解Linux编程环境内容1)编写一个C程序,用fread、fwrite等库函数实现文件拷贝功能。2)编写一个C程序,使用基于文本的终端图形编程库(curses)或图形界面(QT/GTK),分窗口显示三个并发进程的运行(一个窗口实时显示当前时间,一个窗口实时监测CPU的利用率,一个窗口做1到100的累加求和,刷新周期分别
2、为1秒,2秒和3秒)。5设 计 内 容 (2) 要求:掌握添加系统调用的方法 内容采用编译内核的方法,添加一个新的系统调用实现文件拷贝功能编写一个应用程序,测试新加的系统调用6设 计 内 容 (3)要求:掌握添加设备驱动程序的方法内容v采用模块方法,添加一个新的字符设备的驱动程序,实现打开/关闭、读/写等基本操作v编写一个应用程序,测试添加的驱动程序7设 计 内 容 (4)要求:理解和分析/proc文件内容v了解/proc文件的特点和使用方法v监控系统状态,显示系统部件的使用情况v用图形界面监控系统状态,包括CPU和内存利用率、所有进程信息等(可自己补充、添加其他功能)8设 计 内 容(5)
3、要求:理解和掌握文件系统的设计方法(选做) 内容v设计、实现一个模拟的文件系统v包含文件/目录创建/删除,目录显示等基本功能(可自行扩充文件读/写、用户登录、权限控制、读写保护等其他功能)910内容简介v设计目的v设计内容v实施方法及要求v时间安排v辅导实施方法及要求l每位同学必须独立完成课程设计内容 支持借鉴和学习已有的优秀知识! 反对全盘拷贝,不求甚解! 吸收和消化他人经验,做自己的课程设计!11实施方法及要求l上机检查:根据要求演示完成的系统,并回答老师的问题或按要求修改程序l报告提交:l纸质课程设计报告(双面打印):内容包括实验目的、实验内容、实验设计、实验环境及步骤、调试记录和课程设
4、计心得等l光盘:课程设计报告电子版和程序清单(附注释),每个班一张光盘12实施方法及要求l 班级安排:ll成绩依据:检查情况+报告撰写情况l完成前两题:60-65l完成前三题:65-75l完成四题或选做题:75-90l完成四题和选做题:90以上1314内容简介v设计目的v设计内容v实施方法及要求v时间安排v辅导15课程设计时间:第一周、第二周课程设计地点:中期检查:最后检查:实验报告提交:时间安排16内容简介v设计目的v设计内容v实施方法及要求v时间安排v辅导17课程设计辅导vLinux系统的相关知识v进程并发 v添加系统调用v添加设备驱动程序v/proc文件分析Linux系统的相关知识内核版
5、本:major.minor.patch-build major:主版本号,有结构性变化时变更 minor:次版本号,新增功能时发生变化 奇数表示开发版,偶数表示稳定版 patch-build:修订版本号18发行版:Linux系统的常用目录19系统管理员和普通用户使用的命令Linux内核和系统启动文件Linux的所有设备文件,如/dev/hda代表第一个物理IDE硬盘系统管理所需的配置文件和子目录用户的主户目录命令、程序库、文档和其他文件Linux系统的核心源码2021课程设计辅导vLinux系统的相关知识v进程并发 v添加系统调用v添加设备驱动程序v/proc文件分析进程并发 pid=fork
6、():创建子进程。 返回值:0 从子进程返回 0 从父进程返回 exit进程自我终止,进入僵死状态 wait( ) 等待进程终止(由父进程调用) exec( ) 执行一个可执行程序(文件)22fork()系统调用23课程设计辅导 Linux系统的相关知识 进程并发 添加系统调用 添加设备驱动程序 /proc文件分析24添加系统调用Linux系统调用机制vLinux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用v用户可以通过系统调用命令在自己的应用程序中调用它们系统调用与普通函数调用的区别v系统调用 核心态 操作系统核心提供v普通的函数调用 用户态 函数库或用户自己提供25添加系统调
7、用(续)Linux系统调用机制 vint 0 x80 使用寄存器中适当的值跳转到内核中事先定义好的代码中执行:跳转到系统调用的总入口system_call,检查系统调用号,再查找系统调用表sys_call_table,调用内核函数,最后返回v系统调用是靠一些宏,一张系统调用表,一个系统调用入口来完成的26添加系统调用(续)与系统调用相关的内核代码文件:v系统调用服务例程 如 arch/x86/kernel/sys.cv系统调用清单(为每个系统调用分配唯一号码) 如 arch/x86/include/asm/unistd.hv系统调用表 如 arch/x86/kernel/syscall_tab
8、le.s不同版本Linux,文件名和存放位置会有所不同!27添加系统调用(续)步骤_1 添加源代码编写添加到内核中的源程序,函数名以sys_开头。如:mycall(int num),在arch/x86/kernel/sys.c文件中添加如下代码: asmlinkage int sys_mysyscall(int number) return number; /该系统调用仅返回一个整型值 28添加系统调用(续) 步骤_2 连接新的系统调用 使内核的其余部分知道该系统调用的存在。为此,需编辑两个文件:varch/x86/include/asm/unistd.h系统调用清单(为每个系统调用分配唯一号
9、码) define _NR_mysyscall nnn 其中,mysyscall:系统调用名nnn:系统调用号,不能与其他系统调用号相同 并修改系统调用总数: #define NR_syscalls XXXvarch/x86/kernel/syscall_table.s增加新的内核函数指针 .long sys_mysyscall29添加系统调用(续) 步骤_3 重建Linux内核以root身份进入/usr/src/linux目录,重建内核 #make mrproper /清除之前编译信息,避免生成的文件不一致 #make oldconfig /配置内核与当前配置相同make config 基于
10、文本的传统配置界面make menuconfig 基于文本的菜单形式,字符终端下使用make xconfig 基于图形窗口模式,Xwindow下使用 #make /编译内核 #make modules_install /生成并安装模块 #make install /安装新的系统30添加系统调用(续)步骤_4 重启选用新内核 步骤_5 使用新的系统调用v 应用程序app.c中调用新添加的系统调用mysyscall: int syscall(int number, );31课程设计辅导 Linux系统的相关知识 进程并发 添加系统调用 添加设备驱动程序 /proc文件分析32添加设备驱动程序 设备
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内