- 10
- 0
- 约3.3千字
- 约 8页
- 2018-03-29 发布于河南
- 举报
Linux内核编程实验报告6
Linux内核分析实验报告
?
实验题目: 构造新内核同步机制实验
实验目的:设计同步原语模拟内核信号量。
硬件环境:内存1G以上
软件环境:Linux(Ubuntu) 2-6
实验步骤:
usr/src/linux-2.6.33.2/ipc/shm.c
一:实验原理简介:
信号量负责对共享缓冲区的互斥,主要实现的方法有信号量的声明(sys_sema_open),在特定信号量的等待(sys_sema_wait),将特定信号量上的等待进程唤醒(sys_sema_signal),删除特定信号量(sys_sema_close)。
声明信号量 :声明新的信号量结构,对本信号量等待队列初始化,本信号量信号灯数目初始化,然后将其放入信号量等待队列中。
在特定信号量的等待 :如果信号灯数目大于0,说明还有资源可以利用,将信号灯数目-1。否则,说明没有资源可用,将本进程置为WQ_FLAG_EXCLUSIVE,放入等待队列,调用schedule(),重新调度其他进程。Schedule()方法后是finish_wait() 方法,当进程被唤醒后,首先执行此方法。此方法将进程真正地从等待队列中弹出。
唤醒信号量上的等待进程 :进程即将从缓冲区离开,将信号灯的数目+1。此时,如果等待队列中还有等待进程(判断条件是信号灯的数目0),则从等待队列中弹出一个进程,使其状态变为RUNNING,等
您可能关注的文档
最近下载
- 2026年寰宇东方国际集装箱(青岛)有限公司招聘备考题库及完整答案详解一套.docx VIP
- 2025年上海市初中学业水平考试中考科学试卷真题(含答案详解).pdf VIP
- (新版)拖拉机驾驶证科目一知识考试题库资料500题(含答案).pdf VIP
- BIM在建筑全生命周期中的应用.pptx VIP
- 工程测量技术专业论文 4ruuv3uo.doc VIP
- 12.1发散思维与聚合思维的方法(教学课件)政治统编版选择性必修3.pptx VIP
- 贵州省2025~2026学年度初中学业水平考试仿真模拟试卷 地理·生物学(含答案).docx
- 给排水国标图集-05S518雨水口.pdf VIP
- 12.1发散思维与聚合思维的方法(课件)高二政治(统编版选择性必修3).pptx VIP
- 第二章--BIM在建筑全生命周期内的应用.pptx VIP
原创力文档

文档评论(0)