首页 > 试题广场 >

有关进程和线程的说法,错误的是()

[不定项选择题]

有关进程和线程的说法,错误的是()

  • 一个程序至少有一个进程,一个进程至少有一个线程
  • 操作系统的最小调度单位是进程
  • 线程自己不拥有系统资源
  • 一个线程可以创建和撤销另一个线程
进程是程序执行时的实体。
发表于 2017-12-02 14:02:23 回复(0)
线程是调度的最小单位
发表于 2017-11-21 00:03:27 回复(0)
答案是B 操作系统的最小调度单位是线程,进程包含线程。
发表于 2016-12-18 15:57:19 回复(0)
正确答案应该是AB
一个程序至少有一个进程,不对。程序放在硬盘里没有执行,不会有对应的进程。
进程是资源分配的最小单位,线程是CPU调度的最小单位.
发表于 2017-07-20 14:29:31 回复(1)
完美与正确答案擦肩而过
发表于 2018-12-21 09:09:07 回复(1)
线程是拥有自己资源的,如PC、栈等。
发表于 2021-08-13 22:10:57 回复(0)
程序(program)只能有一个进程,一个进程就是一个程序。有人说,我打开一个程序,比如chrome,有十多个进程呢,这是咋回事。那就是十多个程序,操作系统给他们分配了彼此独立的内存,相互执行不受彼此约束,分配同样时间的CPU。对于用户而言,他们是一个整体,我们通常称之为应用程序(application)。对于计算机而言,一个进程就是一个程序,多个进程(比如一个浏览器的多个进程)对计算机而言就是多个不同的程序,它不会把它们理解为一个完整的“程序”。

发表于 2018-06-20 10:27:24 回复(0)
线程是 进程的一个实体 , CPU 调度和分派的基本单位 , 它是比进程更小的能独立运行的基本单位
线程自己基本上不拥有系统资源 , 只拥有一点在运行中必不可少的资源 ( 如程序计数器 , 一组寄存器和栈 ),
一个线程可以创建和撤销另一个线程;
发表于 2017-04-20 19:45:45 回复(0)
B。
操作系统最小调度单位是线程,一个进程可以有多个线程。
发表于 2017-03-13 17:56:12 回复(0)
操作系统最小调度单位是线程,一个进程可以有多个线程
编辑于 2024-03-05 20:42:07 回复(0)
C答案不完全正确,线程可以在一定程度上共享资源,但也可以拥有一些自己的资源,具体取决于操作系统和线程模型的实现。
D答案有个前提:在同一个进程中,一个线程可以创建和撤销另一个线程。
发表于 2023-08-28 14:27:26 回复(0)
一个程序在没有运行的状态下不需要进程
一个线程可以创建和撤销另一个线程
发表于 2022-08-07 23:09:18 回复(0)
  • 程序如果不执行,它仅仅是磁盘中的一些代码文件,并不拥有进程资源。
  • 进程是资源分配的基本单位,线程是CPU调度的基本单位。
  • 线程是由线程创建的,但是线程之间并不提供父子关系之间的支持。

  • Linux下有3个特殊的进程,idle进程(),init进程()和kthreadd()

idle进程由系统自动创建, 运行在内核态

idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个没有通过fork或者kernel_thread产生的进程。完成加载系统后,演变为进程调度、交换

init进程由idle通过kernel_thread创建,在内核空间完成初始化后, 加载init程序, 并最终用户空间

由0进程创建,完成系统的初始化,是系统中所有其它用户进程的祖先进程,Linux中的所有进程都是有init进程创建并运行的。首先Linux内核启动,然后在用户空间中启动init进程,再启动其他系统进程。在系统启动完成完成后,init将变为守护进程监视系统其他进程。

kthreadd进程由idle通过kernel_thread创建,并始终运行在内核空间, 负责所有内核线程的调度和管理

它的任务就是管理和调度其他内核线程kernel_thread, 会循环执行一个kthread的函数,该函数的作用就是运行kthread_create_list全局链表中维护的kthread, 当我们调用kernel_thread创建的内核线程会被加入到此链表中,因此所有的内核线程都是直接或者间接的以kthreadd为父进程

我们下面就详解分析1号进程的前世(kernel_init)今生(init进程)

Linux系统中的init进程(pid=1)是除了idle进程(pid=0,也就是init_task)之外另一个比较特殊的进程,它是Linux内核开始建立起进程概念时第一个通过kernel_thread产生的进程,其开始在内核态执行,然后通过一个系统调用,开始执行用户空间的/sbin/init程序,期间Linux内核也经历了从内核态到用户态的特权级转变,/sbin/init极有可能产生出了shell,然后所有的用户进程都有该进程派生出来

https://blog.csdn.net/qq_20817327/article/details/108289647

发表于 2021-11-13 22:38:50 回复(0)
巧妙地避开了正确答案..............
发表于 2021-06-06 13:50:47 回复(0)
程序不一定会有相应的进程吧?
发表于 2017-05-30 22:58:12 回复(0)
C为什么是错误的呢?
发表于 2017-04-17 18:55:28 回复(2)
线程是 进程的一个实体 , CPU 调度和分派的基本单位 , 它是比进程更小的能独立运行的基本单位 . 线程自己基本上不拥有系统资源 , 只拥有一点在运行中必不可少的资源 ( 如程序计数器 , 一组寄存器和栈 ), 一个线程可以创建和撤销另一个线程;
发表于 2017-03-14 10:40:55 回复(0)