欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    操作系统课程设计1

    • 资源ID:1422471       资源大小:129.26KB        全文页数:19页
    • 资源格式: DOCX        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    操作系统课程设计1

    1、 操 作 系 统 课程设计报告书 课题名称:课题名称: 专专 业:业: 学学 号号: 姓姓 名名: 指导教师:指导教师: 二一二年五月二二一二年五月二十八十八日日 目录目录 摘要摘要 1 1 设计题目与要求设计题目与要求. 1 11 设计题目 . 1 12 设计要求 . 1 2 2 总的设计思想及系统平台、语言、工具总的设计思想及系统平台、语言、工具 . 1 2.1 设计思想: 1 2.1.1Linux内核对定时器的描述 1 2.1.2Linux 内核定时器 . 2 2.1.3Linux 信号signal处理机制 5 2.1.4多线程编程 6 2.1.5内核定时器机制的实现 8 3数据结构与模

    2、块说明(功能与流程图)数据结构与模块说明(功能与流程图) . 11 3.1定时器使用: 11 3.3 程序流程图: 13 4. 4. 源程序:源程序: 13 5 5运行结果与运行情况运行结果与运行情况 . 14 6 6调试记录:调试记录: 15 7 7自我评析和总结:自我评析和总结: . 16 8.8.参考文献参考文献 17 1 摘要摘要 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是 整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它 可以在程序里独立执行。也可以把它理解为代码运行的上下文。内核时间指明线程执行操 作系统代码已经经过了

    3、多少个 100ns 的 CPU 时间,linux 是一个具有保护模式的操作系统。 它一直工作在 i386 cpu 的保护模式之下。内存被分为两个单元: 内核区域和用户区域。一 般地,在使用虚拟内存技术的多任务系统上,内核和应用有不同的地址空间,因此,在内 核和应用之间以及在应用与应用之间进行数据交换需要专门的机制来实现,本文站在用户 空间的角度,测试一个多线程程序的程序执行时间。当一个进程希望获得信号量时, 如果 信号量已经被占有, 则该进程将会被放到等待队列上 sleep 直到 cpu 将其唤醒。相对于 spinlock 来说开销太大,适用于长时间占有的 lock。不可用于中断状态,因为它拥

    4、有信号 量的进程可以 sleep, 可以被抢占,信号量可以设置为同时允许的进程数。 1 设计题目与要求设计题目与要求 11 设计题目:内核定时器 12 设计要求:通过研究内核的时间管理算法,学习内核源代码;然后应用这些知识并 且使用信号建立一种用户空间机制来测量一个多线程程序的执行时间。 2 2 总的设计思想及系统平台、语言、工具 2.12.1 设计思想: 2.1.1Linux 内核对定时器的描述 Linux 在 include/linux/timer.h 头文件中定义了数据结构 timer_list 来描述一个内核定 时器: struct timer_list struct list_hea

    5、d list; unsigned long expires; unsigned long data; void (*function)(unsigned long); ; 各数据成员的含义如下: 2 (1)双向链表元素 list:用来将多个定时器连接成一条双向循环队列。 (2)expires:指定定时器到期的时间,这个时间被表示成自系统启动以来的时钟滴答计 数(也即时钟节拍数) 。当一个定时器的 expires 值小于或等于 jiffies 变量时,我们就说 这个 定时器已经超时或到期了。在初始化一个定时器后,通常把它的 expires 域设置成当前 expires 变量的当前值加上某个时间间

    6、隔值(以时钟滴答次数计) 。 (3)函数指针 function:指向一个可执行函数。当定时器到期时,内核就执行 function 所指定的函数。而 data 域则被内核用作 function 函数的调用参数。 内核函数 init_timer()用来初始化一个定时器。实际上,这个初始化函数仅仅将结构中的 list 成员初始化为空。如下所示(include/linux/timer.h) : static inline void init_timer(struct timer_list * timer) timer-list.next = timer-list.prev = NULL; 由于定时器通常被连接在一个双向循环队列中


    注意事项

    本文(操作系统课程设计1)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583