首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
如果两个进程,都要去调用一个设备驱动,设备驱动里面定义的变量
[问答题]
如果两个进程,都要去调用一个设备驱动,设备驱动里面定义的变量是在内核态吗?如果进程A访问并改变了这个变量,那么进程B再访问,是不是读到改变之后的值?
添加笔记
求解答(0)
邀请回答
收藏(20)
分享
纠错
2个回答
添加回答
0
青山独归远1
- 设备驱动里定义的变量是在内核态中,操作系统只有内核态能够访问到硬件设备,驱动程序从内核态向用户态提供API接口以便调用和间接访问硬件设备 - 是否读到改变之后的值需要考虑并发和竞争的情况,如果多个进程访问,需要对共享变量加入互斥锁、自旋锁、信号量或者原子操作等同步技术保证数据的一致性
编辑于 2024-03-05 15:19:37
回复(0)
0
XUN_Super
驱动程序的变量保存在内核态中,因为OS只有通过内核态才能访问到硬件设备,驱动程序从内核态向用户态输出API接口以便于调用和间接访问硬件设备。进程B访问的不是改变后的值,因为驱动程序必须考虑并发的问题,对于共享的变量,加入了锁来保证数据的一致性。
发表于 2022-11-29 09:46:23
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
进程通信
上传者:
real19931
难度:
2条回答
20收藏
673浏览
热门推荐
相关试题
两个进程的内核空间是共享的吗
进程通信
评论
(2)
5.下列判断正确的是( )
资料分析
言语理解与表达
资料分析
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题