首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >操作系统:内核模式操作

操作系统:内核模式操作
EN

Stack Overflow用户
提问于 2016-06-20 15:50:37
回答 1查看 1K关注 0票数 0

我希望帮助您确定只在内核模式下执行/执行下列操作中的哪些操作。我试着在Silberschatz“操作系统概念”中找到答案,但我仍然不清楚。下面是决定它们是在内核模式还是在用户模式下执行的操作列表:

代码语言:javascript
复制
(1) disable interrupts detection
(2) clear memory
(3) switch from the user mode to the kernel mode
(4) read the state of the clock/timer
(5) determine/program timer. 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-20 16:24:55

这只是常识:

  • 禁用中断不应该发生在非特权的上下文中,因此通常不允许这样做。
  • 清除内存本身并不是一种特权操作,因此它可以在任何上下文中发生(如果内存被“释放”,那么在允许从任何其他上下文访问之前,您必须决定内容是否敏感,但始终清除内容是一个安全的选择)。
  • 从用户模式切换到内核模式显然只能在用户模式下发生。
  • 读取时钟:如果我们谈论的是硬件时钟,如果它提供内存映射寄存器,那么您可以从用户模式安全地访问它,只要映射区域没有任何敏感(可能或不敏感,取决于硬件)。如果只是软件,你可以做任何事。
  • 根据实现的不同,定时器的编程可能发生在任何一个上下文上,例如:实时调度上下文可以完全在用户模式下实现定时器,可以通过编程硬件定时器和中断路由(后者只需要一次,即使它需要内核模式)或在软件中实现它。如果不是实时的,那么完全在用户空间中编程仍然是可能的,但是实现需要内核端助手(即实时任务或中断)来触发事件。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37926743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档