2006年12月28日

摘要: Mpgv.c 是对mpeg vedio的解码部分,从demux开始,到sample到输出。其中,核心部分是函数ParseMPEGBlock。两种数据格式:video_format 是video的meta_data,block是实际的数据Code Path:Open()----->Modules/demux/Mpgv.c1)set function point. p_sys is main structurep_demux->pf_demux = Demux;p_demux->pf_control= Control;p_demux->p_sys = p_sys = mal 阅读全文

posted @ 2006-12-28 02:06 Teddy Yan 阅读(825) 评论(0) 推荐(0) 编辑

摘要: POSIX 是系统调用的————操作系统的标准程序只有通过门(gate)陷入(trap)到内核调用中去,实际上是通过0x80中断进入的0)概念:mode switch & context switch 前者简单,只是进行寄存器上下文切换page, frame, segment逻辑地址 = 选择子 : offset,选择子= 索引:TI:RPL GDT(Global Descriptor Table) & LDT逻辑地址到线性地址的转换中断,异常和陷入的区别1)堆栈的切换 SAVE_ALL,RESTORE_ALL, eax的重要性(指明了那个系统调用)2)sys_call_tab 阅读全文

posted @ 2006-12-28 01:56 Teddy Yan 阅读(241) 评论(0) 推荐(0) 编辑

摘要: 1)操作系统分为两种:micro kernel & monolithic kernel2)module 是在内核空间运行的程序。3)内核模块的编写:#include <linux/module.h>int init_module(void);void cleanup_module(void);4)实现机制4.1内核符号表 结构:内存地址 符号名称 [所属模块]4.2模块的引用计数器4.3模块的依赖关系4.3数据结构(根据以上三点构造的) /include/linux/module.h 模块名字和数据结构的相对位置4.4内核本身可以看作是一个名字为null模块,在系统启动的时 阅读全文

posted @ 2006-12-28 01:52 Teddy Yan 阅读(229) 评论(0) 推荐(0) 编辑


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