Linux内核设计与实现笔记(一).docxVIP

  • 0
  • 0
  • 约5.54千字
  • 约 16页
  • 2020-03-04 发布于广东
  • 举报
Linux内核设计与实现笔记(一) 第二章Linux内核 1 内核开发特点 1)内核编译时不能访问C库; 2)浮点数很难使用; 3)内核只有一个定长堆栈; 4)注意同步和并发。 第三章进程管理 1 current宏:查找当前运行进程的进程描述符。 2 进程状态(5种) TASK_RUNNING :1)正在运行;2)在运行队列中等待执行。 TASK_INTERRUPTIBLE:进程正在睡眠,可以被信号唤醒。 TASK_UNINTERRUPTIBLE:进程正在睡眠,不会收到信号被唤醒。 TASK_ZOMBIE:僵死态,进程已经结束,父进程未使用wait4()。 TASK_STOPPED 3 进程上下文 进程进入内核空间时,current宏依然有效,内核“代表进程执行”。 4 进程创建 1)fork():拷贝当前进程创建一个子进程。 2)exec():读取可执行文件并载入地址空间开始运行。 3)写时拷贝(copy-on-wrtie):推迟数据拷贝,在需要写入数据时,数据才会被复制。 4)vfork():不拷贝父进程的页表项,子进程作为父进程的一个线程在它的地址空间运行,父进程被阻塞直至子进程退出,子进程不能向地址块空间写入数据。 5 线程 Linux把所有的线程都当作进程来实现。 6 内核线程:独立运行在内核中的标准进程。内核线程没有独立的地址空间,只能在内核空间中运行,创建内核线程用k

文档评论(0)

1亿VIP精品文档

相关文档