今天讲的全是进程,这点在大二的时候就困惑了我,结果那个时候我就止步不前了,这里主要讲的是为何引入进程、进程在Linux空间是如何实现的,并且描述了所有与进程执行相关的数据结构,最后还会讲到异常和中断等异步执行流程,它们是如何和Linux内核进行交互的,下面我就来具体介绍一下进程的奥妙。
今天讲的全是进程,这点在大二的时候就困惑了我,结果那个时候我就止步不前了,这里主要讲的是为何引入进程、进程在Linux空间是如何实现的,并且描述了所有与进程执行相关的数据结构,最后还会讲到异常和中断等异步执行流程,它们是如何和Linux内核进行交互的,下面我就来具体介绍一下进程的奥妙。
在Linux内核中,许多网络、文件系统等子系统都使用定时器来实现其功能。软定时器基于内核定时器服务机制,使用内核时钟进行定时操作。软件定时器通常使用定时器系统进程,硬件定时器通常使用系统内核中断。
《Linux内核设计与实现》简称LKD,从入门开始,介绍了诸如进程管理、系统调用、中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等方面,内容比较浅显易懂,个人认为是内核新人首先必读的书籍。《深入理解Linux虚拟内存管理》简称LVMM,是一本介绍Linux虚拟内存管理机制的书。
单独的汇编代码文件与单独的c语言文件分别编译成目标文件后,一起链接成可执行程序。在c语言中嵌入汇编代码,直接编译生成可执行程序。在内核文件中,有些比较长的汇编代码真不适合用内联汇编完成,还是需要专门写个汇编代码文件专项专用。
在上一章我们已经说明了uart驱动的开发流程,本章我们就不再介绍uart相关的接口实现,仅通过实现一个虚拟的串口控制器程序,用以说明虚拟串口的开发流程。
内核有什么区别?应用程序如果需要进入内核空间,就需要通过系统调用,下面来看看系统调用的过程:内核设计的理念主要有这几个点:分别为宏内核、微内核、混合内核的操作系统结构华为的鸿蒙操作系统的内核架构就是微内核。模块,这个就是最小版本的内核,而整个内核实现是一个完整的程序,含有非常多模块。对于内核的架构一般有这三种类型:
书名:Linux内核源代码情景分析本书采取类似于英语教学中行之有效的情景会话的教学方法,全面深入地剖析了Linux最新版本(2.0)核心源代码,并对Linux核心的独特优点和需要进一步改进的问题作了精辟的评述。