我正在学习关于操作系统的课程,并且我在讨论过程和线程的过程中达成了一个部分。我知道CPU一次只能运行一个进程,因此有几种调度算法可以优先处理就绪队列中的进程。
现在,当我转向线程时,事情开始变得有些混乱。由于一个进程可能包含多个线程,因此每个线程或每个进程的调度是什么?
例如:
我在Windows上。我双击一首歌曲在VLC中启动,然后双击MS Word开始编写报告,最后打开Chrome浏览器查看我的邮件。
让我们假设以下内容来简化:
现在哪个是用户线程,哪个是内核线程?
调度是在进程上还是在线程上?
线程数越多的进程运行时间越长,或者操作系统是否忽略每个进程中的线程数?
答案 0 :(得分:1)
应用程序是通过不同的语言开发的,不同的语言以不同的方式实现线程化。基本上有两种不同的实现方式。
注意:Java的实现也可以将JVM改为JVM,因此它取决于使用哪个JVM和OS。
来到你的下一个问题。调度将在线程上而不在进程上。