内核是守护程序吗? 是否引发陷阱(通过INT指令)与内核进行通信的唯一方式? 执行调用内核子程序的所有系统调用,提升INT陷阱吗? 用户应用程序是否在与内核守护程序不同的进程中运行,用户进程是由内核守护程序产生的?操作系统内核是守护进程吗?
回答
是否引发陷阱(通过INT指令)与内核通信的唯一方法?
号第一,INT
是一个老机制的陷阱,大多数操作系统现在在x86和x86_64平台使用SYSENTER
。其他体系结构具有各种类型的软件中断/陷阱指令。
陷阱并不是与内核通信的唯一方式。由于内核可以访问任何内存,包括分配给用户模式进程的内存,共享内存是非常可行的。
是否所有调用内核子程序的系统调用都会引发INT陷阱?
“调用”内核例程的方式是使用陷阱(SYSENTER
)。其他机制,如内核共享内存队列数据处理,但你不会说这是一个子程序调用。
内核是守护程序吗?
没有。
是否引发陷阱(通过INT指令)与内核进行通信的唯一方式?
是的,因为内核和用户空间应用程序在不同的权限级别,称为环。内核运行的是supervisor模式,称为ring0,而用户应用程序在ring3中运行,称为usermode。
是否所有调用内核子程序的系统调用都会引发INT陷阱?
是的,他们这样做。
用户应用程序是否运行在与内核守护程序不同的进程中,用户进程是否由内核守护程序产生?
我真的不明白这一点,请详细说明。
内核条目的可能手段因体系结构而异;给定操作系统使用哪种可能性(当存在多于一个时)是设计决定。 –
@ChrisStratton:我认为更新的AMD和Intel机器有一个新的syscall指令,比整个'int'更有效率。 – Linuxios
是的,它们具有SYSENTER/SYSEXIT的情况,但是它更具体,特别是大多数操作系统仍然使用INT指令来陷入R0。 –
进程,守护进程等的整个思想是由内核创建的抽象。在CPU级别上,只有两级划分。有处理器核心,并行运行他们的代码,并有权限环,决定什么样的指令可以使用。
内核在ring0中运行(有时一些驱动程序生活在环1和环2中)。用户空间代码在ring3中运行。特殊处理器机制(如中断或sysenter指令)是将控制权从ring3代码(用户空间进程)转移到ring0代码(内核)所必需的。
- 1. Qt中的linux系统守护进程
- 2. 如何开始在类Unix操作系统(如Linux)中编写守护进程?
- 3. Firefox操作系统:进程,内存
- 4. 是IIS Http守护进程吗?
- 5. 对操作系统的内存保护
- 6. 定时器()作为守护进程与非守护进程
- 7. Linux内核操作系统寄存器
- 8. 守护进程关系数据库管理系统
- 9. 多核和操作系统
- 10. init进程是一个守护进程
- 11. Cron守护进程正在运行,系统日志守护进程正在运行,但cron不会运行
- 12. 如何重新加载系统守护进程?
- 13. 扭曲蟒系统守护进程和端口绑定
- 14. 红宝石守护进程不会在系统启动时
- 15. 从守护进程中使用OSX系统密钥链
- 16. 在python * nix系统中自动重新启动守护进程
- 17. 如何加载全系统守护进程在MacOS
- 18. 不启动NFS内核守护进程:没有出口
- 19. 避免守护进程运行在专用的cpu内核中
- 20. Linux守护进程
- 21. Python守护进程
- 22. iphone守护进程
- 23. 进程和线程在操作系统
- 24. 值得使用守护进程吗?
- 25. 系统调用kill内核内核进程
- 26. Linux守护进程停止启动 - 停止守护进程
- 27. mongrel_rails集群::开始不起作用,找守护进程/守护进程
- 28. 操作系统是抽象吗?
- 29. OSX是POSIX操作系统吗?
- 30. java守护进程线程
内核不是守护进程 - 它既不能代表进程运行也不能进行调度。 –