腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
1
回答
为什么linux中的每个进程都有内核堆栈?
最近,我开始学习linux,有一系列的问题,我要问。 在阅读时,我遇到了一个术语“内核堆栈”,我无法理解为什么linux内核在每个进程中使用内核堆栈? 当进程正在执行时,为什么esp寄存器具有顶部的地址--进程的内核堆栈--以及为什么不具有相应进程的用户模式堆栈顶部的地址?
浏览 0
提问于2020-08-07
得票数 1
回答已采纳
1
回答
linux内核如何执行堆栈大小限制?
、
、
、
我知道通过限制工具可以控制堆栈大小,但是内核如何执行其中的一些限制,比如RLIMIT_STACK?由于linux不涉及堆栈操作(它只是一个mov或push指令),那么当您超过限制时,内核如何发出SIGSEGV呢?我了解到,对于虚拟寻址,CPU提供了linux内核可以使用的功能。这与堆栈大小限制的执行方式类似吗?还是linux在“犯罪发生后”对堆栈大小进行例行检查并发出分段错误?还是有第三种选择?
浏览 7
提问于2016-06-01
得票数 3
回答已采纳
1
回答
硬件中断使用哪个堆栈?
、
、
我不太理解x86_64中的中断堆栈切换机制。根据英特尔的开发人员手册,当硬件中断发生时,当前上下文将存储在中断堆栈上,供以后使用。我有以下问题: 是Linux内核中的堆栈hardirq_stack吗?如果是的话,softirq也会使用这个堆栈;那么当处理softirq时发生中断时,堆栈如何保持一致性呢?如果不使用,那么使用哪个堆栈?只将上下文的一部分保存在堆栈上(例如RSP、CS、RIP),另一部分(例如寄存器)呢?
浏览 4
提问于2021-10-29
得票数 2
3
回答
Linux内核:当前宏工作
、
关于Linux内核中当前宏的工作方式(我指的是ARM架构) 当前宏的代码: return (struct thread_info *)(sp & ~(THREAD_SIZE - 1)); 这意味着struct thread_info被放在堆栈的顶部? 这来自linux内核开发第三版: struct thread_info位于堆栈的底部(对于向下增长的堆栈)和堆栈的顶部(对于增长的堆栈)。 如何通过覆盖来阻止此struct thread_info?
浏览 5
提问于2013-10-14
得票数 1
1
回答
Linux下CPU如何切换到中断栈
、
、
、
我读到过Linux如何在每个CPU上使用硬IRQ堆栈和软IRQ堆栈,以防异常堆栈在内核的编译时间内仅为4KB。 现在我知道在8KB内核模式堆栈的情况下,当CPU在IDT中查找中断处理程序并发现需要更改权限时,它会从进程的TSS段获取内核模式堆栈的地址。另外,在4KB内核模式堆栈的情况下,cpu从TSS段获取异常堆栈的地址。 我不清楚的是,在处理中断的情况下,CPU如何获得hard_irq堆栈或soft_irq堆栈的地址。 有人能给我解释一下吗?
浏览 49
提问于2019-06-16
得票数 1
2
回答
Linux SCTP堆栈与其他非操作系统SCTP堆栈一起部署在同一台计算机上
、
我使用的是Linux SCTP协议栈。目前在同一台Linux机器上,我需要部署一个使用非OS SCTP堆栈的进程。(即,它打开一个原始套接字,然后自己处理传输层消息)。当SCTP Init到来时,Linux将数据包提供给这两个进程。这种情况可以避免吗?我不希望Linux SCTP处理不被它使用的消息。(由其他非操作系统SCTP堆栈使用)这可能吗?
浏览 11
提问于2011-04-29
得票数 1
1
回答
是否有Linux系统API可用于跟踪上下文切换?
我对编写性能分析器很感兴趣(只是为了好玩)。我想跟踪Linux中的上下文切换,这样我就可以记录线程(属于所分析的进程)的上下文切入和上下文切出之间的时间。除了时间之外,我还想记录相关的调用堆栈(如果它们与之前记录的堆栈不同)。 另外,我想知道在Linux上是否有类似于Windows ETW的东西? 附言:我试着在网上搜索,但找不到任何相关信息。这种方法似乎是使用基于计时器的信号,但我觉得这是不精确的。
浏览 0
提问于2014-10-05
得票数 2
2
回答
线程堆栈指针
、
、
在Linux2.6.32-32中,有没有一种方法可以在pthreads程序中以编程方式找到关于线程的以下信息?我需要:运行计数,堆栈指针,堆栈开始/结束,堆栈大小,堆栈使用。类似于ThreadX,我猜,但是在一个程序中。谢谢。
浏览 6
提问于2011-07-15
得票数 4
回答已采纳
2
回答
TCP - TAP性能
、
、
、
Linux。 使用抽头设备与硬件设备(如eth0 )是否会造成性能损失? 目标是创建一个用户空间tcp/ip堆栈,并尽可能避免内核。 我想确定的是,开发上的龙头设备是正确的事情做。 谢谢
浏览 0
提问于2014-12-19
得票数 1
回答已采纳
1
回答
硬件堆栈中断Linux内核的上半部分?
、
、
、
我知道Linux内核在2.6.32之前将线程内核堆栈作为ISR堆栈,在2.6.32之后,内核使用分隔堆栈,如果错误,请更正。您能告诉我ISR堆栈何时设置/装箱,或者如果有,则销毁。或者告诉我源文件名和行号?提前谢谢。 更新日期:2014年10月17日: Linux中有几种堆栈。下面是我所知道的三大(不是全部)。 用户空间进程堆栈,每个用户空间任务都有自己的堆栈,这是在创建任务时由mmap()创建的。 用户空间任务的内核堆栈,每个用户空间任务一个,这是在do_fork()->copy_process()->dup_task_struct()->alloc_thread_
浏览 6
提问于2014-10-03
得票数 3
2
回答
网卡内核旁路的实现
、
、
、
、
我的处境: 我希望在网卡上收到的数据能尽快到达我的应用程序。我的结论是,最好的解决方案(如最低延迟)是在我的用户空间中实现一个网络堆栈。 网络通信可以是一种专有协议(如果这样可以简化网络堆栈的编写),因为它只是在两台本地计算机之间。 1)我的网络堆栈需要实现的最起码的功能列表是什么? ( 2)我是否需要删除/禁用我的Linux中的任何网络堆栈/如何做到这一点? 3)我到底该怎么写驱动程序?我想我需要找到调用驱动程序代码的确切位置,然后将数据发送到可以从我的应用程序访问的内存中,而不是调用驱动程序/网络堆栈?。
浏览 6
提问于2013-08-21
得票数 2
2
回答
如何在linux中转储堆栈跟踪
、
、
我正在用GDB在linux下调试一个程序,这个程序当然包含错误,我想要的是运行这个程序的调试版本,当它遇到错误时,在它退出之前转储堆栈跟踪。
浏览 0
提问于2014-01-03
得票数 1
回答已采纳
1
回答
为什么64位计算机上的Linux堆栈大小限制如此之低?
、
据我所知,Linux堆栈大小限制为8MB,但在64位计算机上,没有理由不能将其大幅度增加,例如增加到4GB。这将使程序员不必担心在堆栈上存储大值,或者使用递归算法而不是迭代算法。 它也应该更快,因为堆栈分配比堆分配要快得多。我们可以看到一个全新的堆栈分配数据结构类--想象一下在堆栈上分配的std::stack_vector<T>。 有什么不好的地方我没看到吗?还是因为没有人关心做出改变?
浏览 0
提问于2021-10-12
得票数 0
2
回答
谁在Linux中的上下文切换之后调用IRET?
、
、
、
、
我一直试图了解Linux内核中的上下文切换是如何工作的。在我看来,有一种情况(稍后解释)导致中断后不调用IRET指令(我确信我遗漏了什么!)。我假设在中断之后调用IRET是非常必要的,因为只有在调用IRET之前才能得到相同的中断。我只担心运行在x86 arch上的单处理器内核。 我认为可能导致所描述的行为的情况如下: 进程A在内核模式下自动调用schedule() (例如,在尝试获取已经锁定的互斥对象时)。 schedule()决定执行一个上下文切换到进程B,因此调用context_switch() context_switch()通过调用switch_mm()将虚拟内存从A切换到
浏览 5
提问于2015-10-25
得票数 3
3
回答
Linux内核中的堆栈内存
、
、
、
最近,我试着想象如何在Linux内核中处理堆栈内存,但无法想出任何可靠的东西。我知道内核使用它自己的函数来进行动态内存管理,但是我不知道它是如何管理普通C堆栈内存的,因为它毕竟可以用普通C实现,用普通GCC编译。据我所知,在处理操作系统时,堆栈内存分配通常由libc的一种形式处理,甚至在类似AVR的情况下也是如此。但据我所知,Linux内核不依赖libc? 我不太清楚堆栈内存管理最初是如何委托给libc的,尽管它似乎是内置的语言特性。我所能想象的是,它是以某种方式被通用编译(或实现)的,这样就可以在编译过程之后或者可能作为编译过程的一部分分配提供程序。有人能帮我弄清楚这件事吗?
浏览 3
提问于2015-12-31
得票数 2
回答已采纳
3
回答
从中断返回时是否必须使用IRET?
、
、
、
、
IRET可以从堆栈中恢复寄存器,包括EFLAGS、ESP、EIP等,但我们也可以自己恢复所有的寄存器。例如,"movl“可用于恢复%esp寄存器,"jmp”可跳转指向堆栈中存储的EIP的地址。 linux内核通过IRET从所有中断中返回,这是一个权重指令。 一些内核操作(如上下文切换)经常发生。 IRET不是一种浪费吗?
浏览 1
提问于2012-05-05
得票数 4
回答已采纳
1
回答
在Linux2.6中用switch_to()保存通用寄存器
、
、
、
我在链接switch_to中的文章“Linux中x86上下文切换的演变”中看到了的代码。 大多数版本的switch_to只保存/恢复ESP/RSP和/或EBP/RBP,而不是内联asm中其他保持调用的寄存器。但是Linux2.2.0版本确实将它们保存在这个函数中,因为它使用的是软件上下文切换,而不是依赖于硬件TSS。后来的Linux版本仍然进行软件上下文切换,但是没有这些push / pop指令。 寄存器是否保存在其他函数中(可能保存在schedule()函数中)?或者不需要在内核上下文中保存这些寄存器? (我知道当系统进入内核模式时,用户上下文的那些寄存器保存在内核堆栈中)。
浏览 1
提问于2019-05-31
得票数 3
回答已采纳
1
回答
防止OS指纹
、
我正在做一个项目,我需要将我的Linux操作系统隐藏在nmap或其他操作系统识别工具中。我阅读了许多关于TCP/IP堆栈的文章,并更改了许多属性,如TTL和数据包大小,但它似乎不起作用,并在机器中造成了许多问题。 我如何隐藏我的操作系统不被识别或强迫它被识别为Windows机器?
浏览 0
提问于2018-07-19
得票数 1
回答已采纳
1
回答
thread_struct在工艺栈中的应用意义
、
、
想知道为什么thread_struct是Linux的一部分。Robert说,它可能位于进程堆栈的最低内存地址。 1)为什么我们首先需要在流程堆栈中使用它? 2)如果我们需要将其设置在进程堆栈的固定地址(最低内存地址)--这是否意味着进程堆栈的大小是固定的?
浏览 2
提问于2015-06-16
得票数 3
1
回答
在带有MinGW64的Windows上使用BOOST_STACKTRACE_USE_BACKTRACE
、
、
、
、
我正在使用Windows和MinGW64构建一个Qt应用程序。我需要使用Boost Stacktrace来生成堆栈跟踪,就像应用程序的Linux构建一样。 设置了相应的开关BOOST_STACKTRACE_USE_BACKTRACE (如https://www.boost.org/doc/libs/1_65_1/doc/html/stacktrace/configuration_and_build.html中所述),一切都在Linux上运行良好。 但是,在Windows上缺少libbacktrace库。上面的boost页面包含两个指向libbacktrace源代码的链接,但我找不到Windo
浏览 91
提问于2021-07-27
得票数 1
回答已采纳
2
回答
Windows崩溃转储调用堆栈仅显示wow64
、
、
、
问题 我有一个Windows应用程序,我们开发的内部使用。由于Windows错误处理,该窗口保持打开状态,我可以轻松地从任务管理器生成崩溃转储。 我曾经通过eclipse在linux上使用过崩溃转储,但这是Windows上的第一次。 硬件 服务器是Windows 2012,我的开发机器是Windows 7。 温布格 当我在Windbg中加载崩溃转储时,加载我的符号,然后选择查看调用堆栈,唯一的清单是: 如何才能具体地看到我的应用程序调用堆栈?
浏览 2
提问于2015-08-07
得票数 5
回答已采纳
1
回答
在内核调试中访问给定进程id的进程的内核堆栈
、
、
、
、
我在VMWare上运行了一个linux,在调试时我使用主机中的gdb来附加到它。在运行时,我的内核将导致一些进程挂起,我想进一步研究一下。 内核给我的是挂起进程的进程id和堆栈跟踪。但是,如果不传递参数,堆栈跟踪就不是很有用。所以我想收集更多的信息。所以我有两个问题: 给定pid的,如何得到与进程相对应的task_struct?我试图在gdb下执行“p find_task_by_pid_ns(2533,&init_pid_ns)”,但是它挂起了。有一次得到了task_struct和堆栈指针。我的最终目标是复制堆栈跟踪(其中包含调用的每个函数的参数)。有这样的工具吗?gdb是否接受堆栈指
浏览 5
提问于2012-03-02
得票数 1
回答已采纳
1
回答
TCB在FreeBSD上的位置在哪里?
、
、
、
、
内核线程控制块在FreeBSD上的位置在哪里?(中断线程后,上下文(包含%RIP/%EIP)保存在哪里?)它是在内核堆栈上还是在其他地方? 在FreeBSD中,进程和线程是否非常相似,比如在Linux上,还是完全不同的抽象?
浏览 3
提问于2015-05-07
得票数 0
回答已采纳
1
回答
linux内核如何在用户模式和内核模式堆栈之间切换?
、
当系统调用或中断出现时,linux内核如何在用户模式和内核模式堆栈之间切换?我的意思是,确切的机制是什么--用户模式堆栈指针发生了什么?内核模式堆栈指针从哪里来?硬件做什么,软件做什么?
浏览 4
提问于2016-07-13
得票数 2
回答已采纳
3
回答
上下文切换内部
、
、
、
我想在这个问题的帮助下学习并填补我知识中的空白。 因此,用户正在运行一个线程(内核级),它现在调用yield (我认为是一个系统调用)。调度器现在必须将当前线程的上下文保存在TCB中(存储在内核的某个位置),并选择另一个线程运行,然后加载它的上下文并跳转到它的CS:EIP。为了缩小范围,我正在研究运行在x86架构之上的Linux。现在,我想详细介绍一下: 所以,首先我们有一个系统调用: 1) yield的包装器函数会将系统调用参数推送到堆栈上。压入返回地址,并使用压入某个寄存器(例如EAX)的系统调用号引发中断。 2)中断将CPU模式从用户更改为内核,并跳转到中断向量表,并从那里跳转到内核中的
浏览 0
提问于2012-09-28
得票数 75
回答已采纳
1
回答
docker中的Dotnet web应用程序未显示错误堆栈
、
我在linux上的docker容器中托管了一个dotnet核心应用程序。 每当应用程序中出现错误时,它都会在浏览器上显示空白页面。当页面上有错误时,有没有办法看到浏览器本身的错误堆栈?
浏览 12
提问于2020-03-04
得票数 0
3
回答
没有上下文切换的系统调用?
、
、
当我在我的操作系统书中读到linux是如何工作的时候,我发现. ..。内核被创建为一个单一的、单一的二进制。主要原因是为了提高性能。因为所有内核代码和数据结构都保存在一个单一的地址空间中,所以当进程调用操作系统函数或交付硬件接口时,不需要上下文切换。 这听起来相当令人惊讶,当然它必须在运行到内核模式来处理中断之前存储进程的上下文。不过,好吧,我现在就买。在描述一个进程的调度上下文时,上面有几页内容,它说: 进程执行过程中发生的系统调用和互操作都将使用此堆栈。 “这个堆栈”是内核存储进程寄存器之类的地方。 这不就是第一句话的直接矛盾吗?我是不是误解了它?
浏览 2
提问于2012-01-16
得票数 6
回答已采纳
1
回答
当内核堆栈的esp被存储到TSS以中断返回时,iret?
、
、
、
、
当我阅读英特尔的X86程序员手册时,请参阅下面的中断和堆栈切换中断返回: 中断: 如果确实发生堆栈切换,则处理器执行以下操作: registers.Loads 临时保存(内部) SS、ESP、EFLAGS、CS和EIP 的当前内容--新堆栈(即被调用的特权级别的堆栈)的段选择器和堆栈指针,从保存到SS和ESP寄存器,并切换到新堆栈。将临时保存的SS、ESP、EFLAGS、CS,和中断过程堆栈的EIP值到新堆栈上。appropriate).Loads 将一个错误代码推入新堆栈上(如果respectively.If是新代码段的段选择器和新指令指针(从中断门或陷阱门)到CS和EIP寄存器,respe
浏览 4
提问于2022-01-11
得票数 1
回答已采纳
1
回答
通过值和堆栈大小限制返回对象
据我所知,在现代C++中,与使用make_unique<>()在堆上分配内存并返回unique_ptr相比,建议在堆栈上按值返回对象。编译器将确保不会复制返回的对象值。因此,建议信任编译器来优化按值返回的返回详细信息。 然而,如果我们要遵循这个建议,即使是对于大型对象,理论上也可能发生堆栈溢出,对吧?我在我的Linux笔记本电脑上进行了测试: #include <iostream> // Allocate 40 MB (10,000,000 x 4) #define ASIZE 10000000 struct Foo { int a[ASIZE]; // N
浏览 8
提问于2019-09-30
得票数 1
1
回答
在不使用分段机制的情况下,如何在x86中管理堆栈和堆段?
、
、
、
从理解Linux内核开始 80x86微处理器中包含了分段,以鼓励程序员将应用程序拆分为逻辑相关的实体,例如子程序或全局和本地数据区域。然而,以非常有限的方式使用分段。实际上,分段和分页有些多余,因为两者都可以用于分离进程的物理地址空间:分段可以为每个进程分配不同的线性地址空间,而分页可以将相同的线性地址空间映射到不同的物理地址空间。Linux更喜欢分页而不是分段,原因如下: 当所有进程都使用相同的段寄存器值时,即当它们共享同一组线性地址时,内存管理就更简单了。 Linux的设计目标之一是可移植到广泛的体系结构;尤其是RISC体系结构对分段的支持有限。 2.6版本的Lin
浏览 8
提问于2022-02-13
得票数 0
3
回答
x86-64下的快速堆栈切换
、
、
、
、
在x86-64下切换堆栈的最小代码是什么?我试图在Windows和Linux下实现光纤,而不使用getcontext或setjmp +内联程序集。它真的像交换$rsp和$rbp一样简单吗?因为我可以很容易地做到这一点。我只是不知道该怎么做。我对我的x86-64知识已经生疏了。
浏览 2
提问于2018-03-28
得票数 3
回答已采纳
5
回答
我不能直接将代码从IntelliJ Idea复制到StackOverflow
、
、
、
我不能直接从IntelliJ Idea复制到堆栈溢出。从Intellij粘贴到.txt到Stack真的很烦人。 我怎么才能用文明的方式粘贴呢? 编辑:我的软版本: Intellij Idea 12终极 Linux ubuntu 10
浏览 9
提问于2013-01-07
得票数 0
回答已采纳
5
回答
Linux内核:线程与进程- task_struct与thread_info
、
、
、
我读到Linux不支持线程或轻量级进程的概念,它和其他进程一样考虑内核线程。然而,这一原则并没有在代码中得到非常准确的反映。我们看到task_struct保存进程的状态信息(如果错误的话纠正我),也看到thread_info附加到进程内核堆栈的底部。 现在的问题是,当linux应该像任何其他进程一样解释线程时,为什么代码支持通过thread_info单独线程的概念? 请告诉我我在这里缺少的是什么-我是linux内核开发的新手。
浏览 6
提问于2014-01-26
得票数 16
回答已采纳
2
回答
在linux上运行应用程序时要监视的参数?
、
我整夜都在Linux xscale设备上运行一个应用程序。我正在寻找一些东西,这将随着跑步时间的增加而增加。一件事,就是记忆。如果您观察xscale系统上的内存,空闲内存将开始减少,但您将看到缓存内存的增加。我们可以观察的其他参数是什么,例如,我们是否可以观察堆栈或堆的使用量?
浏览 0
提问于2009-07-07
得票数 0
回答已采纳
1
回答
setjmp和longjmp -通过示例理解
、
、
我知道setjmp和longjmp的定义。setjmp将环境存储在堆栈上下文中,另一个恢复。 但我认为我的部分中有一些缺乏理解的地方。有没有人能在好例子的帮助下向我解释一下,我如何保证,以及如何保存和恢复它? 我看到在jmp_buf中有很多CPU寄存器。但是我如何保证它被恢复了呢? 请用整洁的例子来帮助我解释。我在谷歌上搜索并参考了其他有堆栈溢出的问题,但没有一个给出明确的例子。 非常非常感谢你。 附注:它只能来自Linux/ Unix上下文。
浏览 3
提问于2011-08-01
得票数 8
回答已采纳
2
回答
调试PostScript
、
如何在PostScript中进行调试?我可以在Linux上使用GhostView/GhostScript,但不能查看堆栈、字典等。
浏览 7
提问于2012-09-12
得票数 13
1
回答
仿真器AVD不能将显示器缩放到4k显示器
、
、
、
自从我把我的显示器升级到4k后,我的Android模拟器就出了问题。在我的系统(KDE neon5.15)上,AVD不会缩放设备的显示,而只会缩放设备本身,就像这里所看到的:。因此,我几乎不可能点击显示屏上的右侧区域,因为触摸手势的输入栏也是正确缩放的,但只有显示屏本身没有缩放。我已经检查过类似的堆栈溢出问题,比如,但它们似乎都没有相同的问题。还有没有人在Linux和4k显示器上遇到过类似的问题?
浏览 2
提问于2019-03-21
得票数 0
1
回答
Google引擎堆栈驱动程序日志/监视已在gke版本1.15中消失
、
、
、
我使用GKE已经超过一年了,在堆栈驱动程序日志/监视方面我从来没有遇到过任何问题。但是当我用版本1.15.9-gke.26创建新集群时,我在堆栈驱动程序中没有看到任何日志(这两种指标都没有)。它也不适用于1.14版本的新集群。虽然它适用于较旧的集群(从1.13更新到1.14版本)。 一些设置: gke版本= 1.15.9-gke.26 Stackdriver发动机监测=系统和工作负载记录和监测 VPC-本机(别名IP) =已启用 工作负载标识=禁用 奇怪的事: 下面的守护进程集有0/0荚(DaemonSet没有选择节点): metadata-proxy-v0.1nvidia-gpu-devic
浏览 3
提问于2020-04-07
得票数 3
1
回答
Python:引发selenium.common.exceptions.UnexpectedAlertPresentException:(消息、屏幕、堆栈跟踪)exception_class警报文本:无消息:
、
、
因此,我在python项目中一直面临这个问题;每当我的页面上出现javascript警报(在为ubuntu linux使用python解释器时),所有其他指令语句都会引发此错误。 引发selenium.common.exceptions.UnexpectedAlertPresentException: exception_class(消息、屏幕、堆栈跟踪)警报文本:无消息: 我的意思是,即使是简单的指令,如browser.current_url,以及复杂的指令。 如果我试图切换到警报并使用 browser.switch_to.alert.accept() 出现此错误: 引发s
浏览 0
提问于2018-07-27
得票数 1
2
回答
在linux中,每个进程都有一个4GB的虚拟地址空间,考虑到32位的体系结构。
、
、
、
、
嗨,我是Linux内核开发的新手。因此,希望对下面的语句有一些清晰的说明。 在内存中,每个进程都有一个4GB的虚拟地址空间。 考虑32位架构。进程的用户空间部分可以访问较低的3GB虚拟地址,内核空间部分可以访问上1GB的虚拟地址。 这是否意味着linux中的每个进程都分配了那么多内存空间( 1GB+3GB )? 如果是的话,那么linux中就有数百个进程,那么100*4GB的空间来自系统获得这么多内存空间的地方吗? 它与内核堆栈和用户堆栈有什么关系? linux中的每个进程都有内核和用户堆栈吗?
浏览 3
提问于2015-06-13
得票数 3
2
回答
为什么GPRS调制解调器提供嵌入式TCP/IP协议栈
、
、
、
、
我和我的同事正在GPRS调制解调器市场上寻找一种适合嵌入式Linux使用的模块。在市场扫描期间,我们看到一些供应商强调他们的调制解调器包含嵌入式TCP/IP堆栈。 这让我想知道:当我们使用已经包含TCP/IP协议栈并使用PPP连接的嵌入式Linux时,它会使用GPRS调制解调器中包含的协议栈吗? 我目前的假设是,该堆栈是为了与不提供自己堆栈的微型微控制器操作系统一起使用的。此外,一些调制解调器允许在调制解调器基带处理器中运行小型应用程序,这可以解释嵌入式堆栈... 那么: GPRS调制解调器提供的TCP/IP堆栈在使用HL OS时是多余的,还是我忽略了什么?
浏览 1
提问于2010-05-18
得票数 5
回答已采纳
3
回答
Linux 32位计算机上程序的堆栈分配限制
、
在C++中,在编译器放弃并表示无法为堆栈分配更多内存之前,堆栈段可以增长多少。 在linux (fedora) 32位机器上使用gcc。
浏览 0
提问于2009-11-23
得票数 1
回答已采纳
3
回答
iret和int指令堆栈
、
、
、
中断会导致CPU将EFLAGS、CS和IP寄存器保存到“堆栈”中,iret指令将它们从堆栈中弹出。这个堆栈位于何处?CPU是如何知道的(我假设在某个地方有一些寄存器)?我想知道那些肮脏的细节。我正在考虑基于Unix的系统。比如Linux。
浏览 1
提问于2012-10-23
得票数 1
回答已采纳
1
回答
32位到64位jvm迁移- jboss web应用程序和linux服务器
、
、
、
、
我们正在将目前运行在32位linux &32位JVM上的Java / JBoss web应用程序迁移到64位linux和64位JVM上。 我们对JVM堆、permgen、堆栈等进行了适当的分析和更改。这足够了吗?还是我们应该考虑任何其他参数/作为64位迁移的一部分进行任何其他更改? 我们目前使用的是“jboss 4.3”/ "jboss-4.0.5.GA“。我们需要安装/升级JBoss服务器吗? 另外,如果我在32位到64位迁移中遗漏了其他强制性更改,您能指出我吗? 我是否应该检查我们在应用程序中使用的所有jar文件是否与64位jvm兼容?
浏览 0
提问于2013-09-24
得票数 1
回答已采纳
2
回答
这是用于堆栈切换的内联asm方法吗?
、
、
、
、
对于某些函数,我需要切换堆栈,使原始堆栈保持不变。为此,我编写了两个宏,如下所示。 #define SAVE_STACK() __asm__ __volatile__ ( "mov %%rsp, %0; mov %1, %%rsp" : \ "=m" (saved_sp) : "m" (temp_sp) ); #define RESTORE_STACK() __asm__ __volatile__ ( "mov %0, %%rsp" : \ "=m" (saved_sp) ); 这里,temp_sp和save
浏览 3
提问于2012-01-11
得票数 3
回答已采纳
1
回答
16.04不能在nvidia驱动程序中使用外部监视器
、
、
、
我正在联想的W540上运行Ubuntu16.04(完成了16.04的干净安装)。唯一重要的事情(硬件方面)是,它有一个英特尔CPU和Nvidia象限K2100M支持素数。 我安装了nvidia-367 (这是从新的图形驱动程序PPA和我也尝试了其他几个版本,但367只是最新的)和重新启动。如果我没有插上显示器的话,一切都会很完美。 当我插入一个外部监视器(使用DisplayPort端口)时,我的屏幕会闪烁,然后从Ubuntu中得到一个错误。 “统一设置-守护进程在g_assertion_message()中使用SIGABRT崩溃” 然后,我尝试打开统一设置“显示”面板。我得到了另一个崩溃和错误
浏览 0
提问于2016-05-23
得票数 1
3
回答
安装Hyperledger时出错
、
、
、
、
我一次又一次地犯同样的错误。我试着安装不同的npm版本,甚至更新了我的Ubuntu到18.04,但没有效果。我用来安装的命令是 npm install -g composer-cli@0.19 我所犯的错误是: 久尔!节点-v v11.3.0 久尔!node -v v3.8.0 久尔!不妙 节点-前回转错误!建置误差 节点-前回转错误!堆栈错误:未能执行'/home/akshay/.nvm/versions/node/v11.3.0/bin/node /home/akshay/.nvm/versions/node/v11.3.0/lib/node_modules/npm/node_m
浏览 3
提问于2018-11-29
得票数 0
2
回答
DCE是否有自己的linux内核堆栈,还是使用主机的linux内核堆栈?
、
我已经安装了DCE (预先定向代码执行模式)。我的问题是,当他们说DCE使用linux内核堆栈时,DCE是否有自己的linux内核堆栈,还是使用主机的linux内核堆栈?
浏览 7
提问于2016-10-04
得票数 0
回答已采纳
2
回答
任务的STACK_SIZE是否影响任务切换延迟?
、
如果我有两个任务,TASK_A和TASK_B。 堆栈大小TASK_A = 300 堆栈大小为TASK_B = 600 对TASK_A和TASK_B的上下文切换时间与它们各自的堆栈大小有任何依赖。
浏览 4
提问于2015-02-05
得票数 0
回答已采纳
2
回答
使用private_pub gem时出现“错误分段错误”
、
、
、
、
我正在尝试这个截屏视频中的代码。我从github上抓取了代码。但是,每当我尝试从应用程序发送消息时,faye服务器都会关闭,并给出以下错误: /home/jatin/.rvm/gems/ruby-1.9.3-p362/gems/thin-1.3.1/lib/thin/connection.rb:105: [BUG] Segmentation fault ruby 1.9.3p362 (2012-12-25 revision 38607) [i686-linux] (它还显示长控制帧信息和堆栈跟踪信息) ( rails服务器一直运行良好) 我怎样才能摆脱这个错误?
浏览 5
提问于2013-01-02
得票数 2
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux 切换用户
Linux切换目录之cd命令
linux基础04:linux用户相关的命令有哪些?怎样切换用户?
如何在 Linux 中切换相同程序的不同版本
展览《堆栈的地貌》Topographies of The
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券