互斥体、信号量、事件等是否被视为操作系统内核的一部分,或者它们是通常随操作系统提供的单独的用户级库?
在信号量上调用操作是否涉及系统调用(interrupt/trap/ring-0)?
理论上,我是否可以编写一个不会在后台调用操作系统功能的用户级同步/锁定库(不是线程管理,只是同步/锁定!)?
如果我要编写一个多线程操作系统内核,我是否必须包含诸如创建/发布/抓取信号量之类的东西,或者我是否可以只附带为我的操作系统编译的现有库?
正如你所看到的,我对这个问题有点困惑。这些基本上都是不同格式的相同问题。
我对操作系统理论答案以及“这就是它在 Linux/Windows/其他一些 *nix 中的完成方式”答案感兴趣。