头像-47865

沃尔夫斯堡的羊

  • 10南京市
  • 单片机、嵌入式、DSP、模拟技术、传感器/MEMS
  • 消费电子、通讯广播、计算机网络

个人成就

获得 114 次赞

帮助过282人

多任务操作系统中,处于死循环的任务不能被调度出去

如题,多任务操作系统中,处于死循环的任务不能被调度出去,从而一直占用CPU引起其它任务得不到运行?这样就会引发问题?

Linux内核,其用户态应用pthread库,用户态驱动

Linux内核,其用户态应用pthread实现多任务/线程,​类似于一般的嵌入式实时操作系统如ucOS,这样一些外设的驱动放在用户态,,调用的时候就好像单片机开发一样直接调用,而没有传统中Linux开发中调用内核驱动需要按照文件操作一样,这样做可以么?如果这样可以的话,那么内核中的那些驱动又有什么区别呢?

Linux用户态下的进程感知不到中断,那如果产生中断时,如何从用户态转入到内核态?

Linux系统中,由用户态切换到内核态大体上来说由2种方式1)系统调用;2)中断和异常[其实系统调用也是一种中断],且根据特点可以总结为系统调用是用户态进程主动进行的,而中断和异常则是用户态进程“被打断”被动进行的,而又用户态进程是无法感知中断的,那么问题是既然用户态进程感知不到中断,那么当中断来临时,用户态进程是怎么切换进入到内核态的?还是因为别的机制,比如内核(操作系统)程序一直在运行(监控着”中断‘),当内核收到中断时,是其进行状态切换,将用户态进程切换出去,换成内核进程(其实整个内核代码就是一个进程)在其中执行内核中断处理流程?

Linux内中普通进程的调度器CFS在进行进程调度时,时间片以什么为参考?

如题,Linux内中普通进程的调度器CFS在进行进程调度时,按照进程的虚拟时间,这个时间片以什么为参考?系统时钟?如果测量的话该怎么测量?

嵌入式系统中,程序运行出现异常后,对异常进行处理后还能接着按照正常流程运行么

嵌入式系统中,程序运行出现异常后,对异常进行处理(比如打印出告警码)后,还能接着按照正常流程运行么?有没有这种可能,而不是跑飞或者跑死复位?

嵌入式系统(单板)复位的表现情形和程度区别?reboot?

嵌入式系统(单板)复位的表现情形?比如,在跑Linux的arm开发板上敲“reboot”这种情形下单板的复位会断电么,然后再上电,其状态恢复到初始状态,比如内存DDR清0,寄存器清0?而看门狗复位是指没有断电上电的过程,只是程序从头开始执行,其它的没恢复到初始始状态?

Linux的用户态和内核态本质区别是啥?在处理器上如何设置或界定的?

Linux系统的用户态和内核态的本质区别是啥?是硬件上的,比如X86架构存在特权级别,用户态运行在level3(CPL),内核态运行在level0,而Arm(Arm v8)用户态运行在EL0内核运行在EL1如何设置才能将某程序(内核代码)运行在某一个特权级别上的,?记得Arm中好像可以设置寄存器来实现EL切换?特权级间的切换过程是怎么样的?是软件配置寄存器后硬件来完成?还有如果自己写个简易的操作系统,也打算区分用户态和内核态,该如何操作?亦或修改或移植已有的成熟嵌入式实时操作系统,实现特权级别?

ARM嵌入式实时操作系统中,程序运行异常的后果?

在Arm Cortex-A7上跑实时嵌入式操作系统,有多个任务,如果此时程序出现异常,程序或主任务还能继续运行下去么?为什么发现有时候会直接跑死?有时还能运行下去,记录的打点变量在累加?