linux内核
Tinus Chen
这个作者很懒,什么都没留下…
展开
-
中断描述符(IDT)、任务门、中断门、陷阱门
什么是中断描述符表 中断描述符IDT表示一个系统表,它与中断或异常向量相联系。每一个中断或异常向量在这个系统表中有对应的中断或异常处理程序入口地址。中断描述符的每一项对应一个中断或异常向量,每个向量由8个字节组成。因此,最多需要256*8=2048字节来存放IDT。 在运行中断之前,必须初始化IDT(中断描述符表)。任务门、中断门、陷阱门 IDT包含三种类型的中断...转载 2018-07-17 09:57:50 · 4787 阅读 · 0 评论 -
make menuconfig/.config/Kconfig解析
在对linux进行编译,常用的命令是make menuconfig,使用图形界面来对整个系统进行裁剪。当然,除了这条指令,还包括很多配置命令,比如make defconfig, make oldconfig等。这里主要就make menuconfig的执行过程进行解析。一.准备工作包括(交叉)编译环境的建立,linux源码的下载与解压等。二.初步介绍 跟make m...转载 2017-11-08 13:46:11 · 636 阅读 · 0 评论 -
KConfig、Makefile详解以及ARM平台Linux内核的编译
本文主要介绍Linxu2.6的内核配置系统。 如果你浏览一下源代码目录,就可以发现源码目录及其子目录中有很多的KConfig文件和Makefile文件。这些文件什么作用呢?正是这些文件组成了Linux2.6的内核配置系统。 一、make menuconfig的背后------KConfig文件的组织 有没有想过,我们make menuconfig后,显示的那个菜单列表...转载 2017-11-08 15:31:24 · 2076 阅读 · 0 评论 -
uboot分析---make配置过程
config的流程uboot的顶层配置主要依靠 Makefile mkconfig boards.cfg以及include目录下面的config.mk config.h几个工程文件管理进行选择。uboot的配置就是通过键入相应的命令将相应的Makfile变量赋值,通过你的配置,Makefile相应的变量就知道编译哪个平台下的哪个cpu的哪个版本的开发板。注意:不同版本的uboot的配...原创 2018-11-24 17:33:20 · 523 阅读 · 0 评论 -
寄存器以及嵌入式汇编语法及使用
一、嵌入式汇编语法: 1、格式1 asm("汇编语句" //"("之前用asm 或 __asm__ 意为"()"的内容是汇编语句2 :输出寄存器 3 :输入寄存器4 :会被修改的寄存器); 除第一行以外,后面带冒号的行若不使用就都可一省略。 输出寄存器:表示当这段嵌入汇...转载 2018-11-22 15:12:27 · 1865 阅读 · 0 评论 -
【转】Linux内存管理(最透彻的一篇)
摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无论市...转载 2018-10-18 16:50:54 · 258 阅读 · 0 评论 -
linux内存管理的 伙伴系统和slab机制
伙伴系统Linux内核中采用了一种同时适用于32位和64位系统的内存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系统中,用到了四级页表。四级页表分别为: 页全局目录(Page Global Directory)页上级目录(Page Upper Directory)页中间目录(Page Middle Directory)页表(Page Table)页全局目录包含若干页...转载 2018-10-18 14:56:47 · 532 阅读 · 0 评论 -
linux0.11,启动流程
在linux0.11版本的boot目录下有三个汇编代码文件:bootsect.s,setup.s和head.s。 这三个文件虽然都是汇编文件,但是他们语法和所使用的编译器是不一样的,bootsect.s和setup.s是实模式运行的16位代码程序,采用的是intel的汇编语法并且使用的是intel 8086汇编编译器as86和连接器ld86,而head.s是保护模式。采用的是GNU的汇编格式...原创 2018-07-15 17:59:49 · 681 阅读 · 0 评论 -
开始阅读linux内核0.11版本。
最近开始阅读linus如何创造linux的历程,膜拜大神,并且开始学习linux内核。警戒自己,不要放弃,努力研读。原创 2018-07-15 17:43:20 · 911 阅读 · 0 评论 -
linux0.11下的中断机制分析
异常就是控制流中的突变,用来响应处理器状态中的某些变化。当处理器检测到有事件发生时,它就会通过一张叫做异常表的跳转表,进行一个间接过程调用,到一个专门设计用来处理这类事件的操作系统子程序,这张表即中断描述符表IDT。本文将针对Linux0.11代码进行分析和调试,来了解中断机制,主要分析以下三个问题:1. 中断描述符表的建立。2. 一般中断的处理过程,以0x3号中断为例。3. 系...转载 2018-07-18 10:19:36 · 461 阅读 · 0 评论 -
中断处理的行为和长调用(段间子程序调用)的行为
1、两过程定义与作用 子程序是微机基本程序结构中的1种,基本程序结构包括顺序(简单)、分支(判断)、循环、子程序和查表等5种。 子程序是一组可以公用的指令序列,只要给出子程序的入口地址就能从主程序转入子程序。子程序在功能上具有相对的独立性,在执行主程序的过程中往往被多次调用,甚至被不同的程序所调用。一般微机首先执行主程序,碰到调用指令就转去执行子程序,子程序执行完后,返回...原创 2018-07-18 10:16:45 · 1655 阅读 · 0 评论 -
linux0.11 C嵌入汇编
概述:linux内核源码中,有很多C语言中嵌入了汇编语句,如何理解这些汇编语句,对理解内核有很重要的作用。 具有输入和输出参数的嵌入式汇编语句的基本格式为: asm("汇编语句" :输出寄存器 :输入寄存器 :...原创 2018-07-17 17:56:23 · 542 阅读 · 0 评论 -
linux下 signal信号机制的透彻分析与各种实例讲解
转自:http://blog.sina.com.cn/s/blog_636a55070101vs2d.html转自:http://blog.csdn.net/tiany524/article/details/17048069转自:https://blog.csdn.net/u012183924/article/details/53888972首先感谢上述三位博主的详细讲解。本...转载 2019-02-28 14:19:44 · 534 阅读 · 0 评论