我有一个关于用低级语言编写的程序如何工作的问题。假设我编写了一个 C 程序,它将读取一个文件并将其内容输出到控制台。它将如何执行?
我理解正确,在启动时,它的代码将被发送到处理器执行?处理器将按顺序从 RAM 中检索代码并逐个命令执行。如果是,系统如何控制访问权限?如何限制仅对特权用户可用的命令的执行?
什么会阻止以没有特殊权限的用户身份运行的代码命令处理器直接访问硬盘,获取只有 root 用户可以访问的数据,如果没有更改的代码直接执行到处理器,则处理并覆盖它?
也许有某种观察者可以确保程序不执行禁止的操作?而如果有这样的观察者,真的有可能只通过它就可以接触到任何设备吗?
例如,如果我的程序由对某些系统文件没有读取权限的用户运行,系统如何防止处理器上运行的代码访问硬盘并读取/覆盖这些系统文件?
如果我没有正确理解机器代码的执行方式,请解释权限限制机制的工作原理或纠正我。