2006年12月24日

摘要: 输入模块的Code Path,看来主要的分析还是在demux和access模块的分析。现在的code path只是大致的模块input_CreateThread2 ---> Create() ---->Run() ---->Init() vlm.c input.c input.c input.c ---->input_EsOutNew() input.c ---->[1]InputSourceInit input.c 1)-->demux2_New --->__demux2_New -->module_Need( p_demux, "a 阅读全文

posted @ 2006-12-24 21:37 Teddy Yan 阅读(199) 评论(0) 推荐(0) 编辑

摘要: DOS,Mac使用硬中断,Linux使用软中断,在硬中断到来时处理任务调度(发出软中断)启动后的滴答数来统计——全局变量jiffies基本概念:系统调用:内核提供的,功能强大的一些函数。内核模式和用户模式:每个模式都有自己的堆栈,用户栈和核心栈。较低级别的进程不会影响其他进程地址空间:地址保护,每个用户都有核心进程的地址入口,但不能进入。只有进入系统调用后,才可以。通过,copy_to_user, copy_from_user()来交换数据bottom half,任务延迟处理机制。中断处理过程是不可被打断的,就是独占系统的top half 必须关掉中断运行,bottom half 可以打开中断 阅读全文

posted @ 2006-12-24 15:27 Teddy Yan 阅读(206) 评论(0) 推荐(0) 编辑

摘要: 1.内核初始化过程,所有的函数列表。P262.在用户态初始化阶段init程序在每个tty端口上创建一个进程以支持用户登陆。每个进程都运行一个getty程序的拷贝。getty负责验证口令,进入shell3.Shell的几大功能: 3.1 后台运行 if ((pid= fork() ==0) execv(buffer, arg); else{ if (is_back ==0) waitpid(pid,&status,0); } 3.2 I/O重定向 每个进程都在内核有自己的文件描述表(fileDescriptor) 用if (dup2(fd_out,STDOUT_FILENO)==-1) 阅读全文

posted @ 2006-12-24 15:26 Teddy Yan 阅读(336) 评论(0) 推荐(0) 编辑


Copyright © 2024 Teddy Yan
Powered by .NET 8.0 on Kubernetes