问题标签 [bsd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3878 浏览

posix - 更改系统时间对休眠线程有什么影响?

如果您看一下clock_gettime()函数,它在所有BSD 中都可用并且实际上被定义为POSIX 标准的一部分,您会发现至少支持三种类型的时钟(许多系统支持的时钟不止这些时钟) ,但实际上 POSIX 标准只要求存在一个,所有其他都是可选的):

  • CLOCK_REALTIME - POSIX 要求它存在。这是挂钟。

  • CLOCK_MONOTONIC - 不知道这是什么(以及 SI 秒的含义),但我知道这个时钟永远不会向后跳,它只能单调增加值。

  • CLOCK_UPTIME - 我看不出这与 CLOCK_MONOTONIC 有什么不同(正常运行时间也永远不会向后跳),但至少我知道内核启动时这个时钟从零开始(而它没有定义内核启动时 CLOCK_MONOTONIC 的初始值是多少) )

让我们暂时忽略其他时钟。CLOCK_REALTIME 不能保证单调向上计数,对吧?这是实际的“系统时间”。我可以随意更改系统时间。我可以将它设置为过去 3 个月或未来 5 年,每次我的系统使用网络上的 NTP 服务器同步时间时,时间可能会向前或向后跳跃。

现在我们在 BSD 系统中有两个休眠函数。sleep()nanosleep()。我不确定,但我希望 sleep() 在 nanosleep 之上实现,毕竟我可以通过使用 nanosleep() 轻松模拟 sleep() 并且只在 struct timespec 中设置秒数,保持纳秒为零.

我在很多资料中读到,这些函数实际上是通过计算唤醒时间来工作的(获取当前时间,添加睡眠量),如果当前时间晚于唤醒时间,系统将定期检查时间,如果是这样,它将再次唤醒线程。仅在间隔中检查这一事实是手册页说当前睡眠将至少睡眠这段时间的原因(仅在被信号中断时更短),但它可能会睡眠更长时间(取决于多久系统检查我们是否已经超过了唤醒时间,并且取决于调度程序允许该线程再次运行之前需要多长时间)。

这对我来说是完全理智的......但是有一个问题一直困扰着我:

根据各种来源,睡眠(至少是 nanosleep)在内部使用 CLOCK_REALTIME 作为时钟。这意味着,如果告诉 nanosleep() 休眠 30 秒,然后将我的系统时钟更改为未来 1 小时,线程将几乎立即唤醒(未来 1 小时远早于唤醒时间 nanosleep( )计算)。这也完全没问题。但是,如果我说在 30 秒后醒来,然后用户发现他的系统时钟提前一小时并将他的时钟向后设置一小时,会发生什么?然后我的线程会休眠 1 小时 30 秒?因为那将是相当糟糕的。

0 投票
3 回答
533 浏览

linux - 在哪些情况下建议选择 BSD 系统而不是 Linux?

对于使用新硬件的日常用户来说,如果有人正在寻找 Windows 的替代品,Linux 对我来说似乎是自然的选择。但是什么时候尝试 BSD 变体才有意义呢?

0 投票
3 回答
2371 浏览

macos - 在 MacOS 中仅删除一个用户的 ACL 条目?异常困难

我正在尝试以递归方式从我的一个驱动器上的所有文件夹中删除为 johndoe 设置的 ACL,而无需冲洗任何其他条目!任何人都知道如何在影响其他组/用户已经存在的 ACL 的情况下执行此操作?

我正在寻找相当于“setfacl -du:johndoe”的 Mac

我知道您可以使用 chmod 从多个文件中删除规则,但我看到的唯一方法不起作用,因为它通过其索引删除规则(例如:每个文件夹的第 5 个条目)并且我的用户的条目赢了' 并不总是相同的索引。

你为什么想做这个?假设您继承了一个疯狂的文件系统,该文件系统具有一堆个人用户而不是组,并且您只想摆脱个人,因为他们已经拥有访问权限。

0 投票
5 回答
3415 浏览

linux - 操作系统调度算法

用于调度支持 10K 并发线程且 I/O 繁重但 CPU 使用率低的应用程序的最佳算法是什么?论文链接表示赞赏。

0 投票
4 回答
612 浏览

multithreading - 操作系统了解线程如何使用的特性是否有优势?

操作系统了解线程如何使用的特性是否有优势?例如,如果在 Java 中有一种方法可以在创建新线程时指示它将用于密集的 CPU 计算而不是阻塞 I/O。如果这是一种能力,线程调度不会改进吗?

0 投票
8 回答
1494 浏览

multithreading - 1024 个 CPU 的内核调度

Azul Systems 的设备支持数千个缓存一致的 CPU。我很想深入了解操作系统需要发生哪些更改才能安排数千个同时运行的线程。

0 投票
3 回答
1561 浏览

encryption - BSD操作系统的开源全盘加密?

任何人都知道与全盘加密产品(例如 Pointsec(一个 Check Point 产品))等效的开源软件,除非提供密码,否则机器将无法启动?

0 投票
2 回答
993 浏览

selenium - bsd 中的 selenium-rc

我试图在 bsd 中运行 selenium-rc 并得到以下错误

将 firefox-bin 添加到我的路径没有帮助。第二个选项是什么?(“或像这样明确指定 Firefox 的路径”)

有什么解决办法吗?

0 投票
4 回答
3660 浏览

linux - 从零开始强化 BSD

我知道Hardened Linux from Scratch项目,该项目为您提供了完全从源代码构建您自己的定制和强化 Linux 系统的分步说明。我想知道BSD中的等价物是什么?

0 投票
10 回答
9910 浏览

linux - 是否有任何小型 Unix 或 BSD 发行版?

我想知道是否有任何小的 BSD 或 unix 版本。我见过的看起来不错的最小 Linux 版本是 partedmagic(大约 70MB)。免费 BSD 需要 4 张 CD,也许更多。