腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
1
回答
内核空间和用户空间进程标识
、
Linux调度器如何识别哪个进程来自内核空间,哪个进程来自用户空间?假设我在Linux中安装了一个应用程序。我启动了应用程序。同时,还有其他内核空间进程进入就绪队列。现在,Linux调度器如何识别哪个排队的进程来自内核空间,哪个来自用户空间?
浏览 2
提问于2015-02-14
得票数 0
1
回答
内核支持的线程是否在内核状态下运行?
、
、
、
我对内核空间,用户空间,内核线程,用户线程有点困惑。你是否可以认为内核支持内核线程是在内核空间中运行的? Java, `Thread t = new Thread(new Runnable...)`, 这个名为“t”的线程在Linux中称为轻量级进程(内核线程)。它是否在内核状态下运行?
浏览 0
提问于2019-10-14
得票数 2
1
回答
软件线程包括用户线程吗?
、
在这个答案-软件线程与硬件线程中,软件线程是由OS管理的线程。但是我还学习了另一个术语,叫做用户线程,它不是内核线程,也就是说操作系统不会知道这些线程。那么,软件线程包括用户线程吗? 我没有从堆栈溢出中得到任何答案,但我认为在Linux的上下文中,这个想法是一样的,我在询问Linux中使用的术语,谢谢。 作为参考,我找到了一个关于Quora的有用资源。
浏览 0
提问于2018-12-06
得票数 0
回答已采纳
1
回答
用户空间和内核空间进程中的一组信号处理程序
、
、
、
我是linux的新手.. “用户空间进程”和“内核空间进程(内核线程)”是否共享同一组信号。handlers.Just想知道内核如何根据进程运行的区域(用户空间或内核空间)发送不同的信号?
浏览 0
提问于2013-11-07
得票数 1
3
回答
Linux用户空间线程内核线程轻量级进程
、
、
我对所有这些细节以及它们如何在Linux中相互关联感到有点困惑。"Unix内部“一书指出,lightweight process (LWP)是内核支持的用户线程,内核看不到进程内部的线程。对于Linux,这仍然是正确的吗? 据我所知,用户空间线程被安排在进程内部,通过更高层次的抽象作为pthread库,而不需要内核的干预。我说的对吗?
浏览 4
提问于2016-10-02
得票数 2
回答已采纳
2
回答
内核模式下的线程(和进程)与用户模式下的线程(和进程)之间有什么区别?
、
、
我的问题是: 1)在图书现代操作系统中,线程和进程可以是内核模式,也可以是用户模式,但没有明确说明它们之间的区别。 2)为什么内核模式线程和进程的切换成本高于用户模式线程和进程的切换? 3)现在,我正在学习Linux,我想知道如何在LINUX系统中分别以内核模式和用户模式创建线程和进程? 4)在图书现代操作系统中,指出进程可能处于用户模式,而在用户模式进程中创建的线程可以是内核模式。这怎么可能?
浏览 0
提问于2012-03-11
得票数 2
回答已采纳
1
回答
访问用户空间地址的内核线程
、
、
这里有一段引用自“理解Linux内核”的书(重点是我的) ..。不需要使引用用户模式线性地址的TLB条目失效,因为没有内核线程访问用户模式地址空间 我理解用户空间进程不能访问内核空间,但是为什么相反(这就是我认为上面的句子所暗示的)是正确的呢?这是由硬件执行的,还是仅仅是内核的设计选择?
浏览 1
提问于2017-11-10
得票数 0
1
回答
内核线程与用户线程之间的上下文切换
、
从这链接粘贴的副本: 线程切换不需要内核模式特权。 用户级线程可以快速创建和管理。 内核线程的创建和管理通常比用户线程慢。 在同一进程中,控制从一个线程转移到另一个线程需要一个模式切换到内核。 在阅读标准操作系统参考书时,我从未遇到过这些问题。虽然这些观点听起来合乎逻辑,但我想知道它们在Linux中是如何反映的。准确地说: 有人能给出用户线程和内核线程之间的上下文切换所涉及的详细步骤吗?这样我就可以找到两者之间的步骤差异。 有人能用实际的上下文切换示例或代码来解释这种差异吗?可能涉及系统调用(在内核线程之间切换上下文时)和所涉及的线程库调用(在用户线程之间切换上下文时)。 有人能把我链接到L
浏览 0
提问于2019-08-07
得票数 2
2
回答
程序库或模块中的进程和线程是否意味着进程、内核级线程或用户级线程?
、
、
我开始怀疑进程、内核级线程和用户级线程之间的区别。 Linux中的进程和线程是指进程、内核级线程还是用户级线程? 对于Python、Java和C#等编程语言中的标准模块,也有同样的问题吗? 谢谢。
浏览 5
提问于2017-10-25
得票数 1
回答已采纳
1
回答
Linux中是否有一个轻量级的进程附加到内核线程上?
、
、
、
根据我从理解Linux内核中得到的理解,是否正确: 内核线程和Linux内核中的轻量级进程都用C语言中的task_struct结构来表示。 内核线程总是在内核空间中运行,而轻量级进程可以同时在用户空间和内核空间中运行。 内核线程和轻量级进程是同一级别上的两个概念。他们不互相依赖吗?特别是,轻量级进程不是基于内核线程创建和运行的吗? 那么,为什么下面引用的操作系统概念意味着,轻量级进程被附加到内核线程?(请注意,这本书是为一般OS概念编写的,引文中并没有说它适用于Linux,但本书的大部分内容都适用于Linux) 多线程程序要考虑的一个final问题涉及内核和线程库之间的通信,这可能是4.3.3节
浏览 0
提问于2018-09-29
得票数 1
2
回答
Linux中的线程
关于Linux中的Pthreads这个话题,我已经讨论了大部分的问题,但是对于我来说,还有一个基本的疑问还没有解决: 在各种响应中都提到,当我们在Linux上创建POSIX线程时,用户线程和内核线程之间存在1:1的映射。 我怀疑当我们在Linux中使用pthread_create()时,是否有一个用户线程和相应的唯一内核线程是隐式创建的(即总共有两个线程,其中一个是用户不可见的)。 或 只创建了一个内核线程,而在新的Linux内核中,什么都没有了,称为用户线程?
浏览 4
提问于2012-11-17
得票数 0
1
回答
我想问一下CreateThread和基于Linux操作系统的pthread_create之间的主要区别
、
、
、
、
我想用C/C++实现一个运行在Windows和Linux操作系统上的应用程序,这个应用程序将是多线程的,所以经过一些研究,我发现Windows和Linux分别有各自的库方法。 HANDLE CreateThread( // Windows LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, __drv_aliasesMem LPVOID lpParameter, DWORD
浏览 2
提问于2021-02-02
得票数 1
回答已采纳
1
回答
模式切换是否发生从用户线程切换到内核线程?
、
、
、
、
我对用户/内核线程和模式/上下文切换感到困惑(Platform: Linux) 我有两个有关联的问题。 (1)以下句子正确吗? 如果进行系统调用,则会发生模式切换(用户模式到内核模式),并最终从用户线程切换到内核线程。 由于系统调用只能在内核线程中执行,所以我认为模式切换必须发生从用户线程到内核线程的切换。 (2)那么,我们所称的模式切换开销是用户线程到内核线程的切换开销?会有什么样的开销? 据我所知 1)上下文切换是指CPU从一个进程或线程切换到另一个进程或线程,并且只发生在内核模式下。 2)调用模式切换(而不是上下文切换)的原因是,当前执行的进程在模式切换期间不会改变。 3)进程
浏览 1
提问于2016-08-19
得票数 2
回答已采纳
1
回答
Linux线程用户级或内核级
、
、
、
、
可能重复: Linux线程是用户级线程还是内核级线程?
浏览 4
提问于2012-10-30
得票数 3
1
回答
内核线程、进程和守护进程是什么?
、
、
、
从Mauerer的Linux内核架构 内核线程是由内核本身直接启动的进程。他们将内核函数委托给单独的进程,并在“并行”中将其执行到系统中的其他进程(实际上,与内核本身的执行并行)。内核线程通常被称为(内核)守护进程。例如,它们用于执行以下任务: 周期性地将修改后的内存页与页面来源的块设备同步(例如,使用mmap映射的文件)。 如果很少使用内存页,则将它们写入交换区。 来管理延迟的操作。 要为文件系统实现事务日志,请执行以下操作。 基本上,有两种类型的内核线程: 类型1-线程被启动并等待,直到内核请求执行特定的操作。 类型2-线程一旦启动,就会周期性地运行,检查特定资源的利用率,并在使用率超过或
浏览 0
提问于2016-02-29
得票数 12
1
回答
用户线程v.s.内核线程
、
、
有人能帮我澄清一下对内核线程的理解吗?我听说,在Linux/Unix上,内核线程(例如系统调用的线程)的执行速度比用户线程快。但是,这些用户线程不是由内核调度并使用内核线程执行的吗?请告诉我内核线程和用户线程之间的区别,除了它们可以访问不同的地址空间之外。它们之间的其他区别是什么?在单处理器机器上,当用户线程运行时,内核将被挂起,这是真的吗? 提前谢谢你, 亚历克斯
浏览 1
提问于2013-07-17
得票数 5
回答已采纳
1
回答
内核可以在不同的内核上调度相同进程的用户级线程吗?
、
据我所知,内核不知道它是在执行用户线程还是用户进程,因为内核用户线程是用户进程,它只调度用户进程,而不关心在该进程中运行的是哪个线程。 我还有一个问题,是每个核心就绪队列还是所有核心的一个就绪队列? 我当时在读的报纸,上面写着 在股票Linux内核中,一组可运行的线程被划分为大多数私有的每个核心调度队列;在常见情况下,每个核心只读取、写入和锁定自己的队列。
浏览 2
提问于2016-03-01
得票数 1
回答已采纳
1
回答
Linux内核线程的调度或抢占是如何工作的?
、
、
、
、
我知道,与用户空间线程/进程相比,linux内核线程没有自己的地址空间。内核线程不会将上下文切换到用户空间,但是内核线程是可调度的和可抢占的。所以我的问题是,如果内核线程没有地址空间,那么内核线程的切换/抢占是如何工作的呢?
浏览 3
提问于2014-01-29
得票数 1
回答已采纳
2
回答
用户线程和内核线程是否以下列任何一种方式与线程级库和内核级库相对应?
、
、
、
以下是由亚伯拉罕·西尔伯沙茨、格雷格·加涅和彼得·贝尔·加尔文撰写的中关于用户线程与内核线程的讨论: 可以在用户级别、用户线程或内核为内核线程提供对线程的支持。 用户线程支持在内核之上,并且在没有内核支持的情况下被管理, 操作系统直接支持和管理内核线程。几乎所有当代操作系统--包括Windows、Linux、Mac和Solaris--都支持内核线程。 最终,用户线程和内核线程之间必须存在关系。在本节中,我们将讨论建立这种关系的三种常见方式:多对一模式、一对一模式和多对多模式。 下面讨论了用于创建和管理线程的用户级库与内核级库: 线程库为程序员提供了用于创建和管
浏览 2
提问于2018-09-14
得票数 0
2
回答
内核空间线程或进程是否可能是用户空间进程的子进程?
、
、
、
当谈到Linux时,我是个新手,但我读到了这篇关于纤维的文章,其中提到了它们(或者曾经是?)不确定它们是否最终保存在内核)内核空间线程中。 这篇文章接着说: fibril是只在内核空间运行的执行线程。..。纤维蛋白有自己的堆栈,但否则它们共享父进程的所有资源。它们保存在任务结构的链接列表中。 拥有自己的堆栈,但与父进程共享其余的内存,就像线程的定义一样。 但是我想知道的是:内核中的进程或线程是否是用户空间进程的子进程?还是我不明白这篇文章的意思,就像所有纤维都有一个大的母体过程?因此,我不会这样想: 进程可以激活任意数量的纤维,但只有其中一个在任何给定的时间都可以在处理器(S)中实际执行。 通
浏览 0
提问于2020-08-15
得票数 1
3
回答
如何在进程中的pthread之间划分时间片?
、
、
、
、
Linux内核是否知道用户地址空间中的pthread(我不认为是is..but,我没有找到任何关于这方面的信息)。当发生线程切换时,指令指针是如何改变的。??
浏览 0
提问于2012-02-22
得票数 5
1
回答
致命错误: linux/kthread.h:未终止此类文件或目录编译
、
、
、
我正在尝试熟悉kthread,并在的指导下用C语言编写了一个非常简单的程序来测试它。我在MacOSX上的VMware中运行Ubuntu。 #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include "cycle.h" #include <linux/kthread.h> #include <linux/sched.h> int main(){ static struct task_struct *kthread; threa
浏览 6
提问于2012-10-30
得票数 2
回答已采纳
2
回答
为什么操作系统需要/维护内核域线程?
、
、
、
下面是我遇到的三种线程模型。基于以下3种体系结构,我新认识到,除了作为POSIX.1C的一部分引入的用户线程之外,还有一种叫做内核线程的东西。 这是1-1型 这是N-1模型. 这是混合模型. 对于内核线程,我已经经历了很多关于这方面的问题。这看起来更相关的澄清。 在进程级别,对于由Linux加载程序(例如)加载的每个用户进程,内核不为执行用户进程提出的机器指令分配相应的内核进程。用户进程只请求内核模式的执行,当它需要来自内核模块化的malloc()/fork()的工具。用户进程的调度由操作系统调度器完成,并分配CPU内核。 例如,用户进程不需要内核执行模式来执行指
浏览 8
提问于2014-10-12
得票数 4
回答已采纳
1
回答
被ptrace中断的CPU上下文在哪里,用户空间堆栈还是内核堆栈?
、
、
、
、
在Linux x86_64上,当我使用ptrace停止进程时,会保存所有线程的CPU上下文,还是只保存进程的CPU上下文? 进程的用户空间堆栈还是内核堆栈上的上下文?或者其他地方?还是多份? 对于其他情况(不是ptrace),中断(包括异常和syscall) CPU上下文、内核堆栈、用户空间堆栈或其他地方可以保存在哪里? 这是中断吗? 更新 看来,ptrace的上下文pt_regs_x86_t,保存的位置是由程序员决定的。但是内核也会为中断的上下文存储一个副本吗?
浏览 1
提问于2015-04-22
得票数 2
回答已采纳
1
回答
Linux运行的每个进程都有一个用户模式和一个系统模式堆栈吗?
、
这是我的作业问题。现在我理解了用户模式和内核模式之间的区别(我认为这是系统模式)。 但我的问题是:进程在Linux中是如何工作的?对于运行的每个进程,系统都有用户模式和系统模式堆栈吗?
浏览 1
提问于2014-02-24
得票数 0
1
回答
Linux内核所具有的特性和Windows没有的特性?
、
Linux内核有哪些Windows没有的重要技术特性? 我可能会在内核特性列表上找到一些东西,这在概念上是一个优势,或者与Windows有很大的不同。也许是从访问策略,网络,文件管理等.? 我不是在寻找速度或内存基准,而是两个操作系统之间的主要区别所在的技术或体系结构特性。 编辑:是的。评论中提到的维基百科的比较给出了我正在寻找的答案。这似乎相当技术性,如果差异对用户(或性能)有实际意义,也许有人可以写一个小评论。以下是这篇文章的总结: (为什么Linux有许多模块,而Windows只提到一种解决方案?) Linux
浏览 0
提问于2013-09-20
得票数 2
2
回答
如果线程共享相同的PID,如何识别它们?
、
、
我有一个关于Linux中线程实现的查询。 Linux没有明确的线程支持。在用户空间中,我们可以使用线程库(如NPTL)来创建线程。现在,如果我们使用NPTL,它支持1:1映射。 内核将使用clone()函数来实现线程。 假设我已经创建了4个线程。那就意味着: 将会有4 task_struct。根据克隆(CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND).的参数,将在task_struct中提供共享资源。 现在,我有了以下查询: ,这4个线程会有相同的PID吗?如果有人能详细说明,PID是如何共享的。如何识别不同的线程;是否存在一些TID (线程
浏览 13
提问于2012-02-16
得票数 116
2
回答
POSIX线程与并行性
、
、
、
POSIX线程(通过p线程库管理)是否可以并行工作?我的讲师告诉我们,这个库只创建用户线程,这些线程不是由Linux内核管理的。我编写了一些代码来填充大型矩阵,并比较了线程和整个程序的执行次数,它似乎可以并行工作。我可以使用这个库来创建具有内核识别的线程的并行程序吗?
浏览 3
提问于2019-06-14
得票数 1
回答已采纳
1
回答
我找到了进行系统调用的内核代码。但我以为这是不允许的?
上下文:linux-5.0/Documentation/process/adding-syscalls.rst#do-not-call-system-calls-in-the-kernel 首先,内核代码不能再调用像"sys_xyzzy()“这样的函数了,因为它们有错误的调用约定。 但是第二,“关于如何访问数据的规则在内核数据和用户数据之间可能有所不同。” 现在有一些函数可以直接替换旧的"sys_xyzzy()“调用。例如: ksys_mount()。 ksys_mount()接受指向__user内存的指针,就像对sys_mount()的调用一样。因此,如果将指向内核内存的指针
浏览 0
提问于2019-03-13
得票数 0
回答已采纳
1
回答
将一个函数分配给CPU
、
、
、
在Linux内核中,long work_on_cpu(unsigned int cpu, long (*fn)(void *), void *arg)用于分配运行在特定CPU核心上的函数。是否有任何等效的用户空间功能?
浏览 1
提问于2014-02-26
得票数 2
回答已采纳
2
回答
linux的关键部分
、
在linux或linux库中,是否存在与win32中的关键部分相当的部分? 我知道Mutex,但它与关键部分不一样,因为关键部分在内部使用用户模式的自旋锁和事件对象,而且它必须比互斥快。
浏览 0
提问于2012-01-16
得票数 3
回答已采纳
2
回答
在Linux内核中,哪些内核线程负责发送网络数据包
、
、
、
我正在阅读Linux内核的源代码,试图弄清楚Linux内核是如何发送网络数据包的,几个小时后,我只能看到网络数据包流经TCP层、IP层和最终的数据链路层,我找不到是哪些线程在做这些工作。 我的问题是,哪些内核线程负责发送网络数据包,它们在哪里?(因为我们可以将套接字设置为非阻塞,并让用户应用程序尽可能快地发送网络数据包,所以当网络繁忙时,必须有一些队列来缓冲这些数据包,并且一定有一些内核线程在某个地方运行来发送这些数据包。)
浏览 2
提问于2013-12-15
得票数 1
2
回答
Linux和Windows下的多线程模型
、
、
、
在过去的几个月里,我一直在学习操作系统课程。不过,我想对我读到的一点加以澄清。据我所知,有三种类型的多线程模型可以将用户级线程映射到内核级线程- 多对一模式 多到多模式 一对一模式 我明白为什么多到一个模型在并行处理方面效率不高--因为阻塞系统调用意味着停止任何处理。 然而,在我提到的“操作系统概念”(由亚伯拉罕·西尔伯沙茨、格雷格·加涅和彼得·加尔文撰写)一书中,它说Linux和Windows家族都使用一对一模型,尽管为创建的每个用户线程创建内核线程需要额外的开销。 多到多的模特不是更好吗?因为您有许多内核线程,足以具有高度的并行性,而且您始终可以选择两个级别的模型来将用
浏览 0
提问于2016-11-20
得票数 5
回答已采纳
1
回答
代表用户进程在kthread中打开文件
、
、
我正在编写一个linux内核模块,它将在用户进程调用kthread时启动它(使用ioctl)。 如何在用户进程的一半上使用这个kthread打开一个文件,也就是说,当它返回时,用户进程可以访问这个文件本身!?
浏览 1
提问于2011-04-24
得票数 0
1
回答
在什么情况下,操作系统会知道由Python创建的线程?
、
、
、
、
我的理解是,一般来说,OS内核(例如Linux),,而不是,对在用户空间中创建的任何线程都具有可见性。此外,我特别相信Linux操作系统内核只看到“任务”或进程,而不是“线程”本身。 此外,我不确定CPython是否真的会在任何事情上使用多个线程,除非显式地使用threading包,例如Python中的threading包或--C标准的Python库之一选择创建线程本身。我认为这里的例外是multiprocessing或任何可能产生多个进程的Python库,在这种情况下,OS内核将它们看作是单独的。 在什么情况下,OS内核将知道由Python脚本创建的线程,包括它可能使用的任何模块?
浏览 4
提问于2020-06-06
得票数 0
回答已采纳
1
回答
嵌入式Linux。自动执行代码块
、
、
、
、
目前,我在嵌入式linux设备(2.6.28.10版)上有一个用户空间应用程序,它通过切换GPIO引脚来控制一些自定义硬件。对GPIO寄存器的写入发生在单独的pthreads中,所有这些都需要访问设备。大多数情况下,这样做都很好,因为有一个semaphore可以防止多个线程同时访问执行GPIO写操作的部分。 问题在于,在写入这些GPIO寄存器的过程中(大约24个8位写入),另一个线程will interrupt当前线程,尽管中断线程由于信号量而不能修改寄存器,但是在几毫秒内不会将控制权返回给正在写入GPIO的线程,这当然会使发送到外部设备的数据无效。 linux中有没有一种方法可以确保这组GP
浏览 0
提问于2013-08-15
得票数 0
1
回答
为什么用户模式linux产生4进程?
、
、
如果我使用以下命令启动用户模式Linux: ./kernel32-3.19.8 ubda=./Debian-Wheezy-x86-root_fs mem=128m 在只有一个CPU内核的Debian /Linux 8 (jessie)上,为什么我在顶部看到4个进程: 1608 root 20 0 132m 42m 42m S 0.7 33.4 0:12.01 kernel32-3.19.8 1615 root 20 0 132m 42m 42m S 0.0 33.4 0:00.00 kernel32-3.19.8 1616 root
浏览 0
提问于2015-05-15
得票数 0
回答已采纳
2
回答
“内核模式”和“用户模式”是硬件特性还是软件特性?
、
、
、
我读到有两种模式叫做“内核模式”和“用户模式”来处理进程的执行。(理解Linux内核,第3版)是由Linux控制的硬件交换机(内核/用户)还是由Linux内核提供的软件特性?
浏览 0
提问于2015-04-22
得票数 3
回答已采纳
1
回答
Linux内核线程地址空间
、
、
、
我看到linux内核线程没有自己的地址空间,它们的mm字段设置为NULL。我知道所有内核线程都共享地址空间,但是它们仍然有自己的堆栈,对吗?他们需要以某种方式描述这个领域,如果没有mm,他们如何做到这一点?和其他列表,如打开的文件,他们把它放在哪里?另外,将active_mm字段设置为以前的用户任务的mm有什么意义?提前谢谢。
浏览 2
提问于2014-01-16
得票数 5
回答已采纳
1
回答
内核级和用户级线程
、
克隆(Linux)创建内核级线程,而PThreads创建用户级线程。我觉得有些OSs实际上不支持用户级线程。举个例子:在双核处理器上,如果我有两个正在运行的进程,其中第一个进程有3个线程,第二个进程有4个线程,那么CPU的时隙将不会被分成7个与单个线程相等的时隙,但是一个内核将分配给进程1,并在它的3个线程之间共享,而另一个内核将分配给进程2,并在其4个线程之间共享。 而如果我们使用克隆(在linux上)而不是PThreads。然后,双核处理器的时间将在不同的内核线程(7)之间平等地共享。 这是真的吗?
浏览 1
提问于2013-10-02
得票数 0
回答已采纳
1
回答
如何在Windows 7中实现线程?
、
、
、
微软介绍说,Window 7改进了线程子系统,引入了混合(N:M用户空间/内核空间线程映射)。 有人知道线程实现的细节吗。虽然有很多材料(显然是Linux实现的开源)和一些有关Mac线程实现的信息,但我没有找到任何关于Windows 7线程实现细节的信息。 我特别感兴趣的是: 同步原语实现(如Linux中的futexes ) 线程排队策略 线程数据结构 线程本地存储实现 内存分配和去分配 ..。我忘记提到的其他与线程相关的特性 将对任何提供的信息和/或链接表示感谢。
浏览 2
提问于2013-03-26
得票数 1
回答已采纳
1
回答
内核如何切换内核堆栈和用户堆栈?
、
内核如何切换内核堆栈和用户堆栈? 我正在查看linux内核中的中断处理。 我知道进程只在内核模式下使用内核堆栈。 但是,当中断发生时,它是如何带来内核堆栈指针的? 我没有看到内核在中断退出代码中保存指向某个寄存器的堆栈指针。
浏览 1
提问于2018-03-23
得票数 0
回答已采纳
1
回答
如何获得:最小内核进程和最小用户进程?
、
、
基本上,我希望有一个嵌入式linux来运行一个应用程序,但是使用最小内核进程和最小用户进程: 我并不关心内核或根文件系统的大小。(当然,薄的仍然是首选的。) 因此,内核中的额外内置模块是很好的,只要它们没有在不必要的情况下运行。也许我以后可以使用/激活它们。 我仍然需要一些内核进程来进行监控,这样我就可以运行命令"ps“、"top”等等。 我知道我可以通过更改"Init“程序来启用/禁用userland进程,对吗? 但是如何启用/禁用内核进程呢? -我怎么知道我的应用程序需要什么内核进程? 谢谢!
浏览 0
提问于2019-01-10
得票数 1
2
回答
linux中的pthread_create是什么?
、
、
、
我是操作系统的新手,所以,我想知道Linux中的pthread_create (标准化接口)?它创建了什么类型的线程?用户级线程还是内核级线程?证明!
浏览 1
提问于2013-01-30
得票数 1
回答已采纳
2
回答
Linux内核线程-调度器
、
、
Linux内核调度器是init进程的一部分吗?我的理解是,它是内部管理的内核线程的一部分,对用户不可见,无论是top还是ps。请纠正我的理解。 是否可以通过任何内核调试器查看标准内核线程,以了解标准线程如何占用cpu活动? -Kartlee
浏览 5
提问于2010-03-12
得票数 5
回答已采纳
1
回答
如何删除linux功能?
、
保护日志文件的一个有用的属性是只附加.设置此属性时,无法删除该文件,并且只允许将写入附加到文件的末尾。 显然,获得根权限的入侵者可能会意识到文件属性正在被使用,只需通过运行chattr -a从日志中删除仅附加的标志。为了防止这种情况,我们需要禁用删除仅追加属性的能力。要在Linux下实现这一点,请使用它的功能机制。 为了防止用户从文件中删除仅附加的属性,我们需要删除CAP_LINUX_IMMUTABLE功能。如何删除此功能? lcap实用程序以前曾用于此目的,但目前还不能用于ubuntu。还有其他方法来删除linux内核功能吗? 重计:我成功地在ubuntu服务器13.04中安装了lcap_0
浏览 0
提问于2013-12-21
得票数 3
2
回答
性能读()和写()到/从Linux SKB的
、
、
基于一个标准的Linux系统,其中有一个用户应用程序和内核网络栈。我已经读过,从用户空间到内核空间的移动帧(以及vica-发自内核空间的帧)在CPU周期方面可能是昂贵的。 我的问题是, 为什么?并且正在向一个方向移动帧(即从用户到内核)有较高的影响。 另外,当你进入基于点击的界面时,事情有什么不同呢?因为帧仍将在用户/内核空间之间运行。空间问题是否适用,还是有某种形式的零拷贝在发挥作用?
浏览 10
提问于2017-07-07
得票数 3
回答已采纳
1
回答
如何使字符设备驱动程序内核模块的写调用者休眠
、
、
如所述,我在Linux中创建了一个字符设备驱动程序内核模块。驱动程序运行良好,但我需要扩展内核模块功能。 static ssize_t device_write(struct file *filp, const char *buff, size_t len, loff_t *off) 这样,调用用户进程(调用函数)就会被阻塞一段固定时间。 我可以包括linux/delay.h,并在内核模块的函数device_write中使用msleep(1000)来让CPU等待。但我不知道这是否是在用户空间中阻止write()函数调用的正确方式。 请不要将此与并发访问资源相混淆。这不是我的意思。我只想阻止用户
浏览 4
提问于2016-06-19
得票数 0
3
回答
在Linux中内核线程在什么上下文中运行?
、
、
我是Linux内核的新手。 我知道有两个上下文 在用户空间或内核空间中运行的进程上下文(例如:作为System call)Interrupt Context的一部分 Kernel Thread (与任何用户线程无关,例如:flush task)在什么上下文中运行? 在Linux内核中,除了进程和中断上下文之外,还有其他上下文吗?
浏览 3
提问于2012-02-22
得票数 18
回答已采纳
1
回答
如何为用户线程提供比内核线程更高的优先级(Work_queues)
、
、
、
我正在运行一个应用程序,其中某些用户线程不能被内核抢占。.I将解释我的设置: OS: Linux2.6.32内核 内核级:1.内核中嵌入了许多模块。在某些模块中,2.Work_queues也会被初始化(我猜是为work_queues创建了单独的线程)。3.如果我得到任何硬件中断,我会在我的work_queue期间在这些初始化的isr中的任何一个中排队。 应用级别:有多个线程并行运行,其中一些线程的优先级高于进程中的任何其他线程。(甚至是内核) 目标:1.如果我得到任何硬件中断,isr将被自动调用,其中的工作将排队为任何work_queue.But,我不想调度这些work_queues如果更高优
浏览 2
提问于2012-05-07
得票数 1
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
多线程开发必看:守护线程优雅地停止用户线程
linux多线程服务器
Linux系统编程 线程属性
Linux系统编程 线程同步概念
分享:C语言编程——LINUX 多线程
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券