Linux如何处理多进程?

Linux如何处理多进程?

我是 Linux 技术和 bash 脚本的新手。

目前,我有一个简单的 bash 脚本,可以使用mkvextract.

我想知道:如果多个用户同时在同一个或不同的 mkv 文件上使用这个脚本(例如通过 bash 命令),Linux 会对此有何反应?

它是自己创建一个“排序系统”还是并行处理每个命令?

答案1

这是一份工作进程调度程序(另请参阅)。

一般来说,当您使用任何命令时,可以说(无需详细说明)您要求 Linux 内核(想想操作系统)创建一个单独的命令过程这将处理它的工作。

现在该进程被放入队列中,然后所有进程都被授予对 PC 资源的访问权限。这是通过某种调度算法来处理的。我能想到的最简单的是 FIFO - 先进先出 - 第一个请求的就是第一个获得资源的。您在短时间内提供资源,然后将其放回队列中。

至于并行处理:这取决于。一般来说,Linux 使用多个核心,您可以说某些任务是并行完成的,但许多任务是通过创建并行执行的假象来完成的 - 它们只是切换得如此之快,以至于您认为它们是并行的。

完全回答你的问题:当你提取数据时,它可能只是被读取,而不是被删除 - 所以在相同或不同的 mkv 上执行多个仅执行读取的命令应该不是问题。

欲了解更多信息,您可以谷歌“Scheduler”、“Linux Scheduler”。

相关内容