【问题标题】:Does the kernel ever need to access user data?内核是否需要访问用户数据?
【发布时间】:2023-04-05 08:13:01
【问题描述】:

我是操作系统新手,想知道内核是否需要访问用户数据,如果需要,为什么?

【问题讨论】:

  • 我投票结束这个问题,因为它不是 help center 中定义的重点编程问题。

标签: operating-system kernel


【解决方案1】:

我是操作系统新手,想知道内核是否需要访问用户数据,如果需要,为什么?

主要原因是用于内核系统调用的调用约定无法处理任意数量的数据;为了解决这个限制,一些系统调用需要一个指向实际数据的指针。

举个常见的例子,打开文件的系统调用可能会使用文件名字符串的地址(例如,可能是“char * file_name”),然后是内核(在仔细验证用户空间提供的地址后)出于安全原因)必须从用户空间读取文件名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多