本文只讨论执行"mount none /mnt/huge -t hugetlbfs"命令后,mount系统调用的执行过程(基于Linux-3.4.51),不涉及进程相关的细节. mount系统调用的内核实现: SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name, char __user *, type, unsigned long, flags, void __user *, data) { i…
一.前言 个人感觉学习Flink其实最不应该错过的博文是Flink社区的博文系列,里面的文章是不会让人失望的.强烈安利:https://ververica.cn/developers-resources/. 本文是自己第一次尝试写源码阅读的文章,会努力将原理和源码实现流程结合起来.文中有几个点目前也是没有弄清楚,若是写在一篇博客里,时间跨度太大,但又怕后期遗忘,所以先记下来,后期进一步阅读源码后再添上,若是看到不完整版博文的看官,对不住! 文中若是写的不准确的地方欢迎留言指出. 源码系列基于Fl…
一. jwt token校验源码简析 1.1 前言 之前使用jwt签发了token,里面的头部包含了加密的方式.是否有签名等,而载荷中包含用户名.用户主键.过期时间等信息,最后的签名还使用了摘要算法进行不可逆的加密. 同时检验签名时还需进行签名的碰撞检测,判断该token是否合法.jwt提供了一个校验token的认证方法,使用时只需要CBV中进行局部身份验证配置即可.使用如下: from rest_framework_jwt.authentication import JSONWebTokenA…
学习资料:开涛的<跟我学SpringMVC.pdf> 众所周知,springMVC是比较常用的web框架,通常整合spring使用.这里抛开spring,单纯的对springMVC做一下总结. 概念 HandlerMapping:处理器映射,对请求的URL进行映射为具体的处理器(如果有拦截器也包含拦截器,会将Handler和多个HandlerInterceptor封装为HandlerExecutionChain对象) HandlerAdapter:处理器适配器,适配不同类型的处理器,如Cont…
昨天编译了一个linux 内核源码,遇到一些问题, 今天把我遇到的问题和解决方法分享给大家.希望可以帮助到需要的人. 1.检查是否安装了相应的包 我第一次编译的时候只安装的“Development Tools” 包,”Compatibility Libraries“和”Development and Creative Workstation“没有安装 [root@localhost yum.repos.d]# yum groups list #查看包组列表 Loaded plugins: fas…
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 引言 上期文章linux调度器源码分析 - 概述(一)已经把调度器相关的数据结构介绍了一遍,本篇着重通过代码说明调度器在系统启动初始化阶段是如何初始化和工作的.通过上期文章我们知道,在多核CPU和SMP系统中,每个CPU(多核COU中的每个核)都有自己的struct rq队列,而rq队列中又有着自己的struct cfs_rq和struct rt_rq.在初始化时就是对这三个结构进行初始化. init_tas…
AFNetworking基本是苹果开发中网络请求库的标配,它是一个轻量级的网络库,专门针对iOS和OS X的网络应用设计,具有模块化的架构和丰富的APIs接口,功能强大并且使用简单,深受苹果应用开发人员的喜爱. 本文主要介绍一下AFNetworking(版本:3.1.0)的模块结构.请求的执行过程.网络状态监测以及网络安全的处理等等,从而对AFNetworking的具体功能.执行过程有一个大致的了解,在实际的项目开发过程中,能够更好的进行应用. 一.结构 下面是AFNetworking的源码结构…
背景 本文基于JDK 11,主要介绍FutureTask类中的run().get()和cancel() 方法,没有过多解析相应interface中的注释,但阅读源码时建议先阅读注释,明白方法的主要的功能,再去看源码会更快. 文中若有不正确的地方欢迎大伙留言指出,谢谢了! 1.FutureTask类图 1.1 FutureTask简介 FutureTask类图如下(使用IDEA生成).如图所示,FutureTask实现了Future接口的所有方法,并且实现了Runnable接口,其中,Runnab…
1.概述 Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理.例如通过拦截器可以进行权限验证.记录请求信息的日志.判断用户是否登录等. 2.简单示例 2.1.继承 HandlerInterceptorAdapter 抽象类实现一个拦截器.代码如下: public class DemoInterceptor extends HandlerInterceptorAdapter { @Override    pu…
1.进程生命周期 Linux操作系统属于多任务操作系统,系统中的每个进程能够分时复用CPU时间片,通过有效的进程调度策略实现多任务并行执行.而进程在被CPU调度运行,等待CPU资源分配以及等待外部事件时会属于不同的状态.下图描述了进程之间的状态关系: 运行状态:表示进程此刻正在运行.注,图示中的“运行”状态,并不对应TASK_RUNNING状态,TASK_RUNNING实际表示当前进程被填入CPU就绪队列,属于图示“等待”状态,后续在源码分析中会详细说明: 等待状态:表示进程外部事件已满足,并已…