摘要:
时间记账 每一次时钟中断到来时,需要对当前运行的进程做一次时间记账,函数流程为: tick_sched_timer --> update_process_timers --> task_tick_fair --> entity_tick entity_tick首先调用 update_curr , 通 阅读全文
摘要:
在主机中执行 可能需要设置DNS地址,在/etc/resolv.conf中设置。 虚拟机设置 通过 启动虚拟机。 此时会在宿主机中创建一个tap网卡。 在宿主机中运行: 在虚拟机中运行: 可能需要设置DNS地址,在/etc/resolv.conf中设置 即可完成上网。 阅读全文
摘要:
全虚拟化 虚拟机启动参数: 虚拟机中运行: 宿主机中运行: virtio 虚拟机启动参数: 虚拟机中运行: 宿主机中运行: vhost net 虚拟机启动参数: 虚拟机中运行: 宿主机中运行: 阅读全文
摘要:
swtich:是一个多端口的bridge bridge/switch具有地址学习功能,能够自动知道该frame需不需要转发到其他port 用bridge连接LAN时,需要解决Frame flood 问题,通过Spanning Tree Protocol解决 Linux网桥初始化代码:br_init、 阅读全文
摘要:
在Intel i386 CPU中,提供了TSS与TR用于任务切换,但是Linux出于效率的考虑自己实现了任务切换。但Linux内核还是使用了TSS,用于完成系统堆栈空间的自动切换(从用户空间进入系统空间时的堆栈切换)。 进程调度与切换 三种不同应用的需求:交互式,批处理,实时 调度政策:内核为系统中 阅读全文
摘要:
X86 CPU对中断的硬件支持 中断控制器的功能:把设备的中断信号,转换为CPU能够明白的中断向量。 中断(interrupt)、陷阱(trap)、异常(exception) 中断向量表中的项为门(gate),中断发生时,必须先通过这些门,才能进入相应的服务程序。 通过中断门进入中断服务时,会将CP 阅读全文
摘要:
若要问构成一个“操作系统”的最重要的部件是什么,那就莫过于进程管理和文件系统了。 文件系统调用 VFS 具体文件系统 VFS文件系统与具体文件系统的连接通过:file_operations、inode_operations、dentry_operations、super_operations数据结构 阅读全文
摘要:
主要函数以及数据结构 内核地址空间中,虚拟地址与物理地址之间的转换函数: pgd、pud、pmd、pt表中的数据结构: page frame到page结构的转换 由于现在内存模型为SPARSEMEM模型,所以现在pfn到page结构的转换并不是像以前一样通过mem_map page数组计算得到。 稀 阅读全文
摘要:
概念 系统总线(System Bus) 系统总线是用来连接计算机硬件系统中若干主要部件(如:CPU、主存、I/O模块)的总线。Intel公司新推出的芯片组中,对系统总线赋予了特定的含义,把CPU连接到北桥芯片的总线称为系统总线,也称为处理器总线,或叫前端总线(Front Side Bus)。CPU通 阅读全文
摘要:
SystemTap脚本里面嵌入C语言代码需要在每个大括号前面加%号。(猜测应该与yacc和lex有关) 获取脚本参数要用STAP_ARG_前缀 一般long等返回值用STAP_RETURN,而string类型返回值要用snprintf、strncat等方式把字符串复制到STAP_RETVALUE里面 阅读全文