头像-47865

沃尔夫斯堡的羊

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

个人成就

获得 114 次赞

帮助过282人

从用户态进入中断和从内核态进入中断?

应用程序跑在Linux系统上,能否举个例子说明​,从用户态进入中断和从内核态进入中断?这里的“从用户态进入中断“和”从内核态进入中断”是指当时应用程序是运行在用户态 or 内核态?假如应用程序运行正常,这时外部硬件产生一个中断,这个中断是用户态中断 or 内核态中断?​

uboot引导Linux内核启动时,为啥在过程中需要通过bootm命令指定镜像位置

如题,在应用uboot引导Linux内核启动时,为啥uboot还要停下来提示需要手动输入bootm + 内核Image的加载位置?这些不是都在Uboot的配置脚本里配置好了么?uboot的作用的是啥?Linux启动不用bootloader行不行?

多核系统中,每个核都有IP,类似于局域网是怎么实现的

如题,多核系统SoC中每个核都有个IP是如何实现的?类似于局域网,如主核core是192.168.10.1,core1是192.168.10.2.......在SoC上集成了网卡?或是网络桥接技术,虚拟网卡?

Arm Linux操作系统中,设备树是否需要描述系统所有硬件的信息?设备被动态探测到是啥意思

如题,比如基于Arm平台的Linux操作系统,“设备树Device Tree是否要描述系统中的所有硬件信息?答案是否定的。基本上,那些可以动态探测到的设备是不需要描述的,例如USB device”,这里的动态探测是啥意思?操作系统自检?如是的话,不是可以检测到所有硬件设备?

Linux系统中,文件系统的作用?不同的文件系统存在的意义

如题,Linux系统中具有根文件系统,文件系统是Linux来管理相关文件的,其是磁盘上特定格式的文件块的集合,那么既然具有根文件系统,不就可以满足需求了么?为啥还要存在其它不同的文件系统,最后还要弄出个虚拟文件系统VFS?如何分别出LInux系统中具体文件是哪个文件系统下的?

Linux系统中,内核线程init是如何转变为用户态进程并进入用户态

Linux系统在启动过程中,在start_kernel()中最后调用rest_init()函数中,创建了init内核线程,执行”/init文件“,然后就请教:在内核态下执行/init文件后是如何进入用户态的?并变为用户态进程的?周知,从用户态进入内核态可以通过中断,然而,这个逆向从内核态进入用户态是怎样的一个机制?有没有大神给个图示,内核态栈和用户态栈之间的栈是如何转化的?

PCI/PCIe驱动开发中,MSI/MSI-X机制的作用是啥

如题,在Linux X86上调测PCIe驱动,遇到中断这块,一般是直接向中断控制器注册中断(包括中断号和事件号),可是这里为啥中间还多了个MSI-X的处理,处理之后才应用得到的Port号来在注册中断(向中断控制器),查资料MSI-X是通过中断消息来告知CPU的,So,经过MSI-X处理过的中断为啥还要经过中断控制器?其直接通知CPU的么?MSI-X的作用是啥?其EventID和PortID分别是指啥?

Linux系统用户态中进程中的线程会被调度抢占么?

周知,LInux系统中进程包含若干线程,线程又叫轻量级进程,那么在用户态下,Linux进程内部的线程,如用pthread库创建的线程,也可以叫执行流,或发生抢占,或者调度么?若是,是谁去调度它们,进程?另:在多核系统中,一个多线程的进程在某一时刻只能运行在一个Core上,那么进程内的线程是怎么运行的,按照什么机制运行的?可不可以在不同时刻,进程被操作系统调度运行在不同的核上,且运行的是不同的线程?