<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Mathysicheman的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Mathysicheman</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mathysicheman]]></copyright><item><title><![CDATA[《Understanding the Linux kernel》学习笔记 Chapter 7: Process Scheduling]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/65325724</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/65325724</guid><author>Mathysicheman</author><pubDate>Fri, 24 Mar 2017 06:56:38 +0800</pubDate><description><![CDATA[7.1 Scheduling Policy
The set of rules used to determine when and how to select a new process to run is called scheduling policy.
Linux scheduling is based on the time sharing technique.
The schedu]]></description><category></category></item><item><title><![CDATA[《Understanding the Linux kernel》学习笔记 Chapter 13: I/O Architecture and Device Drivers]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/60919993</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/60919993</guid><author>Mathysicheman</author><pubDate>Sat, 18 Mar 2017 05:18:50 +0800</pubDate><description><![CDATA[13.1 I/O Architecture
Any I/O device is hosted by one, and only one, bus.
The data path that connects a CPU to an I/O device is generically called an I/O bus.
The I/O device by means of a hierarchy]]></description><category></category></item><item><title><![CDATA[《Understanding the Linux kernel》学习笔记 Chapter 12: The Virtual Filesystem]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/60878096</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/60878096</guid><author>Mathysicheman</author><pubDate>Wed, 08 Mar 2017 18:22:14 +0800</pubDate><description><![CDATA[Linux manages to support multiple filesystem types in the same way other Unix variants do, through a concept called the Virtual Filesystem.
The idea behind the Virtual Filesystem is to put a wide ran]]></description><category></category></item><item><title><![CDATA[《Understanding the Linux kernel》学习笔记 Chapter 4: Interrupts and ExceptionsM]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/60379296</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/60379296</guid><author>Mathysicheman</author><pubDate>Sun, 05 Mar 2017 00:40:50 +0800</pubDate><description><![CDATA[An interrupt is usually defined as an event that alters the sequence of instructions executed by a processor.
Interrupts are often divided into synchronous and asynchronous interrupts:


Synchrono]]></description><category></category></item><item><title><![CDATA[《Understanding the Linux kernel》学习笔记 Chapter 3: Processes]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/60158630</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/60158630</guid><author>Mathysicheman</author><pubDate>Sat, 04 Mar 2017 00:03:08 +0800</pubDate><description><![CDATA[3.1 Processes, Lightweight Processes, and Threads
A process is an instance of a program in execution.
From the kernel's point of view, the purpose of a process is to act as an entity to which system]]></description><category></category></item><item><title><![CDATA[《Understanding the Linux kernel》学习笔记 Chapter 2: Memory Addressing]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/54772613</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/54772613</guid><author>Mathysicheman</author><pubDate>Sun, 29 Jan 2017 04:10:36 +0800</pubDate><description><![CDATA[Memory Addresses
When dealing with 80x86 microprocessor, we have to distinguish three kinds of addresses: logical address, linear address (also known as virtual address) and physical address.


Se]]></description><category></category></item><item><title><![CDATA[《Understanding the Linux kernel》学习笔记 Chapter 1: Introduction]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/54765917</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/54765917</guid><author>Mathysicheman</author><pubDate>Sat, 28 Jan 2017 01:33:00 +0800</pubDate><description><![CDATA[Basic Operating System Concepts
An Overview of the Unix Filesystem
An Overview of Unix Kernels]]></description><category></category></item><item><title><![CDATA[<<Linux内核完全剖析 --基于0.12内核>>学习笔记 第4章 80x86保护模式及其编程 4.8 保护模式编程初始化]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/53474221</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/53474221</guid><author>Mathysicheman</author><pubDate>Tue, 06 Dec 2016 02:40:07 +0800</pubDate><description><![CDATA[4.8.1 进入保护模式时的初始化操作
        在处理器能够被切换到保护模式下运行之前，必须在内存中先设置好保护模式下使用的数据结构的基本信息。这些数据结构包括如下几种：保护模式中断描述符表IDT；全局描述符表GDT；任务状态段TSS；局部描述符表LDT；若使用分页机制，则起码需要设置一个页目录和一个页表；处理器切换到保护模式下运行的代码段；含有中断和异常处理程序的代码模块。]]></description><category></category></item><item><title><![CDATA[<<Linux内核完全剖析 --基于0.12内核>>学习笔记 第4章 80x86保护模式及其编程 4.7 任务管理]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/53458809</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/53458809</guid><author>Mathysicheman</author><pubDate>Mon, 05 Dec 2016 01:33:07 +0800</pubDate><description><![CDATA[任务（Task）是处理器可以分配、调度、执行和挂起的一个工作单元。
        任务切换会把控制权完全转移到一个新的执行环境，即新任务的执行环境。这种转移操作要求保存处理器中几乎所有寄存器的当前内容，包括标记寄存器EFLAGS和所有段寄存器。任务切换不会把任何信息压入堆栈中，处理器的状态信息都被保存在内存中称为任务状态段（Task state segment）的数据结构中。
4.7.1 任]]></description><category></category></item><item><title><![CDATA[<<Linux内核完全剖析 --基于0.12内核>>学习笔记 第4章 80x86保护模式及其编程 4.6 中断和异常处理]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/53458100</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/53458100</guid><author>Mathysicheman</author><pubDate>Mon, 05 Dec 2016 00:01:19 +0800</pubDate><description><![CDATA[中断（Interrupt）和异常（Exception）是指明系统、处理器或当前执行程序（或任务）的某处出现一个事件，该事件需要处理器进行处理。通常，这种事件会导致执行控制被强迫从当前运行转移到被称为中断处理程序（interrupt handler）或异常处理程序（exception handler）的特殊软件函数或任务中。处理器响应中断或异常所采取的行动被称为中断/异常服务（处理）。
4.6.1]]></description><category></category></item><item><title><![CDATA[<<Linux内核完全剖析 --基于0.12内核>>学习笔记 第4章 80x86保护模式及其编程 4.5 保护]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/53456991</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/53456991</guid><author>Mathysicheman</author><pubDate>Sun, 04 Dec 2016 22:04:51 +0800</pubDate><description><![CDATA[保护机制可以被用于分段和分页机制。处理器寄存器的2个位定义了当前执行程序的特权级，称为当前特权级（Current Privilege Level，CPL）。在分段和分页地址转换过程中，处理器将对CPL进行验证。
        通过设置控制寄存器CR0的PE标志（位0）可以让处理器工作在保护模式下，从而也就开启了分段保护的模式。设置控制寄存器CR0的PG标志（位31）可以开启分页机制，同时也开启]]></description><category></category></item><item><title><![CDATA[<<Linux内核完全剖析 --基于0.12内核>>学习笔记 第4章 80x86保护模式及其编程 4.4 分页机制]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/53456375</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/53456375</guid><author>Mathysicheman</author><pubDate>Sun, 04 Dec 2016 20:52:39 +0800</pubDate><description><![CDATA[分页机制是80x86内存管理机制的第二部分。它在分段机制的基础上完成虚拟（逻辑）地址到物理地址转换的过程。分段机制把逻辑地址转换成线性地址，而分页则把线性地址转换成物理地址。
        通过设置控制寄存器CR0的PG位可以启用分页机制。如果PG=1，则启用分页操作，处理器会使用所描述的机制将线性地址转换成物理地址。如果PG=0，则禁用分页机制，此时分段机制产生的线性地址被直接用作物理地址。]]></description><category></category></item><item><title><![CDATA[<<Linux内核完全剖析 --基于0.12内核>>学习笔记 第4章 80x86保护模式及其编程 4.3 分段机制]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/53455768</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/53455768</guid><author>Mathysicheman</author><pubDate>Sun, 04 Dec 2016 19:08:03 +0800</pubDate><description><![CDATA[4.3.1 段的定义
       段是虚拟地址到线性地址转换机制的基础。每个段由以下几个参数定义：
       （1）段基地址（Base Address）：指定段在线性地址空间中的开始地址。
       （2）段限长（Limit）：是虚拟地址空间中段内最大可用偏移位置。
       （3）段属性（Attributes）：指定段的属性。


       为了把逻辑地址转换成一]]></description><category></category></item><item><title><![CDATA[<<Linux内核完全剖析 --基于0.12内核>>学习笔记 第4章 80x86保护模式及其编程 4.2 保护模式内存管理]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/53450448</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/53450448</guid><author>Mathysicheman</author><pubDate>Sun, 04 Dec 2016 02:13:44 +0800</pubDate><description><![CDATA[4.2.1 内存寻找
内存寻址是指对存储在内存中的某个指定数据对象的地址进行定位。
4.2.2 地址变换
4.2.3 保护]]></description><category></category></item><item><title><![CDATA[<<Linux内核完全剖析  --基于0.12内核>> 学习笔记 第4章 80x86保护模式及其编程 4.1 80x86系统寄存器和系统指令]]></title><link>https://blog.youkuaiyun.com/Mathysicheman/article/details/53416182</link><guid>https://blog.youkuaiyun.com/Mathysicheman/article/details/53416182</guid><author>Mathysicheman</author><pubDate>Thu, 01 Dec 2016 02:58:35 +0800</pubDate><description><![CDATA[4.1 80x86系统寄存器和系统指令
4.1.1 标志寄存器
1
4.1.2 内存管理寄存器
4.1.3 控制寄存器
4.1.4 系统指令]]></description><category></category></item></channel></rss>