小编San*_*yal的帖子

如何在Linux内核中启动init进程?

我试图了解linux内核中的init进程,这是第一个进程,并使用INIT_TASK宏进行静态初始化.

    161 #define INIT_TASK(tsk)  \
    162 {                                                                       \
    163         .state          = 0,                                            \
    164         .stack          = &init_thread_info,                            \
    165         .usage          = ATOMIC_INIT(2),                               \
    166         .flags          = PF_KTHREAD,                                   \
    167         .prio           = MAX_PRIO-20,                                  \
    168         .static_prio    = MAX_PRIO-20,                                  \
    169         .normal_prio    = MAX_PRIO-20,                                  \
    170         .policy         = SCHED_NORMAL,                                 \
    171         .cpus_allowed   = CPU_MASK_ALL,                                 \
    172         .nr_cpus_allowed= NR_CPUS,                                      \
    173         .mm             = NULL,                                         \
    174         .active_mm      = &init_mm,                                     \
    175         .se             = {                                             \
    176                 .group_node     = LIST_HEAD_INIT(tsk.se.group_node),    \
    177         },                                                              \ …
Run Code Online (Sandbox Code Playgroud)

linux linux-device-driver linux-kernel embedded-linux

7
推荐指数
1
解决办法
1万
查看次数

为什么软件中断在硬件中断时不允许睡眠?

为什么我们可以在软件中断的情况下睡觉,而在硬件中断的情况下是不允许的?例如,系统调用可以睡眠,而ISR无法睡眠.

linux device-driver linux-device-driver linux-kernel

2
推荐指数
1
解决办法
526
查看次数