腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
C#切换/中断
当前问答内容不符合相关政策法规,无法提供答案,请修改问题后重试。
相关搜索:
Android:切换输出源,不中断音乐播放
c# Android - ISurfaceTextureListener线程中断,活动关闭后恢复
C# MVC5 Upgrade中断了Javascript加载
C#应用程序处于中断模式
C#循环 - 中断与继续
C#:从SqlDataReader填充具有中断能力的DataTable?
Linux下CPU如何切换到中断栈
linux用中断切换进程
onclick函数中断,而不是切换到新的css类
WHy a常量字符中断循环和切换语句
相关搜索:
Android:切换输出源,不中断音乐播放
c# Android - ISurfaceTextureListener线程中断,活动关闭后恢复
C# MVC5 Upgrade中断了Javascript加载
C#应用程序处于中断模式
C#循环 - 中断与继续
C#:从SqlDataReader填充具有中断能力的DataTable?
Linux下CPU如何切换到中断栈
linux用中断切换进程
onclick函数中断,而不是切换到新的css类
WHy a常量字符中断循环和切换语句
页面内容是否对你有帮助?
有帮助
没帮助
相关·
内容
文章
问答
视频
沙龙
2
回答
异步非阻塞IO客户端是如何工作的?
、
、
、
我很想知道客户端是如何工作的,比如Java的AsyncHttp客户端或C#的异步Web请求特性,基本上,底层代码是如何确保线程不会仅仅等待IO操作的结果的。 我猜是机器中断了。但我不知道它们在C#或Java等高级语言中是如何工作的。
浏览 0
提问于2013-07-04
得票数 2
回答已采纳
1
回答
真正的内核如何切换上下文
到目前为止,我知道有几种方法可以中断执行线程并将上下文交换到另一个执行线程。但是当内核从硬件接收到中断并且当前代码停止执行时。内核如何将上下文切换到另一个线程。它是否也调用简单的C例程来执行此操作?或者它必须执行自定义汇编代码才能实现这一点? 假设此内核在单处理器系统上运行。我只在用户空间处理过操作系统的概念,所以我不太清楚内核代码是如何在较低的层次上工作的。 注意:如果您想在现有内核(可能是Linux)的上下文中解释这一点,请继续!我知道我的措辞有点模棱两可。 谢谢!
浏览 0
提问于2015-12-26
得票数 0
2
回答
中断是如何在实践中实现的?
、
、
考虑通过无线网络接收数据的USB设备,运行在PC上的应用程序正在读取这些数据。现在,在许多语言(考虑C# DataReceived)上,我们有了事件处理机制来检测数据是否已经到达。 我的问题是,这个事件检测机制是如何实现的? 它是一个运行的计时器,定期检查数据的到达情况,还是硬件必须支持的东西? 一般来说,硬件状态事件中的这些更改是如何实现的?
浏览 0
提问于2011-11-29
得票数 0
1
回答
Linux内核如何从内核堆栈切换到中断堆栈?
、
、
、
当用户模式任务被中断时会发生什么?我知道的一个事实是,CPU通过重构TSS切换到内核模式堆栈。但是内核何时以及如何切换到IRQ堆栈呢?
浏览 0
提问于2018-12-29
得票数 1
2
回答
除非我首先清理/重新构建解决方案,否则Visual 2012不会应用更改
、
、
、
、
我在Visual 2012中偶然发现了一个非常烦人的问题。场景:我正在用C#开发Windows 8应用程序,并使用Telerik RedControls向导。如果我对XAML应用更改并按F5 / Build and Launch /启动模拟器或设备,它将不会反映我所做的更改。为了使更改显示出来,在启动项目之前,我必须先使用Clean或Rebuild。 没有Telerik的空项目(C# / WP8)似乎不会发生这种情况,但在过去的其他项目中也发生了同样的问题,可能它可能与引用DLL有关,但在引用DLL时也不总是发生这种情况(SQLite似乎不会在前一个项目中引起问题)。 浏览网络时,我尝试了在S
浏览 4
提问于2013-09-13
得票数 10
回答已采纳
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
1
回答
C#当托管线程结束其时间片时,它会引发上下文切换吗?
、
、
在Russinovich的书中,它说线程(注意:这是关于OS线程)将需要调度(调度),如果它准备好了,b)结束它的时间,产量或块。 我在我的C#实时应用程序中有一个托管线程,这对于实现尽可能少的上下文切换非常重要。 这个线程具有最高优先级,进程具有RealTime优先级,这使得我的线程OS在31个线程中有26个优先级。 当我的线程结束它的时间和时会发生什么?没有优先级为>= 26的等待线程? 将有一个上下文开关来重新安排我的线程重新运行,或者避免上下文切换,并且线程将不被中断地运行? 如果有上下文切换,谁能告诉平均需要多少个CPU周期? 我会感谢简单和确定的答案! 谢谢!
浏览 5
提问于2010-06-20
得票数 3
回答已采纳
2
回答
中断处理程序中的上下文切换
、
当中断处理程序正在执行时,为什么上下文切换不能发生?更具体地说,在linux内核中,中断处理程序在被中断的进程的上下文中运行。为什么不能在中断处理程序中进行上下文切换来调度另一个进程?
浏览 1
提问于2011-01-19
得票数 8
回答已采纳
1
回答
VS 2015 RC在尝试编辑解决方案中的文件时冻结。
、
、
有一个VS 2015 RC的实例。使用Git和TFS。昨天,我尝试了一个同步,不知道我现在离线。能够恢复网络连接和同步。在此之后,每次我尝试编辑(文本编辑器)一个文件(C#)与冻结输入第一个字符。 我可以将文件添加到解决方案中,但仅此而已。 有什么想法吗? 谢谢!
浏览 5
提问于2015-05-13
得票数 0
2
回答
Webdriver、CSharp、C# -无法在窗口之间切换
、
、
、
、
当我尝试在C#中使用最新版本的webdriver切换窗口时,我卡住了。 我有一个基本窗口,当我点击一个按钮时,它会打开一个新窗口。 该按钮的目标代码如下所示。 window.open(uri, "DisplayPage", " width=1200, scrollbars=yes , resizable = yes , toolbar = no , menubar = no"); 我正在使用下面提到的代码来定位新窗口 string BaseWindow = _driver.CurrentWindowHandle; ReadOnlyColle
浏览 2
提问于2012-04-24
得票数 5
1
回答
在ARMV7A处理器的用户模式下启用中断
、
、
、
我试图使能Cortex单片机( ARMv7A -A8)的中断,但我注意到无论我如何尝试,都无法在用户模式下更改CPSR寄存器中的i位。我到处看了看,似乎这是因为我处于USR模式。 调用SWI并在SWI处理程序中更改SPSR是唯一的解决方案吗?
浏览 0
提问于2017-09-21
得票数 2
4
回答
查找c#异常处理程序
、
我正在编写一些相当复杂的C#代码。我发现我的代码抛出了一个异常(在输出窗口中注明),但是调试器没有插入。在用户未处理的CLR异常上,我确实有要中断的异常集。 由于调试器没有插入,我假设在调用堆栈中的某个地方一定有try{}。 问题是,我找不到它。 如何找到抛出异常的这行代码的异常处理程序?
浏览 1
提问于2010-07-27
得票数 2
回答已采纳
1
回答
定时器有多少资源?
、
、
、
、
假设每1秒就会触发一个计时器来执行某个任务,而这并不是CPU密集型的任务。 计时器本身的资源繁重性是什么? 与C#透视图相关: [注意:如果有人想从信号/插槽的角度回答,也要加上标记。]
浏览 7
提问于2022-11-23
得票数 0
1
回答
调试从c#到c++/cli再到c++的函数调用不起作用
、
、
、
、
我有一个用c#编写的测试应用程序,它用c++/cli调用一个函数。 然后c++/cli函数调用c++代码中的函数。 我有三个项目: 调用c++/cli代码的c#项目。 包装c++代码的c++/cli项目。 然后所有的构建ad debug。 在c#中,我有一个这样的代码: var myFile=MyFileWrapper.MyFileWrapper.ReadMyFile(@"C:\tmp\MyFile.bin"); 在c++/cli中,我有如下代码: MyFileWrapper^ MyFileWrapper::ReadMyFile(System::String ^fileName
浏览 0
提问于2013-06-19
得票数 2
回答已采纳
3
回答
避免对c#中的代码段进行调试和调用堆栈
、
、
在Delphi中,编译器指令{$d-}和{$l-}允许您有效地避免为已定义的代码段生成调试和局部变量信息。 在实际情况中,如果代码可以从调试视图中“隐藏”出来,那么它就不会出现在调用堆栈中,并且您也不会在调试时进入它。 有没有办法在使用VS2008的c#中达到同样的效果? 注意:原因是我们有一个稳定的框架,它不需要调试,但容易与调用堆栈和标准调试流程打乱。
浏览 0
提问于2011-01-18
得票数 4
回答已采纳
2
回答
在什么情况下控制从用户空间传递到Linux内核空间?
、
、
我试图了解哪些事件会导致从用户空间到linux内核的转换。如果相关的话,这个问题的范围可以限制在x86/x86_64体系结构上。 以下是我所知道的一些过渡的来源: 系统调用(包括访问设备)将导致上下文从用户空间切换到内核空间。 中断将导致上下文切换。据我所知,这也包括调度器抢占,因为调度器通常依赖一个定时器中断来完成它的工作。 信号。似乎至少有一些信号是使用中断实现的,但我不知道有些信号的实现方式是否不同,所以我将它们分别列出。 我想问两件事: 我是否遗漏了任何用户空间->内核路径? 在这些上下文切换中涉及的各种代码路径是什么?
浏览 4
提问于2015-07-23
得票数 7
回答已采纳
1
回答
当中断发生时,进程状态保存在哪里?
当一个进程正在执行并且发生中断时,该进程的当前状态保存在哪里?是否更新了进程控制块,或者只是将信息推送到内核堆栈?
浏览 2
提问于2016-02-29
得票数 1
1
回答
硬件中断使用哪个堆栈?
、
、
我不太理解x86_64中的中断堆栈切换机制。根据英特尔的开发人员手册,当硬件中断发生时,当前上下文将存储在中断堆栈上,供以后使用。我有以下问题: 是Linux内核中的堆栈hardirq_stack吗?如果是的话,softirq也会使用这个堆栈;那么当处理softirq时发生中断时,堆栈如何保持一致性呢?如果不使用,那么使用哪个堆栈?只将上下文的一部分保存在堆栈上(例如RSP、CS、RIP),另一部分(例如寄存器)呢?
浏览 4
提问于2021-10-29
得票数 2
1
回答
如何利用Arduino纳米V3产生500 V3和700 V3脉冲?
我想用arduino纳米v3同时产生500毫秒和700毫秒脉冲。我如何准确地做到这一点,同时也能从热敏电阻中读出温度?
浏览 0
提问于2016-07-08
得票数 0
回答已采纳
1
回答
中断时的进程信息:堆栈或进程控制块
、
、
、
、
我正在学习一门操作系统课程,我们有一章是关于进程的。在本章中,我们定义了进程控制块,它保存了进程的相关信息,如程序计数器、寄存器的内容、状态、优先级等。在本章中,说明了当处理器切换到另一个进程(通过中断)时,信息将保存在该进程控制块(PC、寄存器等)中。在另一章(1.4中断)中,它说当一个进程被中断时,PSW,PC和寄存器被放到堆栈中,当处理器重新控制这个进程时,它从堆栈中取出它。 这里似乎有两种不同的解释来解释当中断发生时会发生什么。它们是同时发生的还是什么?有人能给我解释一下吗? 提前感谢砂光机
浏览 2
提问于2014-05-30
得票数 0
1
回答
在vb.net中关闭异常时自动停止
、
、
我的同事安装的visual studio 2008每次出现异常都会中断,而我的则不会。 我们一直在寻找如何阻止他这样做,但一直没有任何运气。唯一的区别是我的是为C#初始化的,而他的是为VB初始化的。 除了在VS2008第一次设置环境时重新安装并选择“为C#优化”的选项之外,有人知道如何修复这个问题吗? 谢谢。
浏览 2
提问于2011-11-06
得票数 4
回答已采纳
1
回答
如果CPU在SMP基础结构中的利用率达到100%,会发生什么情况?
、
、
我有一个有4个CPU的web服务器,它断断续续地遇到了数据包丢失。最后,我们将所有应用程序和数据转移到另一个具有8个CPU的系统中。我们这样做是因为我们发现除了平均CPU利用率持续上升到80%这一现象外,没有什么是错误的。 在故障排除过程中。我检查了/proc/interrupts文件,中断被修复到CPU 0。还发布了"mpstat -p ALL“以查看每个CPU的使用情况。在我们检查的时候,没有一个是100%。 尽管如此,只有平均CPU利用率上升到100%,但是其中任何一个都有可能达到100%,因为我们没有使用监控系统定期收集CPU利用率。相反,它只是使用命令进行检查。在换到一个新的
浏览 0
提问于2017-06-24
得票数 3
1
回答
IA32 IDT和linux中断处理程序
、
、
、
在IDT中,每一行都有一些名为"DPL“的位--描述符特权级别,内核为0,普通用户为3(可能还有更多级别)。我不明白两件事: 这是运行中断处理程序代码所需的级别吗?或者触发导致它的事件?因为system_call有DPL=3,所以在用户模式下我们可以做“int0x80”。但是在linux中,只有内核处理中断,所以我们可以触发事件,但不能处理它?即使我们有正确的CPL。 在linux中,只有内核处理中断,但是当中断(或陷阱)发生时,什么使我们进入内核模式? 对不起任何错误,我对所有这些东西都是新手,我只是试着去学习。
浏览 5
提问于2015-06-28
得票数 1
1
回答
操作系统调度程序如何返回?
、
、
、
、
我正在为即将到来的操作系统开发一个简单的内核。我已经开发了一切直到调度程序。我想知道调度程序是如何进入它的周期的。 例如, 计时器中断启动。 处理程序调用调度程序。 调度程序跳过队列中的下一个进程。 中断必须返回(IRETD) 但是,如果调度程序必须跳转到下一个进程,那么中断何时返回。如果是的话,会不会回到最后一个过程。 我想要澄清--定时器中断是如何从调度器返回的,调度程序如何与定时器中断通信(如果使用函数调用,那么它什么时候返回)? 假定-单片核
浏览 5
提问于2017-01-30
得票数 0
回答已采纳
2
回答
理解在中断处理程序中运行程序的概念
、
早期运行IOS操作系统的Cisco路由器通过在中断处理程序中而不是在“常规”操作系统进程中进行数据包交换来提高其数据包处理速度。在中断处理程序中进行分组处理确保操作系统内的上下文切换不影响数据包处理。据我所知,中断处理程序是操作系统中用于处理中断的一种软件。如何理解在中断处理程序中进行分组交换的概念?
浏览 4
提问于2014-01-30
得票数 2
回答已采纳
3
回答
dispatcher和context switcher之间的区别?
、
我现在正在学习操作系统。我知道上下文切换器负责切换CPU运行的进程。它还可以保存和恢复进程的状态,以便以后可以恢复执行。但是,我不是很理解调度员..它负责什么? 谢谢
浏览 1
提问于2015-09-27
得票数 1
1
回答
中断:进程上下文保存在PCB或内核堆栈中?
、
、
、
、
我搜索并阅读了几个类似的问题,但仍然不明白: PSW是一组处理器标志(进位、溢出等)。我的书说,当一个中断产生时,PSW和PC被保存在控制堆栈上,中断处理程序开始,最后CPU状态被恢复:所有剩余的寄存器,例如用户寄存器?作者是简单地忘记了它们还是根本没有被拯救? 为什么PSW和PC保存在控制堆栈上,而不是保存在PCB上(在那里可以保存所有处理器寄存器)? 我可以理解系统调用何时执行(这是一个同步中断):处理器切换到内核模式,并在内核堆栈上工作。但是,时钟中断何时发生,操作系统决定切换到另一个进程?在这种情况下,必须使用PCB而不是正确的堆栈? 我的结论是,一些中断可以通过内核区域中的一个单独
浏览 4
提问于2021-11-28
得票数 0
2
回答
从ISR-ARM926EJ-S核FreeRTOS非上下文切换
、
、
、
我试图在freeRTOS之上实现Jpeg编码设置。主要任务初始化捕获单元。 void Video_SNAPThread(void* pvParameters) { while (1) { capture_startSNAP(); /* SNAPSHOT Capture - Encode API*/ vTaskSuspend(xHandleSNAP); /* Task Suspend - within context*/ } } capture_start函数配置传感器参数并启动捕获单元,该捕获单元在每个帧的末尾触发回
浏览 7
提问于2016-11-09
得票数 0
回答已采纳
1
回答
kvm客户如何访问ARM中的虚拟计时器
、
、
、
、
支持硬件虚拟化的ARMv7体系结构还包括对定时器和中断控制器的虚拟化支持。 我想知道来宾如何在这个虚拟化环境中访问虚拟计时器? 是否就像当客人试图访问虚拟计时器时,它(来宾KVM)会将虚拟中断(Kvm_vgic_inject_irq)注入到vgic代码中吗? 有谁能在ARM中提供客人访问虚拟计时器的详细信息? 编辑 我正在尝试理解源流从点客访问虚拟计时器。根据我的理解 当KVM来宾试图访问(读取VTimer刻度/计数)时,它将通过ach_timer.c向vgic代码注入虚拟中断。 kvm_timer_inject_irq()
浏览 8
提问于2015-08-07
得票数 0
回答已采纳
1
回答
如何取消(而不是终止) boost线程?
、
我喜欢C# CancellationTokenSource,它允许我终止Task,如所示。 取消boost::thread的类似算法是什么?我不想“杀死”或“终止”线程。相反,我想“请求”完成任务。然后我需要等到任务完成。
浏览 0
提问于2013-09-26
得票数 2
2
回答
写入Windows 7“预览”窗口区域
、
、
、
如何使用C#在Windows7预览区中编写或绘制控件?例如,在Windows7中打开Windows Media Player并播放一首歌曲。播放歌曲时,最小化Windows Media player,然后将鼠标悬停在Windows Media Player图标上,您将在实际的Media Player预览窗口下方看到一个暂停、后退和快进按钮。如何在C#中复制这种行为?
浏览 2
提问于2010-09-04
得票数 2
回答已采纳
1
回答
如何在android中使用ToggleButton启动和停止线程?
、
、
目前,我正在使用Arduino开发空气质量监测设备的原型。该设备集成了三个气体传感器,将通过HC-05蓝牙模块将数据发送到我的android应用程序。我能够实时接收这些值,并将其显示在屏幕上,同时还可以将其保存在SQL数据库中。 我遇到问题是,当我实现一个切换按钮来捕获数据时,这样用户就可以将数据保存到数据库中。为了实现这一点,我必须使用线程每5秒保存一次数据,并计划使用切换按钮启动和停止线程。但是我的代码没有工作,每次我按下切换按钮,它就开始将数据保存到数据库中,但当我停止切换按钮时,它就不工作了。即使我已经关闭了切换按钮,线程还是会继续运行。 我对JAVA和Android编程非常陌生,请帮
浏览 15
提问于2017-09-28
得票数 0
2
回答
为什么Thread.interrupt()会这样呢?
、
这是对有关并发的Java教程中代码的修改 package threads; public class SimpleThreads { static void threadMessage(String msg) { String threadName = Thread.currentThread().getName(); System.out.format("%s: %s%n", threadName,msg); } private static class MessageLoop implements Runnable{ @Override publi
浏览 0
提问于2009-11-27
得票数 3
回答已采纳
1
回答
在x86软件中断期间,什么时候才能进行上下文切换?
、
、
、
、
我问这个问题是因为我试图在我的玩具内核中实现中断。因此,我知道当中断发生时,CPU会将各种信息推送到堆栈上。然而,无论我在哪里搜索,网上都会按不同的顺序显示不同的信息。我还知道,如果中断发生在用户模式(第3环),CPU必须切换到内核模式(环路0)才能执行ISR。我认为这与TSS、ss和esp有关,但我不确定。我在网上读过各种不同的解释,其中任何一个都没有统一的地方。 所以,我的问题是,在中断期间,() CPU按照什么精确的顺序将数据推送到堆栈上,以及在什么时间点通过TSS进行上下文切换,这会如何影响被推送到堆栈上的数据(如果有的话)? 到目前为止我从研究中学到的东西(如果错误的话纠正我的话):
浏览 4
提问于2016-06-27
得票数 2
回答已采纳
2
回答
使用硬件定时器是实现进程调度的唯一方法吗?
、
、
、
、
我读过,操作系统使用以下方法实现调度: CPU必须有一个硬件计时器,它每隔X毫秒就触发一个中断。 一旦计时器中断触发,定时器中断处理程序将执行指令,这些指令将使CPU开始执行另一个进程(或另一个线程,我想我应该这么说)。 我的问题是:我刚才描述的方法是实现调度的唯一方法吗?
浏览 1
提问于2017-05-14
得票数 2
回答已采纳
1
回答
来自linux内核的schedule()+switch_to()函数是如何工作的?
、
我试图了解linux内核中的调度过程实际上是如何工作的。我的问题不是调度算法。这是关于schedule()和switch_to()函数是如何工作的。 我会尽力解释的。我看到了: 当进程耗尽时间片时,need_resched标志由scheduler_tick()设置.内核检查标志,查看是否设置了标志,并调用schedule() (与问题1相关)切换到新进程。此标志是一条消息,即应该尽快调用计划,因为另一个进程应该运行。在返回用户空间或从中断返回时,将检查need_resched标志.如果设置了它,内核将在继续之前调用调度程序。 看看“,第二版”一书所基于的内核源代码(Linux2.6.10-版本
浏览 2
提问于2011-06-29
得票数 31
2
回答
如何在Windows phone7中获取MP3 flux?
我试过这个代码,但它不起作用: <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <MediaElement Height="120" HorizontalAlignment="Left" Margin="-12,148,0,0" Name="mediaPlayer"
浏览 0
提问于2011-08-02
得票数 0
2
回答
免费的RTOS上下文切换
、
我是一个RTOS编程的初学者,我对此有一个疑问。 Query:我知道上下文切换是根据分配的优先级在不同的任务之间进行的。我想知道从技术上讲,高优先级任务是如何中断低优先级任务的?是否将每个任务分配给硬件中断引脚,以便每当微控制器在该引脚上被外部硬件中断时,如果与当前正在处理的任务相比,为特定任务分配了更高的优先级,则会处理该特定任务?但实际上,如果程序中存在128个任务,则可能需要为中断保留7个硬件引脚。我遗漏了什么逻辑?
浏览 5
提问于2021-03-09
得票数 0
2
回答
中断和上下文切换
、
、
、
我正在阅读一些有关OS实现的论文和源代码,并对此提出了一些问题。在github上的一些操作系统中,上下文切换是在来自定时器中断的中断处理中进行的。它们保存寄存器rbx, r12, r13, r14, r15, rbp和rsp,并从下一个线程的保存状态中恢复这些寄存器。 这些线程开关是在调用iret之前在计时器中断处理例程中完成的。我的问题是:当所述寄存器被中断处理程序恢复时,为什么调用iret?在切换线程时,下一个线程将立即启动--还是在使用iret调用完成中断处理程序之后启动?
浏览 4
提问于2017-06-16
得票数 0
回答已采纳
1
回答
为什么软件中断会将进程的中断线设置为高电压
、
、
、
、
我了解到,每当硬件中断发生时,它会将处理器的中断线设置为高电压(或低电压,取决于处理器体系结构),以使cpu停止正在做的事情,并为中断请求提供服务。但是为什么在软件中断的情况下也会发生同样的事情。我的意思是为什么要将处理器的那些中断引脚设置为高电压,为什么OS不能将软件中断作为函数调用来处理,例如执行以下步骤: 1.保存当前状态,2.使用中断服务的内存地址加载指令指针routine.Why软件中断需要降到那么低才能得到服务吗?
浏览 1
提问于2015-12-31
得票数 1
2
回答
操作系统如何与CPU通信?
、
操作系统如何与CPU通信? 操作系统中有驱动程序,好的,我理解这一部分。操作系统使用驱动程序-->通信-->设备控制器。 这种交流是如何发生的?操作系统是直接使用其命令来接触CPU,还是使用BIOS作为接口? 让我们假设我将创建自己的操作系统。它唯一的任务是将算术运算发送到CPU,并将结果打印到屏幕上。我将告诉CPU将内存字放入寄存器,对它们进行计数,然后将它们放回内存中。我该怎么做呢?
浏览 4
提问于2014-05-26
得票数 5
回答已采纳
1
回答
如何在Atemga128中使用计时器/计数器2...?
我有一个问题,使用定时器/计数器02,我使用Atmega128的8位处理器,它有16兆赫的晶体。我知道如何使用Timer00,但我不会使用Timer02 我了解到定时器00和02是如此相似。 下面是我的简短代码..请参阅代码..我需要你的帮助。 谢谢 #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 16000000UL #include <avr/delay.h> #define FALSE 0 #define TRUE 1 /*COUNT VARIABLE, SWITCH VAR
浏览 0
提问于2018-10-03
得票数 0
1
回答
多核Linux内核中的上下文切换
、
、
如果需要在多核处理器机器的多个内核上并行执行多个上下文切换,Linux内核是否会同时执行多个上下文切换?有什么参考资料吗?
浏览 1
提问于2013-05-29
得票数 1
2
回答
用户模式与主管模式
、
我有几个关于类Unix机器上的用户模式和管理模式的问题。 用户模式和主管模式有何不同?我知道用户进程不能访问所有内存和硬件并执行所有指令。还有更多的内容吗? 拥有不同模式的优势是什么? 从用户模式切换到主控模式需要执行哪些步骤? 当用户程序进行系统调用时,模式必须从用户模式更改为管理模式。我在其他地方读到过,这是通过使用int x80在x86机器上实现的。那么,模式切换与中断处理有什么不同呢? 它与上下文切换有什么不同? 如何在不同架构中实施主控引擎模式? 任何答案或指示将不胜感激!
浏览 3
提问于2009-01-26
得票数 3
1
回答
RTOS与通用操作系统ISR的区别
、
、
我正在学习ISR,但是我找不到RTOS与通用操作系统的中断服务例程之间的区别。如果有的话,谁能解释一下他们之间的区别吗?
浏览 7
提问于2017-03-30
得票数 1
回答已采纳
1
回答
在8051中设置定时器中断,卡住
、
、
、
嗨,我正在尝试在8051的定时器3上设置一个溢出定时器中断。代码卡在中断例程中。我使用的是2511F32 (wixel) 以下是中断设置代码: { ...... T3CTL |= 0xE0; // set prescaler to tick frequency / 128 (DIV) bits 7:5 T3CTL |= 0x04; // Clear counter value (CLR - bit 2) T3CTL |= 0x00; // Timer mode set to free runn
浏览 8
提问于2013-02-12
得票数 0
1
回答
在硬件I/O期间,抢占是如何工作的?
、
假设我有一个使用SPI或其他通信协议与运行Linux的计算机对话的设备,例如Raspberry Pi。为了使此通信成功,不允许中断,因为否则将错过发送或接收数据的时间窗口。然而,Linux不正是这样做的吗?中断进程并执行上下文切换以运行下一个进程?如果由于某种原因,在我描述的情况下没有发生这种情况,为什么不呢?为什么桌面没有被冻结呢? 此外,我们如何保证当时钟信号高或低时,对等方会准确地写入/读取数据?当时钟发生变化时,如果对等方正在做其他事情,而不是监视时钟,该怎么办?即使在Arduino中,当Arduino可能在做其他事情时,通过串行方式保存在缓冲区中的数据又是怎样的呢?
浏览 0
提问于2020-11-21
得票数 1
回答已采纳
3
回答
linux如何同步抢占计数
、
我只是在尝试获取linux源代码。我看到了抢占计数,linux如何确保抢占计数是原子的?代码只是递增该值。 另外,我还有一个问题。为什么中断句柄需要保持互斥。因为一次只能执行一个,对吧? 另外,当中断被禁用时,操作系统会做什么?忽略中断或维护队列?
浏览 1
提问于2010-09-03
得票数 6
回答已采纳
1
回答
CPU如何定位内核堆栈,以便在中断处理期间将寄存器推送到内核堆栈上?
、
、
线程用INT 80诱捕内核;中断门用于更改特权环和CS:RIP;旧值被推送到“堆栈”。 我发现了这个: ‘当线程进入内核时,用户模式堆栈(SS:ESP)和指令指针(CS:EIP)的当前值被保存到线程的内核模式堆栈中,CPU切换到内核模式堆栈--使用int$80 syscall机制,这是由CPU自己完成的。剩下的寄存器值和标志也保存到内核堆栈中。’ 为了做到这一点,CPU如何知道线程内核模式堆栈的地址?我唯一能想到的存储线程内核模式堆栈指针的地方是在TCB中,但是CPU如何知道如何定位当前线程的TCB。它指的是固定和已知地点的单一TCB吗?
浏览 0
提问于2018-11-17
得票数 1
回答已采纳
1
回答
为什么在linux和unix的情况下,中断的服务方式存在设计上的差异?
、
、
、
在Maurice的“Unix操作系统的设计”()一书中,提到中断是在运行过程的上下文中服务的,因为它不会产生一个新的进程来服务中断。 因此,在Unix中,处理器正在执行以下两件事情中的一件: 1.在用户空间中,在进程2中执行用户代码。在内核空间中,在进程上下文中,代表特定进程执行。 但是,在许多操作系统(包括Linux )中,中断处理程序并不在进程上下文中运行。相反,它们运行在与任何process.This特殊上下文无关的特殊中断上下文中,只允许中断处理程序快速响应中断,然后退出。 因此,在Linux中,处理器正在做以下三件事情中的一件: 1.在用户空间中,在进程2中执行用户代码。在内核空间中
浏览 2
提问于2016-04-28
得票数 1
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
【C#】委托
C#编程概述
豆瓣怎么切换账号?豆瓣切换账号教程
c#编程基础
如何学好C#?
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券