博客专栏  >  综合   >  Linux内核学习

Linux内核学习

我个人了解Linux内核的过程,包括感悟和笔记什么的,希望能够给大家以帮助

关注
1 已关注
34篇博文
  • 读薄《Linux 内核设计与实现》(6) - 虚拟文件系统

    这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第 VI 篇,本文主要讲了以下问题:Linux 虚拟文件系统的概念、相关接口等内容。 0x00 虚拟文件系统概念 虚拟文件系统(VFS)为用户...

    2016-11-07 21:24
    810
  • 读薄《Linux 内核设计与实现》(5) - 定时器、时间管理和内存管理

    这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第 V 篇,本文主要讲了以下问题:Linux 内核中的时间概念和时间表示,硬件时钟和定时器以及时间中断和内存管理的相关知识。

    2016-10-23 14:00
    525
  • 读薄《Linux 内核设计与实现》(4) - 中断与同步

    这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第 IV 篇,本文主要讲了以下问题:中断和中断处理程序的概念与实现原理、Linux 中的下半部以及内核同步方法。 0x00 中断和中断处理程序...

    2016-06-30 22:14
    2340
  • 读薄《Linux 内核设计与实现》(3) - 系统调用

    这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第 III 篇,本文主要讲了以下问题:系统调用的概念、系统调用的实现原理与过程以及如何在 Linux 中增加一个系统调用。 0x00 系统调用...

    2016-06-25 10:33
    2427
  • 读薄「Linux 内核设计与实现」(2) - 进程管理和调度

    这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第 II 篇,本文主要讲了以下问题:进程管理的任务、进程管理与其他模块的依赖关系、进程描述符和任务队列、进程的创建、线程的实现、进程的终止、进...

    2016-06-23 02:07
    2363
  • 读薄「Linux 内核设计与实现」(1) - 从内核出发

    这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第一篇,本文主要讲了两个问题:内核编程的特点以及 GNU C 在内核开发中的特点。 0x00 内核编程特点 无 libc 库,不能访问标准 C...

    2016-06-07 02:28
    3027
  • I 位向量的实现与应用

    这篇文章是《读厚》系列博客的第一篇,我们在《编程珠玑》的第一章 - 开篇中就了解了位向量是什么,《编程珠玑》的作者使用位向量来解决了一个海量数据排序问题,这篇文章我们来深入的了解一下位向量的实现与应用...

    2016-05-15 22:30
    3281
  • PART 2: 使 Shell 能读取命令

    这篇文章是《动手写 Shell》系列文章的第 篇。上篇文章中,我们已经完成了我们动手 Shell 的第一步:Shell 的提示符。在这篇文章中,我们开始使得我们的 Shell 能够开始读取命令,并且...

    2016-04-23 16:08
    2914
  • PART 1: Shell 提示符的实现

    这篇文章是《动手写 Shell》系列文章的第 篇,在这篇文章中,我们先完成一个 Shell 中最基本的功能 - Shell 提示符的实现。在这篇文章中,我会介绍一下实现的思路,以及介绍下用到的系统 ...

    2016-04-10 13:20
    1871
  • 在 QT 中使用 libusb 检测 MAC 上的 USB 设备

    最近在用 QT 做一个 MAC 上的 Kindle 批注管理软件,遇到的第一个问题就是检测 MAC 上连接的 USB 设备的状态。如果是在 Cocoa 进行开发,会有对应的系统 API 可供使用,但是...

    2016-01-27 08:44
    2381
  • Ashmem 对 Android 内存分配与共享的增强

    Ashmem 是什么?Ashmem(Anonymous Shared Memory 匿名共享内存),是在 Android 的内存管理中提供的一种机制。它基于mmap系统调用,不同的进程可以将同一段物理...

    2015-12-10 22:40
    2232
  • 分析Linux内核创建一个新进程的过程

    新进程的执行源于以下前提: - dup_task_struct中为其分配了新的堆栈 - 调用了sched_fork,将其置为TASK_RUNNING - copy_thread中将父进程的寄存器上下...

    2015-07-29 12:43
    1290
  • 分析system_call中断处理过程

    分析system_call中断处理过程使用gdb跟踪分析一个系统调用内核函数(以 sys_chmod为例) 启动调试内核 qemu -kernel linux-3.18.6/arch/x86/boot...

    2015-07-19 09:40
    933
  • 浅析 Linux 系统调用

    浅析 Linux 系统调用用户态、内核态以及中断 具有高执行级别的程序可以执行特权指令 intel X86 CPU 具有4种级别:0 ~ 3 Linux 只用了0和3(0表示内核态,3表示用户态) 特...

    2015-07-11 21:46
    747
  • 跟踪分析Linux内核的启动过程

    跟踪分析Linux内核的启动过程使用 gdb 跟踪调试内核 使用 qemuqemu -kernel linux-3.18.6 /arch/x86/boot/bzImage -initrd rootfs...

    2015-07-10 16:18
    833
  • 完成一个简单的时间片轮转多道程序内核代码(二)

    完成一个简单的时间片轮转多道程序内核代码重要汇编代码分析 asm volatile( "movl %1,%%esp\n\t" "pushl %1\n\t" ...

    2015-07-10 10:29
    803
  • 完成一个简单的时间片轮转多道程序内核代码(一)

    完成一个简单的时间片轮转多道程序内核代码先上代码: myPCB.h/* * linux/mykernel/mypcb.h * * describe PCB * * by Yuanhan...

    2015-07-07 23:26
    640
  • 几种基本汇编指令详解

    几种基本汇编指令详解常见寄存器 寄存器 16位 32位 64位 累加寄存器 AX EAX RAX 基址寄存器 BX EBX RBX 计数寄存器 C...

    2015-07-07 11:02
    1367
  • 反汇编一个简单的C程序并分析

    反汇编一个简单的C程序并分析C 源码:int g(int x) { return x+1; }int f(int x) { return g(x); }int main(void) {...

    2015-07-03 22:23
    884
  • Linux-中断和中断处理

    1.中断 #中断使得硬件得以发出通知给处理器,本质上是一种电信号 #中断随时可以产生,内核随时会被打断 #不同设备的中断不同,每个中断都通过一个唯一的数字标识,称为IRQ(中断请求)...

    2015-06-26 08:18
    881

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部