【发布时间】:2023-04-05 08:13:01
【问题描述】:
我是操作系统新手,想知道内核是否需要访问用户数据,如果需要,为什么?
【问题讨论】:
-
我投票结束这个问题,因为它不是 help center 中定义的重点编程问题。
我是操作系统新手,想知道内核是否需要访问用户数据,如果需要,为什么?
【问题讨论】:
我是操作系统新手,想知道内核是否需要访问用户数据,如果需要,为什么?
主要原因是用于内核系统调用的调用约定无法处理任意数量的数据;为了解决这个限制,一些系统调用需要一个指向实际数据的指针。
举个常见的例子,打开文件的系统调用可能会使用文件名字符串的地址(例如,可能是“char * file_name”),然后是内核(在仔细验证用户空间提供的地址后)出于安全原因)必须从用户空间读取文件名。
【讨论】: