Essay

2019-08-05  本文已影响0人  Wi1ls努力努力再努力
Base G Limit S Type DPL D/B P
/ 包含段首地址的线性地址 0:段大小字节为单位,否则以4096字节倍数计算 段的长度(G为0,则段大小1字节到1MB,否则4KB到4GB 0表示系统段,否则普通代码段或数据段 段类型和存储权限 特权描述级
用户代码段 0x00000000 1 0xfffff 1 10 3 1 1
用户数据段 0x00000000 1 0xfffff 1 2 3 1 1
内核代码段 0x00000000 1 0xfffff 1 10 0 1 1
内核数据段 0x00000000 1 0xfffff 1 2 0 1 1

union thread_union {
  struct thread_info thread_info;
  unsigned long stack[1024]; //4KB 
}
类型 字段 描述
int nr_active 链表中进程描述符的数量
unsigned long[5] bitmap 优先权位图。
struct list_head[140] queue 140个优先权队列头结点
Hash 表类型 字段名 说明
PIDTYPE_PID pid 进程的 PID
PIDTYPE_TGID tgid 进程组领头进程的 PID
PIDTYPE_PGID pgrp 进程组领头进程的 PID
PIDTYPE_SID session 会话领头进程的 PID
struct __wait_queue_head{
  //自旋锁
  spinlock_t lock;
  struct list_head task_list;
};
typedef struct __wait_queue_head wait_queue_head_t;
//队列元素
struct __wait_queue{
  unsigned int flags;
  struct task_struct* task;
  //唤醒方式
  wait_queue_func_t func;
  struct list_head task_list;
};
typedef struct __wait_queue wait_queue_t;
上一篇下一篇

猜你喜欢

热点阅读