Linux Kernel
xzplinks
青冥不见影。。。
展开
-
巧夺天工的 kfifo
Linux kernel里面从来就不缺少简洁,优雅和高效的代码,只是我们缺少发现和品味的眼光。在Linux kernel里面,简洁并不表示代码使用神出鬼没的超然技巧,相反,它使用的不过是大家非常熟悉的基础数据结构,但是kernel开发者能从基础的数据结构中,提炼出优美的特性。 kfifo就是这样的一类优美代码,它十分简洁,绝无多余的一行代码,却非常高效。 关于kfifo信息如下:转载 2017-10-20 11:29:17 · 294 阅读 · 0 评论 -
Linux内核数据结构kfifo详解
Linux kernal 鬼斧神工,博大精深,让人叹为观止,拍手叫绝。然匠心独运的设计并非扑朔迷离、盘根错节,真正的匠心独运乃辞简理博、化繁为简,在简洁中昭显优雅和智慧,kfifo就是这样一种数据结构,它就是这样简约高效,匠心独运,妙不可言,下面就跟大家一起探讨学习。一、kfifo概述本文分析的原代码版本2.6.32.63kfifo的转载 2017-10-20 13:39:28 · 1231 阅读 · 1 评论 -
《Linux内核设计与实现》读书笔记(一)-内核简介
《Linux内核设计与实现》读书笔记(一)-内核简介本篇简单介绍内核相关的基本概念。主要内容:单内核和微内核内核版本号 1. 单内核和微内核 原理优势劣势单内核整个内核都在一个大内核地址空间上运行。1. 简单。2. 高效:所有内核都在一个大的地转载 2017-10-24 09:22:34 · 269 阅读 · 0 评论 -
《Linux内核设计与实现》读书笔记(二)- 内核开发的准备
在尝试内核开发之前,需要对内核有个整体的了解。主要内容:获取内核源码内核源码的结构编译内核的方法内核开发的特点 1. 获取内核源码内核是开源的,所有获取源码特别方便,参照以下的网址,可以通过git或者直接下载压缩好的源码包。http://www.kernel.org 2. 内核源码的结构 目录说明转载 2017-10-24 09:26:11 · 265 阅读 · 0 评论 -
《Linux内核设计与实现》读书笔记(三)- Linux的进程
进程是所有操作系统的核心概念,同样在linux上也不例外。主要内容:进程和线程进程的生命周期进程的创建进程的终止1. 进程和线程进程和线程是程序运行时状态,是动态变化的,进程和线程的管理操作(比如,创建,销毁等)都是有内核来实现的。Linux中的进程于Windows相比是很轻量级的,而且不严格区分进程和线程,线程不过是一种特殊的进程。所以下面只讨论进程,只有转载 2017-10-24 09:39:58 · 268 阅读 · 0 评论 -
《Linux内核设计与实现》读书笔记(四)- 进程的调度
主要内容:什么是调度调度实现原理Linux上调度实现的方法调度相关的系统调用1. 什么是调度现在的操作系统都是多任务的,为了能让更多的任务能同时在系统上更好的运行,需要一个管理程序来管理计算机上同时运行的各个任务(也就是进程)。这个管理程序就是调度程序,它的功能说起来很简单:决定哪些进程运行,哪些进程等待决定每个进程运行多长时间此外,为了获得更好的用户体转载 2017-12-06 13:17:02 · 245 阅读 · 0 评论 -
《Linux内核设计与实现》读书笔记(五)- 系统调用
主要内容:什么是系统调用Linux上的系统调用实现原理一个简单的系统调用的实现1. 什么是系统调用简单来说,系统调用就是用户程序和硬件设备之间的桥梁。用户程序在需要的时候,通过系统调用来使用硬件设备。系统调用的存在,有以下重要的意义:1)用户程序通过系统调用来使用硬件,而不用关心具体的硬件设备,这样大大简化了用户程序的开发。 比如:用户转载 2017-12-06 13:22:20 · 296 阅读 · 0 评论 -
《Linux内核设计与实现》读书笔记(六)- 内核数据结构
内核数据结构贯穿于整个内核代码中,这里介绍4个基本的内核数据结构。利用这4个基本的数据结构,可以在编写内核代码时节约大量时间。主要内容:链表队列映射红黑树 1. 链表链表是linux内核中最简单,同时也是应用最广泛的数据结构。内核中定义的是双向链表。 1.1 头文件简介内核中关于链表定义的代码位于: include/linux/list.转载 2017-12-06 13:19:06 · 270 阅读 · 0 评论