自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 FreeBSD 线程调度

前言FreeBSD的CPU执行单位是线程,线程调度其实就是多任务下,CPU数远小于任务数时的一种分配CPU计算资源的策略,本文不介绍源码,只给出要掌握操作系统调度需要掌握的几个点正文machine-independent CPU 上下文切换流程线程调度优先级和调度class线程抢占原理线程调度队列的管理sleep数据结构和sleep,wakeup处理流程互斥睡眠锁的管理以及优先级...

2019-07-22 13:38:27 473

原创 FreeBSD 内存管理中的 pv_entry

前言研读过FreeBSD的内存源代码,内核的内存源代码大致可以分为3个层次:最底层的是4级页表:PML4, PDP, PD, PT 掌管VA到PA的转换;中间层是页面的管理,包括:页面分配管理:初始化、申请和释放遵循伙伴系统(伙伴系统依赖的是FreeList, FreeList 是页面为指数倍数的页面集合)页面资源管理:调用机制 和 页面替换机制涉及的数据结构有:vmspace vm...

2019-07-22 13:18:47 613

原创 FreeBSD lock 内核源码解析

前言此文主要介绍FreeBSD lock的内核实现,只是几年前的随笔记录,希望能提供帮助。lock的实现和进程调度相关,有兴趣的需要联合进程调度一起分析,当把这些串联起来就发现操作系统就是个哲学系统,不是什么不可逾越的天堑,国内没有成熟的操作系统只是这方面没有从0-N的积累,没有培养国产操作系统的土壤。正文propagate_priority 是在turnstile_wait 中被调用(能...

2019-07-22 11:37:56 1034

原创 FreeBSD 进程创建 + ELF 格式 + 进程0,进程1的内核源码分析

前言本文对进程创建涉及的内核动作加以分析,希望对这方面感兴趣的各位有帮助正传在FreeBSD系统里面关于创建进程的系统调用有: (kern_fork.c)fork, rfork, vfork 对应于内核的是实现是:sys_fork, sys_rfork, sys_vfork, 其实这三个内核实现都是以不同的flag来调用 fork1 其中与内存有关的较重要的函数之一是 vmspace_f...

2019-07-22 11:21:41 3025

原创 FreeBSD ixgbe网卡驱动相关数据结构讲解

前言此文是5、6年前维护网卡驱动和优化时记录总结,当时10G设备绝对主流,1G网卡还分单队列和多队列两种,几年过去网络设备上40G网卡大行其道,100G网卡也是纷至沓来,但不管带宽如何升级,其实现原理类似。正传ixgbe.h 定义的 的相关结构:/*The transmit ring, one per queue*/struct tx_ring {struct adapter ...

2019-07-22 11:08:32 893

原创 TLS 1.3协议分析

2年多以前学习总结TLS1.3文档的笔记,希望里面的一些分析对有困惑的同行有所帮助截止目前2017/04/07 已知实现TLS1.3的厂商有ngix 且在firefox 中49版本以经支持但没有默认打开,在52版本中已经默认打开; OpenSSL 将在1.1.1版本中支持;要使用支持TLS1.3的原因:There are a couple of reasons why TLS 1.3 i...

2019-07-22 10:44:58 3778

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除