gpt4 book ai didi

linux - 用于处理来自进程的系统调用的内核代码的执行是否被视为进程的一部分?

转载 作者:太空宇宙 更新时间:2023-11-04 10:39:49 26 4
gpt4 key购买 nike

(我主要是从计算机科学的角度问以下OS问题,下面如果要具体OS的话,我主要是说linux)

进程被定义为一个或多个程序的执行。

然而,我们经常区分用户程序和操作系统内核(也由程序组成)。

  • 进程是否只执行用户程序,而不执行操作系统内核中的程序?

  • 当进程发出系统调用时,cpu 会从用户模式切换到内核模式,并在内核代码中执行系统调用处理程序。系统调用处理程序(作为内核代码的一部分)的执行是进程的一部分,还是操作系统内核执行的一部分?

谢谢。

最佳答案

在大多数操作系统中,“内核”在进程的上下文中执行。有些工作方式不同,但这是一般机制的使用。进程在用户模式和内核模式之间切换(有些系统还有其他模式)。

Does a process only execute user programs, not programs in an OS kernel?

操作系统内核中没有程序(通常)。进程可以在内核模式下执行中断和异常处理程序。

When a process issues a system call, the cpu then switches from user mode to kernel mode and executes the system call handler in the kernel code. Is the execution of the system call handler (as part of the kernel code) part of the process, or is it part of the execution of the OS kernel?

过程。中断也会发生同样的事情。

Bill 提出 I/O 请求。 Jim 的进程开始运行。 Bill 的 I/O 请求完成并触发中断。 Jim 的进程进入内核模式并处理 Bill 的 I/O 请求。

当然,系统安全会阻止 Jim 的用户模式代码访问 Bill 的数据。

关于linux - 用于处理来自进程的系统调用的内核代码的执行是否被视为进程的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35635993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com